Hyper-V’nin çıkışı ile birlikte pek çok şirket Fiziksel sunucularını Hyper-V üzerine taşımaya başladı. Bununla beraber bu taşıma esnasında da pek çok sorun ile baş etmek durumunda kaldı. Bu sorunlardan biri de NLB olarak yapılandırılmış sunucuların sanala taşıma esnasındaki problemlerdir.
NLB Unicast Mode’da çalışan Windows Server 2008 R2 Hyper-V üzerinde VM yapılandırıldığında virtual IP adrese ya da dedicated IP Adres üzerinden ping atılamama problemi ile karşılaşılır.
Bu durumdaki sunucunun network kartı network monitor, wireshark … vb programlar ile dinlenerek atılan ping paketlerini incelerseniz, bir ARP isteğinin olduğunu görürsünüz. Bu da NLB node’unun MAC adresini isteyen client’ın cevap vermesi için izin verir ama herhangi bir yanıt alamaz. NLB üzerinde incelenen bu paketler, ARP isteğine giden node isteklerini gösterecek ama bu paket client makineye ulaşmayacaktır.
Kaynak mac adresinin ile Virtual machine’e ait olan Virtual NIC’in MAC adresinin vermiş olduğu ARP yanıtı aynı olmadığından dolayı Hyper-V Virtual Switch ARP response paketlerini düşürecektir. Bunun en büyük nedeni ise şudur: ARP response paketi kaynak MAC adresinin Virtual Machine’nin ayarları üzerindeki MAC adresiyle uyuşmadığında, Hyper-V Virtual Switch, ARP response paketini düşürmesidir. Unicast NLB node’ları ARP isteğini yine bir ARP tepkisi ile karşılık verir. Ethernet kaynak adres alanındaki kendine ait olan gerçek MAC adreslerini kullanmazlar. Bunun sebebi ise Unicast NLB’de Virtual MAC adresi 02-BF-XX-XX-XX-XXNIC’in gerçek MAC adresini devre dışı bırakmasıdır. Bu yüzden node’lar spoof MAC adreslerini ve (01-HostID-XX-XX-XX-X)NLB node’larının sanal MAC adreslerini network switch’inin öğrenmesini engellemek için tüm dış paketlerde kullanır.
Windows Server 2008 R2’deki sanal switch default olarak tüm portlarda MAC spoofing özelliği kapalı olarak gelmektedir. (Resim-1) Bu da resimde de gösterildiği gibi gerçek olmayan MAC adreslerini tespit ettiğinde gönderim paketininin kesilmesini sağlamaktadır.
Resim 1
Unicast NLB node’larında çalışan VM’lerinizde bu problemi çözmenin en kolay yolu enable MAC address spoofing on the network adapter seçeneğini işaretlemenizdir. Aşağıdaki yönergeleri takip ederek VM’lerinizin üzerinde bu özelliği aktif hale getirebilirsiniz. Bu özelliği aktif hale getirebilmeniz için VM’inizin kapalı olması gerekmektedir.
1) Hyper-V Manager’ı açın. İlgili VM’e sağ tıklayıp, Settings bölümüne tıklayın.
2) Spoof özelliğini aktif hale getireceğiniz Network Adapter’i seçin ve Enable spoofing of MAC Addresses kutucuğunu işaretleyin. OK tuşuna basarak settings bölümünden çıkın.
3) Start tuşuna basarak VM’i başlatın.
Resim 2
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
–