Hyper-v上運(yùn)行著的虛擬機(jī),管理員一般都會綁定網(wǎng)絡(luò)到一定的網(wǎng)絡(luò)中并分配網(wǎng)卡,配置網(wǎng)卡屬性,不管它使用的網(wǎng)絡(luò)類型是外部內(nèi)部 還是專用。當(dāng)管理員安裝完成Hyper-v角色以后,Hyper-v就內(nèi)置了256個MAC地址以供虛擬機(jī)使用,這256個MAC地址,也就是MAC地址池。為了很好的在Hyper-V中使用MAC地址功能,微軟買下了00-15-5d作為Hyper-v的MAC地址的廠商標(biāo)識,也就是說,Hyper-v的MAC地址池中,所有地址都是以00-15-5d作為開頭的,更確切的說,Hyper-v系統(tǒng)上運(yùn)行的虛擬機(jī),他的MAC地址的前六位就是00-15-5d,從這一點上,管理員就可以依據(jù)網(wǎng)卡來區(qū)分自己連接的到底是一臺物理機(jī)還是虛擬機(jī),是一臺Hyper-v的虛擬機(jī)還是一臺Vmware的虛擬機(jī)。
通過進(jìn)行MAC地址欺騙,虛擬機(jī)可以將傳出數(shù)據(jù)包中的源MAC地址更改為分配的地址以外的地址
在 DHCP 環(huán)境中,惡意 DHCP 服務(wù)器可攔截 DHCP 客戶端請求,提供錯誤的地址信息。惡意 DHCP 服務(wù)器會導(dǎo)致通訊被路由到惡意中間人,借此對所有通訊進(jìn)行嗅探,隨后轉(zhuǎn)發(fā)到真正的合法目標(biāo)地址。為防范這種中間人攻擊,Hyper-V 管理員可指定哪個 Hyper-V 可擴(kuò)展交換機(jī)端口能用于連接 DHCP 服務(wù)器。來自其他 Hyper-V 可擴(kuò)展交換機(jī)端口的 DHCP 服務(wù)器通訊會被自動丟棄。借此,Hyper-V 可擴(kuò)展交換機(jī)可防范惡意 DHCP 服務(wù)器提供可能導(dǎo)致通訊被重新路由的 IP 地址。
Hyper-V 可擴(kuò)展交換機(jī)能保護(hù)防范惡意虛擬機(jī)通過 ARP 欺騙(IPv4 中也叫做 ARP 病毒)從其他虛擬機(jī)處盜取 IP 地址。通過這種類型的中間人攻擊,惡意虛擬機(jī)可發(fā)送虛假的 ARP 信息,將自己的 MAC 地址關(guān)聯(lián)到不屬于自己的 IP 地址。不受保護(hù)的虛擬機(jī)會將本應(yīng)發(fā)往該 IP 地址的網(wǎng)絡(luò)通訊發(fā)送給惡意虛擬機(jī)的 MAC 地址,而非真正的目標(biāo)位置。對于 IPv6,Windows Server 2012 提供了類似的 ND 欺騙保護(hù)。
Port Mirror (端口鏡像)可以把一個或者多個端口的數(shù)據(jù)做個鏡像轉(zhuǎn)發(fā)到另外一個端口,然后用戶可以在這個新的端口進(jìn)行監(jiān)聽。
Windows Server 2012 中的 NIC 組合也適合于虛擬機(jī)。它允許虛擬機(jī)具有連接到多個 Hyper-V 交換機(jī)的虛擬網(wǎng)絡(luò)適配器并且即使該交換機(jī)下的網(wǎng)絡(luò)適配器斷開連接,也仍然能夠連接。當(dāng)使用諸如單根 I/O 虛擬化 (SR-IOV) 之類的功能時它非常有用,因為 SR-IOV 流量不通過 Hyper-V 交換機(jī)。因此,它無法受到 Hyper-V 交換機(jī)下的組的保護(hù)。通過此虛擬機(jī)組合選項,管理員可以設(shè)置兩個 Hyper-V 交換機(jī),每個交換機(jī)都連接到其自己的支持 SR-IOV 的網(wǎng)絡(luò)適配器。此時:
1. 每個虛擬機(jī)可以從一個或兩個 SR-IOV 網(wǎng)絡(luò)適配器安裝虛擬功能。然后,當(dāng)網(wǎng)絡(luò)適配器斷開連接時,虛擬機(jī)可以從主虛擬功能故障轉(zhuǎn)移到備份虛擬功能。
2. 或者,虛擬機(jī)也可能擁有從一個網(wǎng)絡(luò)適配器和一個非虛擬功能網(wǎng)絡(luò)適配器到其他交換機(jī)的虛擬功能。如果與虛擬功能關(guān)聯(lián)的網(wǎng)絡(luò)適配器斷開連接,則流量可以故障轉(zhuǎn)移到其他交換機(jī),而不會失去連接。
由于在虛擬機(jī)中網(wǎng)絡(luò)適配器之間的故障轉(zhuǎn)移可能會導(dǎo)致流量與其他網(wǎng)絡(luò)適配器的 MAC 地址一起發(fā)送,因此與使用 NIC 組合的虛擬機(jī)關(guān)聯(lián)的每個 Hyper-V 交換機(jī)端口都必須設(shè)置為允許 MAC 欺騙或必須使用 Set-VmNetworkAdapter PowerShell cmdlet 設(shè)置“AllowTeaming=On”參數(shù)。