1. 程式人生 > >KVM虛擬網絡

KVM虛擬網絡

tex TP bsp 重新 服務器安裝 snat def slot br0

宿主服務器安裝完成KVM,首先要設定網絡,以便和主機網絡,客戶機之間的網絡通信在libvirt中運行KVM網絡有兩種方法:NAT和Bridge,默認為NAT



KVM 客戶機網絡連接有兩種方式:

(1)用戶模式(NAT):這種方式是默認網絡,數據包由NAT方式通過主機的接口進行傳送,可以訪問外網,但是無法從外網訪問虛擬機網絡

(2)橋接模式(Bridge):這種模式允許虛擬機像一臺獨立的主機一樣擁有網絡,外部的主機可以直接訪問到虛擬機內部



一、基於NAT的虛擬網絡

KVM安裝時默認的網絡配置

技術分享圖片



默認宿主機會有一個虛擬網卡virbr0,其實是一個虛擬交換機,並綁定一個網卡virbr0-nic

技術分享圖片


這時候主機就變成了一個路由器,可以看到路由功能已經打開,並做了SNAT

[root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward

1


[root@localhost ~]# iptables -t nat -L

技術分享圖片技術分享圖片

技術分享圖片

當有虛擬機啟動,如果采用的是默認NAT模式,那麽virbr0交換機下就會增加接口,可以看到有2個虛擬接口,代表有2個虛擬機接到了這個交換機上

技術分享圖片


可以通過virsh命令查看虛擬機的網卡情況

技術分享圖片


向虛擬機添加虛擬機網絡

可以通過xml文檔添加:

<interface type='network'>

<mac address='52:54:00:aa:18:d1'/>

<source network='default'/> //網絡模式

<model type='virtio'/> //網卡類型

<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>

</interface>





二、基於網橋的虛擬網絡

技術分享圖片


首先需要創建虛擬交換機,方式很多,可以通過圖形化,nmcli命令等方式,下面通過直接該配置文件創建虛擬交換機

(1)在宿主機添加配置文件

技術分享圖片


重新啟動網絡,讓虛擬交換機br0激活

技術分享圖片


(2)為虛擬機添加網絡

如果虛擬機是關機情況下,執行以下命令

virsh attach-interface vm1 bridge br0 --model virtio --config // 下次啟動生效


如果虛擬機是開機情況下,執行以下命令

virsh attach-interface vm2 bridge br0 --model virtio --current // 立即生效


cd /etc/libvirt/qemu

virsh dumpxml vm2 > vm2.xml //為了讓每次開機都生效,新生成一次配置文件替換原來的配置文件





KVM虛擬網絡