篩選Hyper-V提供的虛擬機(jī)隔離選項(xiàng)
不管是出于什么原因,你都可能想要去控制虛擬機(jī)之間的通信。Hyper-V提供了很多可供選擇的虛擬機(jī)隔離選項(xiàng)。
你想從其他計(jì)算機(jī)中隔離一組計(jì)算機(jī)可能有幾個(gè)原因。其一是你可能想分開企業(yè)內(nèi)部各業(yè)務(wù)部門之間的通信。舉個(gè)例子,你可能從來(lái)不希望HR的計(jì)算機(jī)與財(cái)務(wù)部門的計(jì)算機(jī)相互通信。在物理的IT數(shù)據(jù)中心中,分離不同業(yè)務(wù)部門之間的通信的一般方法是定義不同的VLAN。
現(xiàn)在的IT物理環(huán)境走向虛擬化,包括網(wǎng)絡(luò)虛擬化,有多個(gè)虛擬化廠商其中包括微軟,都提供不同的隔離選項(xiàng)。當(dāng)你談?wù)摰教摂M你的物理基礎(chǔ)設(shè)施時(shí),你會(huì)希望虛擬化軟件幫助你模擬物理到邏輯的環(huán)境以及幫助你配置隔離不同的業(yè)務(wù)部門提供不同的隔離選項(xiàng)。因?yàn)橐粋€(gè)主機(jī)可以容納不同業(yè)務(wù)部門的虛擬機(jī),所以虛擬機(jī)隔離是必須的。IT企業(yè)和云計(jì)算提供商都可以從Microsoft Hyper-V提供的隔離選項(xiàng)中受益。
Hyper-V虛擬交換機(jī)
Hyper-V提供三種類型的虛擬交換機(jī):外部、內(nèi)部和專有。這些虛擬交換機(jī)可以幫助隔離虛擬機(jī)間各自的流量。當(dāng)虛擬機(jī)連接到內(nèi)部虛擬交換機(jī)時(shí),虛擬機(jī)之間可以相互通信,也可以與Hyper-V父分區(qū)進(jìn)行通信。專有虛擬交換機(jī)只允許連接到專有虛擬交換機(jī)的虛擬機(jī)。如果你有一組需要彼此之間通信的計(jì)算機(jī),您可以創(chuàng)建一個(gè)專有虛擬交換機(jī),然后將虛擬機(jī)連接到專有虛擬交換機(jī)上。一個(gè)外部虛擬交換機(jī)允許局域網(wǎng)內(nèi)的虛擬機(jī)互相通信。大多數(shù)情況下,虛擬化管理員都會(huì)把虛擬機(jī)配置在外部虛擬交換機(jī)上,所以虛擬機(jī)的流量可以在運(yùn)行遠(yuǎn)程Hyper-V服務(wù)器上的虛擬機(jī)和運(yùn)行在局域網(wǎng)中的物理機(jī)上看到。在這種情況下,如果你需要為連接到一個(gè)Hyper-V虛擬交換機(jī)上的虛擬機(jī)配置隔離的話,你可以使用第二個(gè)隔離選項(xiàng)——為每一組虛擬機(jī)配置VLAN域。
VLAN
VLAN可以允許你隔離虛擬機(jī)流量。你可以在Hyper-V虛擬交換機(jī)和虛擬機(jī)上配置VLAN ID。當(dāng)然,一個(gè)虛擬交換機(jī)只能配置一個(gè)VLAN ID。舉個(gè)例子,假如要隔離兩個(gè)業(yè)務(wù)部門(HR和財(cái)務(wù)),HR部門的虛擬機(jī)使用VLAN ID 2,財(cái)務(wù)部門的虛擬機(jī)使用VLAN ID 3。默認(rèn)情況下,Hyper-V虛擬交換機(jī)是允許VLAN流量通過。換句話說(shuō),一個(gè)Hyper-V虛擬交換機(jī)已配置了Trunk模式就允許所有VLAN流量通過。它總是推薦配置多個(gè)VLAN而不是創(chuàng)建一個(gè)單獨(dú)的Hyper-V的虛擬交換機(jī)來(lái)實(shí)現(xiàn)隔離。Hyper-V支持最多配置4095個(gè)VLAN。由于VLAN有可擴(kuò)展性的問題,所以你可以使用其他隔離選項(xiàng)比如PVLAN或者Hyper-V網(wǎng)絡(luò)虛擬化。
PVLAN
專有VLAN(PVLAN)是隔離運(yùn)行在Windows Server 2012 或2012 R2 Hyper-V 主機(jī)上的虛擬機(jī)的另一種形式。雖然小型企業(yè)可以用劃分多個(gè)VLAN的方式來(lái)實(shí)現(xiàn)隔離虛擬機(jī),但是對(duì)于一個(gè)多租戶的數(shù)據(jù)中心來(lái)說(shuō)這并不是一個(gè)可行性選擇。VLAN有可擴(kuò)展性的問題而且配置復(fù)雜。微軟設(shè)計(jì)了PVLAN特性來(lái)克服VLAN的限制。PVLAN通常會(huì)被云服務(wù)提供商采用,使用VLAN為不同用戶的虛擬機(jī)劃分多個(gè)隔離的虛擬網(wǎng)絡(luò)。盡管VLAN有可擴(kuò)展性問題,但是在Hyper-V網(wǎng)絡(luò)虛擬化中通過配置每個(gè)租戶也是可以解決的。如果每個(gè)租戶只運(yùn)行一個(gè)虛擬機(jī)的話,最簡(jiǎn)單的解決方案就是使用PVLAN。
VSID (Hyper-V網(wǎng)絡(luò)虛擬化)
VSID,有時(shí)候被稱為虛擬子網(wǎng)ID,也是幫助配置隔離虛擬機(jī)的一個(gè)Hyper-V網(wǎng)絡(luò)虛擬化的組件。你可以從使用VLAN隔離或者Hyper-V網(wǎng)絡(luò)虛擬化隔離的方法中任選其一,但是不能同時(shí)使用。相對(duì)于VLAN只支持4095個(gè)虛擬網(wǎng)絡(luò)VLAN ID,而Hyper-V網(wǎng)絡(luò)虛擬化可以支持1600萬(wàn)個(gè)虛擬網(wǎng)絡(luò)。如果你計(jì)劃使用VSID來(lái)隔離虛擬機(jī),請(qǐng)確保你配置了Hyper-V網(wǎng)絡(luò)虛擬化所必需的其他組件,包括供應(yīng)商地址、路由器域名、虛擬機(jī)網(wǎng)絡(luò)以及更多。如果有租戶在一個(gè)共享的IaaS云上有多個(gè)虛擬網(wǎng)絡(luò),你必須要清楚,***的隔離選項(xiàng)就是使用Hyper-V網(wǎng)絡(luò)虛擬化而不是使用VLAN或PVLAN。如果在這樣的情況下你仍然需要去阻止一組虛擬機(jī)的網(wǎng)絡(luò)流量的話,那么你可以去配置端口訪問控制列表(port ACLs)。
Port ACLs
雖然端口ACL的功能只是用來(lái)允許或阻止遠(yuǎn)程計(jì)算機(jī)到虛擬機(jī)的輸入和輸出的網(wǎng)絡(luò)流量,但它也是可以作為一個(gè)隔離選項(xiàng)來(lái)使用的。端口ACL可以和VLAN結(jié)合來(lái)使用。例如,要阻止在VLAN內(nèi)的虛擬機(jī)之間的通信。這種情況下,你就可以去配置一個(gè)端口ACL規(guī)則去阻止虛擬機(jī)1到虛擬機(jī)2之間的通信。端口ACL只能用在Windows Server 2012或者之上的Hyper-V主機(jī)上。
Windows防火墻
你還可以配置Windows防火墻去阻止或允許一組虛擬機(jī)之間的輸入流量,但是只能操作系統(tǒng)級(jí)別上實(shí)現(xiàn)。由于Windows防火墻工作在虛擬機(jī)的操作系統(tǒng)上,那么Hyper-V主機(jī)就沒辦法控制在其之上的輸入或輸出的網(wǎng)絡(luò)流量。當(dāng)然,仍有一些IT組織還在用Windows防火墻的隔離方式去阻止來(lái)自遠(yuǎn)程計(jì)算機(jī)上無(wú)用的流量。