使用虛擬化技術(shù)可以提高資源的有效使用率,降低硬件成本,管理起來也更加便捷。防火墻的虛擬化是將一臺物理防火墻,虛擬出來多臺虛擬防火墻,并將其分配給不同的用戶使用。虛擬防火墻的優(yōu)點(diǎn)在于對設(shè)備性能和資源的合理利用,配置和策略相對是獨(dú)立的,彼此之間不會互相影響。
對于虛擬防火墻來說,必須擁有獨(dú)立的管理員賬戶和配置界面,以及自己獨(dú)立的軟件資源,例如會話表數(shù)、策略數(shù)、用戶數(shù)等,防止其爭搶公共資源。
例如,以華為防火墻為例,其新一代的防火墻和老版的防火墻之間虛擬化技術(shù)差別很大,上一代防火墻是完全依賴于VPN實(shí)例實(shí)現(xiàn)的,一個VPN實(shí)例就是一個虛擬防火墻,其中包含了路由、策略、系統(tǒng)管理和基本工具等子系統(tǒng)的克隆。
新一代的防火墻不再完全依賴于VPN實(shí)例,而改為使用Virtual-System技術(shù)來實(shí)現(xiàn)防火墻的虛擬化。但該防火墻并未徹底放棄VPNInstance技術(shù),當(dāng)創(chuàng)建每個虛擬防火墻時,都會創(chuàng)建一個同名的VPN-Instance,對于上層的業(yè)務(wù)虛擬化來說,則可以擺脫VPN-Instance。對于華為防火墻來說,默認(rèn)設(shè)備自帶虛擬防火墻功能,但是不同型號的防火墻自帶虛擬防火墻的數(shù)量不等,用戶可以根據(jù)需要購買License來增加其數(shù)量。
虛擬防火墻存在根系統(tǒng)和根系統(tǒng)管理員的概念,對于前者來說,是默認(rèn)存在的一個特殊的虛擬系統(tǒng),在沒有配置其他虛擬系統(tǒng)時,根系統(tǒng)就是防火墻自身。例如,當(dāng)遠(yuǎn)程登錄到華為某款防火墻上,執(zhí)行“dis f s t v”命令,在返回信息中會 顯 示“SSL VPN:public-->public”之類的信息,這就代表了根防火墻。對于后者來說,除了可以配置根系統(tǒng)的業(yè)務(wù)外,還可創(chuàng)建虛擬系統(tǒng),并為其分配資源和創(chuàng)建虛擬系統(tǒng)管理員。虛擬系統(tǒng)管理員主要負(fù)責(zé)配置虛擬系統(tǒng)的業(yè)務(wù)。
虛擬防火墻要想正常運(yùn)轉(zhuǎn),必須占用一定的資源。虛擬系統(tǒng)對資源的占用方式包括手工分配限額,自動分配限額和共享搶占資源。第一種是手工配置資源數(shù)量(例如會話、用戶、帶寬和策略等);第二種是在虛擬系統(tǒng)創(chuàng)建時就固定分配給虛擬系統(tǒng)(例如安全區(qū)域、虛擬網(wǎng)關(guān)等);第三種允許所有的虛擬系統(tǒng)和根系統(tǒng)一起搶占資源共用整機(jī)資源(例如地址和地址組、NAT地址池等)。
虛擬防火墻流量轉(zhuǎn)發(fā)的關(guān)鍵點(diǎn)在于報文在入接口是會被打上標(biāo)記,該標(biāo)記即為接口所屬虛擬系統(tǒng)ID,每一個虛擬防火墻都有不同的ID。之后通過虛擬系統(tǒng)ID來查找對應(yīng)的FIB表、策略以及規(guī)則等配置信息來正確的處理報文。當(dāng)然,在虛擬防火墻之間是可以轉(zhuǎn)發(fā)數(shù)據(jù)的,主要用于不同虛擬系統(tǒng)所管轄的網(wǎng)絡(luò)間相互通訊的場景,通過虛擬接口技術(shù)實(shí)現(xiàn)數(shù)據(jù)包跨虛擬系統(tǒng)的轉(zhuǎn)發(fā)。當(dāng)創(chuàng)建虛擬防火墻時,根系統(tǒng)自動為其創(chuàng)建一個虛擬接口,虛擬接口不配置IP也可以生效,但是必須加入到安全區(qū)域。虛擬系統(tǒng)和根系統(tǒng)之間也可以通過虛擬接口通訊,虛擬系統(tǒng)間訪問通過根系統(tǒng)進(jìn)行中轉(zhuǎn),各個虛擬系統(tǒng)的虛擬接口和根系統(tǒng)的虛擬接口之間默認(rèn)通過一條虛擬鏈路進(jìn)行連接。
當(dāng)開啟了虛擬防火墻功能后,就會在根系統(tǒng)中創(chuàng)建名為“Virtualif0”的虛擬接口,其他的虛擬防火墻要互相通訊,必須經(jīng)過該虛擬接口。當(dāng)新增加一個虛擬防火墻,就會增加一個從“Virtualif1”開始的對應(yīng)的虛擬接口。虛擬防火墻不支持動態(tài)路由協(xié)議,只能使用靜態(tài)路由。例如當(dāng)虛擬防火墻1接收到流量后,相關(guān)報文會在入接口打上對應(yīng)標(biāo)記,之后通過預(yù)設(shè)的靜態(tài)路徑,將其從虛接口“Virtualif1”發(fā)送到“Virtualif0”虛擬接口。當(dāng)根系統(tǒng)接收到該數(shù)據(jù)流量后,當(dāng)判斷“Virtualif0”虛擬接口處于trust區(qū)域,目標(biāo)網(wǎng)段所在的物理端口處于Untrust區(qū)域的話,就會將該流量發(fā)送出去。
對應(yīng)的,當(dāng)處理返回的流量時,也需要在根防火墻中添加靜態(tài)路由,從虛接口“Virtualif0”發(fā)送到“Virtualif1”虛擬接口。當(dāng)數(shù)據(jù)流量到達(dá)虛擬防火墻1后,會查找之前的會話,根據(jù)路由表將數(shù)據(jù)包從直連網(wǎng)段發(fā)出去。流量從虛擬防火墻1進(jìn)入,想訪問虛擬防火墻2連接的網(wǎng)段時,會先按照上述方法到達(dá)“Virtualif0”虛擬接口。當(dāng)根防火墻接收到這些數(shù)據(jù)包后,會根據(jù)預(yù)設(shè)的路由信息,將其從虛接口“Virtualif0”發(fā)送到“Virtualif2”虛擬接口。當(dāng)然,在上述流量傳輸過程中,不僅要涉及到路由還需要使用到策略控制,例如允許Trust區(qū)域訪問Untrust區(qū)域,允許Untrust區(qū)域訪問DMZ區(qū)域等。當(dāng)配置虛擬防火墻時,可以根據(jù)需要劃分對應(yīng)的防火墻接口。
對于二層網(wǎng)絡(luò)來說,可以根據(jù)VLAN進(jìn)行端口的劃分。對于三層網(wǎng)絡(luò)來說,是基于物理接口進(jìn)行劃分的。當(dāng)不同虛擬防火墻連接的網(wǎng)段需要進(jìn)行NAT映射時,不能直接指定域間關(guān)系來實(shí)現(xiàn),必須將虛擬防火墻當(dāng)作獨(dú)立的設(shè)備進(jìn)行NAT策略配置。因?yàn)閷τ诓煌奶摂M防火墻來說,其私網(wǎng)地址段是允許重疊的。當(dāng)兩者進(jìn)行通訊時,自然不能使用各自的原始IP進(jìn)行訪問。這就需要為兩者的虛擬接口配置不同的IP,并據(jù)此進(jìn)行源NAT以及NAT Server的配置操作,就可以順利進(jìn)行訪問了。
但并不是所有的對象都支持虛擬化,例如證書就不支持虛擬化,包括內(nèi)置的證書,在虛擬系統(tǒng)下智能查看和引用,無法導(dǎo)入、刪除和申請證書等,此外,動態(tài)路由、計(jì)費(fèi)方案配置、DHCP服務(wù)器和中繼、IPSec、L2TP、DVPN、MPLS也不支持虛擬化。其他的例如地址、服務(wù)、應(yīng)用等都能支持虛擬化,虛擬系統(tǒng)與根系統(tǒng)在規(guī)格上存在差異,但配置上完全相同。每個虛擬系統(tǒng)都有自己的用戶組織結(jié)構(gòu),不同虛擬系統(tǒng)下的用戶和組可以更名。當(dāng)新建虛擬防火墻時,可以為它分配一個名為“default”的認(rèn)證域,用戶可以創(chuàng)建其他的認(rèn)證域,可創(chuàng)建的認(rèn)證域的數(shù)量為共享搶占。此外,DHCP客戶端、IP-link、雙機(jī)熱備、SSL VPN、重定向認(rèn)證、服務(wù)器模版、認(rèn)證方案以及授權(quán)方案都支持虛擬化。
虛擬化防火墻的管理實(shí)例
下面以具體的實(shí)例來說明其配置方法。這里使用華為USG 6550防火墻,以管理員身份登錄到該防火墻,執(zhí)行“dis ip inter br”命令,查看接口詳細(xì)信息。執(zhí)行“inter g0/0/0”、“ip add 192.168.10.9.24”、“quit”命令,為g0/0/0接口設(shè)置IP。執(zhí)行“vsys enable”命令開啟虛擬防火墻功能。再次運(yùn)行“dis ip inter br”命令,可以發(fā)現(xiàn)新增了名為“Virtualif0”的虛擬接口,其屬于根防火墻所有。執(zhí)行“resource-class zyl”命令,在其中可定義資源類信息。
例如執(zhí)行“resourcei tem-limitpolicy reserved-number 500”命令,將策略值設(shè)置為500。執(zhí)行“resource-item-limit session reserved-number 1000”命令,將會話連接數(shù)設(shè)置為1000。執(zhí)行“resourceitem-limit user reservenumber 1000”命令,將用戶數(shù)設(shè)置為1000。當(dāng)然,可以根據(jù)需要靈活的配置資源類信息。執(zhí)行“vsys name virwall1”命令。新建名為“virwall1”的虛擬防火墻。執(zhí)行“quit”命令,退出該虛擬防火墻,執(zhí)行“switch vsys virwall1”命令,可以進(jìn)入該防火墻。
執(zhí) 行“assign inter g1/0/1”,“assign inter g1/0/2” 命 令,將 接 口g1/0/1和g1/0/1分配給該虛擬防火墻。執(zhí)行“assign resource-class zyl”命令,將預(yù)設(shè)的資源類信息賦予該虛擬防火墻。執(zhí)行“dis this”或“dis cu”命令,來查看本虛擬防火墻配置信息。 執(zhí) 行“firewal zone untrust”,“add interface g1/0/1”,“quit”命令,將其加入到Untrust區(qū)域。執(zhí)行“dis ip inter br”命令,查看其端口信息。執(zhí)行“inter g1/0/1”命令,進(jìn)入該接口,執(zhí)行“ip add 172.16.1.10 24”命令,為其設(shè)置 IP為172.16.1.10/24。 執(zhí) 行“service-manage pin per”命令,允許遠(yuǎn)程訪問該接口。
在接口g1/0/1上連接了一臺路由器R1,其對應(yīng)端口的 IP為 172.16.1.11,在該路由器上執(zhí)行“ip routestatic 192.168.1.0 24 172.16.1.10”命令,添加一條靜態(tài)路由。在防火墻上執(zhí)行“dis ip rou”命令,查看路由信息。執(zhí)行“dis cu”命令,查看根墻配置信息。當(dāng)想從連接在接口g0/0/0上的主機(jī)訪問R1時,在根墻上必須有去往指定網(wǎng)段的路由,執(zhí)行“ip routestatic 172.16.1.0 24 vpn-instance virwall1”命令,添加一條靜態(tài)路由,可以去往虛擬防火墻virwall1。執(zhí)行“firewall zone untrust”、“add inter Virtualif 0”、“quit” 命令,將Virtualif 0添加到Untrust區(qū)域。
之后需要設(shè)置控制策 略, 執(zhí) 行“securitypolicy”、“rule name o u t”、“s o u r c e-z o n e trust”、“destinationzone untrust”、“sourceadd 192.168.1.0 24”、“service icmp”、“action permit”、“quit”命令,允許執(zhí)行上述訪問操作。執(zhí)行“switch vsys virwall1”命令,在該虛擬防火墻下執(zhí)行“dis zone”命令,查看區(qū)域配置信息。執(zhí)行“firewall zone trust”、“add inter Virtualif 1”、“quit”命令,將Virtualif 1虛擬接口添加到Trust區(qū)域。每個虛擬防火墻需要配置各自的控制策略,執(zhí)行“security-policy”、“rule name poly”、“source-zone trust”、“destination-zone untrust”、“source-add 192.168.1.0 24”、“service icmp”、“action permit”、“quit”命 令。 執(zhí) 行“ip route-static 192.168.1.0 24 public”命令,添加一條靜態(tài)路由信息。
這樣,從連接在接口g0/0/0上的主機(jī)(其 IP為192.168.1.12)上執(zhí)行“ping 192.168.100.23”命令,可以訪問根防火墻。在防火墻上執(zhí)行“d f t v”命令,可以查看會話信息。在根墻上執(zhí)行“disp resource-usage”命令,可以查看所有虛擬防火墻的資源使用信息。執(zhí)行“vsys name vwall2”命令。新建名為“vwall2”的虛擬防火墻。執(zhí)行“assign inter g1/0/3” 命 令,將接口g1/0/3分配給該虛擬防火墻。按照上述方法為其配置資源類型,執(zhí)行“inter g1/0/3”、“ip add 192.168.2.3 24”、“quit”命令,為該端口設(shè)置IP。執(zhí)行“firewall zone trust”、“add inter g1/0/3”、“quit”命令,將該接口添加到Untrust區(qū)域。執(zhí)行“firewall zone untrust”、“add inter Virtualif 2”、“quit”命令,將該虛擬防火墻的Virtualif 2接口添加到Untrust區(qū)域。
當(dāng)虛擬防火墻vwall2想訪問虛擬防火墻virwall1時,需 要 執(zhí) 行“ip routestatic 172.16.1.0 24 public”命令,為其添加一條路由指向根防火墻。執(zhí)行“security-policy”、“rule name out”、“source-zone trust”、“destinationzone untrust”、“action permit”、“quit”命令,允許執(zhí)行上述訪問操作。在根墻界面中執(zhí)行“ip routestatic 192.168.2.0 24 vpn-instance vwall2”命令,添加一條靜態(tài)路由,指向虛擬防火墻vwall2,可以讓數(shù)據(jù)包順利返回。這樣就可以在虛擬防火墻vwall2上對虛擬防火墻virwall1進(jìn)行訪問了。
當(dāng)然,也可以在圖形界面下對虛擬防火墻進(jìn)行管理,例如在圖形界面右側(cè)的“虛擬系統(tǒng)”列表中選擇“vwall2”項(xiàng),點(diǎn)擊頂部工具欄中的“系統(tǒng)”項(xiàng),在左側(cè)選擇“管理員”項(xiàng),在右側(cè)點(diǎn)擊“添加”按鈕,在新建管理員窗口中輸入其名確定按鈕保存配置信息。之后在防火墻登錄界面中輸入該賬戶和密碼,就可以直接登錄到該虛擬防火墻管理界面了。