您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何使用Bridge和Nat方式配置KVM虛擬機的網絡,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
使用libvirt配置KVM虛擬機的網絡,分別使用bridge和nat方式。
操作系統配置:centos7,libvirt-1.1.1,qemu-1.5.3
1.bridged(橋接模式)
在bridged模式下,虛擬出來的操作系統就像是局域網中的一臺獨立的主機,它可以訪問網內任何一臺機器。同時,由于這個虛擬系統是局域網中的一個獨立的主機系統,那么就可以手工配置它的TCP/IP配置信息,以實現通過局域網的網關或路由器訪問互聯網。使用bridged模式的虛擬系統和宿主機器的關系,就像連接在同一個Hub上的兩臺電腦。想讓它們相互通訊,你就需要為虛擬系統配置IP地址和子網掩碼,否則就無法通信(參考dhcp服務器是否開啟,如果開啟,則可以選擇dhcp方式自動獲取網絡地址)。這種方式最簡單,直接將虛擬網卡橋接到一個物理網卡上面,和linux下一個網卡綁定兩個不同地址類似,實際上是將網卡設置為混雜模式,從而達到偵聽多個IP的能力。在此種模式下,虛擬機內部的網卡(例如linux下的eth0)直接連到了物理網卡所在的網絡上,可以想象為虛擬機和host機處于對等的地位,在網絡關系上是平等的,沒有誰在誰后面的問題。使用這種方式很簡單,前提是你可以得到1個以上的地址。
用KVM配置Bridge方式:
首先需要確定你的host主機上用的網絡連接方式為橋接方式,我的機器上的用的是一個叫br0的網橋。創建網橋的方式也很簡單,以我的系統為例,網卡一個eno16777736,在目錄/etc/sysconfig/network-scripts/下創建文件ifcfg-br0,然后修改文件ifcfg-eno16777736為:
BOOTPROTO=none DEVICE=eno16777736 HWADDR=00:0c:29:09:0d:3d NM_CONTROLLED=no ONBOOT=yes BRIDGE=br0
修改文件ifcfg-br0的內容為:
BOOTPROTO=static DEVICE=br0 TYPE=Bridge NM_CONTROLLED=no IPADDR=192.168.7.183 NETMASK=255.255.255.0 GATEWAY=192.168.7.254
當然IP地址什么的要設置成自己所在的網段內,此處設置成靜態的了,若有dhcp服務器(自家路由器),也可以設置成動態的,然后重啟網絡就可以了,如果重啟不成功的話,試試生效了沒有,沒有生效的話,重啟下系統,自然生效。
然后就該為guest虛擬機配置網橋網絡了:
在虛擬機的XML配置文件中device下添加interface標簽即可,標簽如下:
<interface type='bridge'> <mac address='52:54:00:84:e9:e1'/> <source bridge='br0'/> <model type='rtl8139'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>
當然也可以先定義一下這個網絡,然后在添加到虛擬機的XML文件中,給它起名為br0.xml,這個文件中可以寫一些網絡的詳細配置參數,大致的形式如下:
<network> <name>br0</name> <uuid>fb48b969-b9f4-e859-d957-50aedd850fb4</uuid> <forward mode='bridge'> <bridge name ='br0'/> </forward> </network>
然后用libvirt來定義并開啟這個網絡,配置文件中的interface標簽當然還是不能少,用上面的就好,名字正好一致了:
virsh net-define br0.xml
virsh net-start br0
然后就可已啟動客戶機,檢查網絡連接了。
2.NAT(網絡地址轉換模式)
使用NAT模式,就是讓虛擬系統借助NAT(網絡地址轉換)功能,通過宿主機器所在的網絡來訪問公網。也就是說,使用NAT模式可以實現在虛擬系統里訪問互聯網。很顯然,如果你只有一個外網地址,此種方式很合適。
KVM虛擬機Nat方式上網:
virsh net-list
查看當前活躍的網絡,可以看到一個default網絡,這個就是一個默認的Nat網絡了。
virsh net-dumpxml default
可以查看該網絡的詳細配置如下:
<network> <name>default</name> <uuid>75dbebde-fc15-4350-8a06-f1432f9e6d30</uuid> <forward mode='nat'> <nat> <port start='1024' end='65535'/> </nat> </forward> <bridge name='virbr0' stp='on' delay='0' /> <mac address='52:54:00:bc:f2:65'/> <ip address='192.168.122.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.122.2' end='192.168.122.254' /> </dhcp> </ip> </network>
可以看到該網絡搭建在一個網橋virbr0上,這個網橋在安裝并啟動libvirt的時候自動生成。然后在客戶機的XML配置文件中添加標簽interface內容如下:
<interface type='network'> <mac address='52:54:00:c7:18:b5'/> <source network='default'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>
則可以讓客戶機用nat方式來上網了,經驗證,客戶機可以獲取到122網段,2到254之間的一個ip地址。
我們可以直接編輯修改default網絡的配置:
virsh net-edit default
也可以直接將default網絡干掉,然后再重新定義:
virsh net-undefine default
重新創建一個default.xml文件,自定義其中的內容,可以指定某個mac地址對應某個ip,指定某個ip段。例如下面的內容,name對應的是客戶機的名字。
<network> <name>default</name> <uuid>dc69ff61-6445-4376-b940-8714a3922bf7</uuid> <forward mode='nat'/> <bridge name='virbr0' stp='on' delay='0' /> <mac address='52:54:00:81:14:18'/> <ip address='192.168.122.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.122.2' end='192.168.122.254' /> <host mac='00:25:90:eb:4b:bb' name='guest1' ip='192.168.5.13' /> <host mac='00:25:90:eb:34:2c' name='guest2' ip='192.168.7.206' /> <host mac='00:25:90:eb:e5:de' name='guest3' ip='192.168.7.207' /> <host mac='00:25:90:eb:7e:11' name='guest4' ip='192.168.7.208' /> <host mac='00:25:90:eb:b2:11' name='guest5' ip='192.168.7.209' /> </dhcp> </ip> </network>
然后用命令:
virsh net-define default.xml
virsh net-start default
啟用一個客戶機,檢查網絡時候可用。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何使用Bridge和Nat方式配置KVM虛擬機的網絡”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。