KVM虛擬網絡
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虛擬網絡