KVM虛擬化使用一種稱爲虛擬交換的技術實現虛擬機的網絡互聯,虛擬交換是運行在宿主主機上的一個軟件結構,虛擬主機通過與這個虛擬交換進行直連實現與外界通信。當我們部署完成虛擬化環境後,libvirt進程會在宿主主機上自動創建一個默認的虛擬交換virbr0,我們可以通過ifconfig命令查看該虛擬交換設備的詳細信息。
[root@centos7 ~]# ifconfig virbr0
virbr0 Link encap:Ethernet HWaddr 52:54:00:55:7F:D9
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:4926 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:974652 (951.8 KiB)
虛擬交換可以運行在NAT模式、路由模式以及獨立模式,表7-1描述了這些模式的特性與功能,虛擬交換結構如圖-1所示。默認情況下,libvirtd進程使用的是NAT作爲虛擬交換的工作模式。
表-1
功能 | |
NAT模式 | NAT模式使用的是IP欺騙技術(masquerade),該技術可以使虛擬主機使用宿主主機的IP地址與外部主機通信,此時虛擬主機之間不管是相同網段還是不同網段,都可以相互通信。但默認位於宿主主機外部的計算機設備不可以同虛擬交換設備連接的虛擬機通信。也就是說,虛擬主機不可以連接真實機外面的其他主機 |
模式 | 功能 |
路由模式 | 路由模式虛擬交換將與真實設備的物理網絡相連接,實現數據包的出站與入站。宿主主機將承擔路由的角色 |
獨立模式 | 獨立模式使每個虛擬交換設備都是一個獨立的網絡,並且與宿主主機也是相互獨立的。連接在相同虛擬交換設備的虛擬主機是可以進行通信的 |
圖-1
設置虛擬交換網絡最簡單的方式是通過virt-manager工具,通過virt-manager命令開啓虛擬機管理器,通過Edit菜單下面的Connection Details子菜單開啓Host Details窗口,選擇Virtual Networks選項卡,如圖-2所示。
圖-2
默認libvirtd已經在KVM虛擬化環境中創建了一個基於NAT模式的default虛機交換,設備名稱爲virbr0,狀態處於激活狀態,虛擬交換網絡爲192.168.0.122.0/24,DHCP地址池爲192.168.122.2-192.168.122.254,virbr0設備的IP地址默認爲192.168.122.1。我們可以使用圖-2中的添加按鈕創建新的虛擬交換網絡。
使用圖7-2中展示的添加按鈕(+),屏幕將出現如圖-3所示的創建虛擬網絡對話框,提示創建一個虛擬交換網絡需要填寫名稱、IP地址與子網掩碼、DHCP地址池以及工作模式。圖-4提示輸入虛擬網絡名稱爲mynetwork,圖-5修改網絡地址段爲192.168.200.0/24,默認192.168.200.1爲網關設備,圖-6設置DHCP地址池爲192.168.200.128~192.168.200.254,圖-7選擇虛擬交換網絡的工作模式,可以選擇獨立模式、NAT模式或Routed模式,圖-8爲確認對話框,如果一切順利,繼續單擊“Finish”按鈕,即可完成一個全新的虛擬網絡設置。
圖-3
圖-4
圖-5
圖-6
圖-7
圖-8
創建完成虛擬交換後,所有的虛擬主機都可以添加虛擬網卡接口連接該虛擬交換設備,打開虛擬主機後,通過如圖-9所示的硬件管理圖標顯示硬件列表,在硬件列表下方使用Add Hardware按鈕添加虛擬網絡接口,屏幕將顯示如圖-10所示的添加新硬件對話框,選擇Network網絡設備,在右側填寫該網絡接口需要連接的宿主主機的虛擬交換設備,這裏我們選擇的是剛剛創建的名爲mynetwork的虛擬交換設備。除此之外,還需要填寫該虛擬主機MAC地址以及設備驅動方式。
圖-9
圖-10