之前兩篇博客中,使用的都是nat網絡,這種模式可以連接外網,但無法為外網設備提供服務,所以在生產環境中我們一般會使用橋接網絡。
kvm設置橋接絡有兩種方式:一、構建虛擬機時直接指定網絡為橋接網絡;二、修改配置文件,更改kvm虛擬機的網絡模式。
下面分別描述兩種方法:
創建虛擬網卡
創建一塊橋接網卡,其作用相當於在宿主機所在局域網創建一個交換機,以后使用橋接網絡的虛擬機都通過這個交換機來上網
[root@kvm1 ~]# virsh iface-bridge eth0 br0 Created bridge br0 with attached device eth0 [root@kvm1 opt]# brctl show bridge name bridge id STP enabled interfaces br0 8000.0050562ec3b8 yes eth0 vnet1 vnet2 virbr0 8000.525400f48480 yes virbr0-nic vnet
創建好虛擬網卡后,就可以配置虛擬機的橋接模式了。
構建時指定
我們用web03來實現,實現流程如下
關機、卸載
[root@kvm1 ~]# virsh destroy web03
Domain web03 destroyed
[root@kvm1 opt]# virsh undefine web03
Domain web03 has been undefined
重新構建
[root@kvm1 opt]# virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web03 --memory 1024 --vcpus 1 --disk /opt/web03.qcow2,format=qcow2,size=10 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole
驗證
[root@kvm1 opt]# virsh list Id Name State ---------------------------------------------------- 2 web01 paused 5 web03 running
如上,web03已經啟動了,接下來就是驗證web03的網絡模式是否修改成功了。驗證方式如下:
- vnc或者virsh console連接到web03,查看當前ip是否為橋接網段(我這里是10.0.0.0/24網段)
- 查到web03的ip地址后,使用宿主機所在局域網的設備ssh連接(我這里使用pc機crt連接)
- 在web03中測試是否可以上外網(我這里測試ping www.baidu.com)
通過修改配置文件,更改網絡模式
直接修改配置文件,然后重啟kvm虛擬機即可,這里已web02為例,操作記錄如下:
修改配置文件
[root@kvm1 opt]# virsh edit web02 <interface type='bridge'> ###這一行修改接口模式為"bridge" <mac address='52:54:00:c6:9f:8a'/> <source bridge='br0'/> ###這一行修改源為"bridge='br0'" <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>
重啟虛擬機進行驗證
驗證方式和“構建時指定”中一樣,不再贅述