kvm使用橋接的方法
阿新 • • 發佈:2021-11-11
什麼是橋接
橋接就是把物理機的網絡卡模擬成交換機,虛擬機器的網絡卡直接連在虛擬的網橋即交換機上。這樣kvm虛擬機器分配的IP地址,就應該和物理機在同一網段,可以對外進行服務。
在KVM下執行的VM預設的網絡卡採用NAT的方式進行連線,無法與外界進行通訊,但是可以與同臺KVM下的其他VM進行通訊,為了使VM與其他網路主機進行通訊,需要將網絡卡模式由NAT改為橋接的方式
檢視橋接情況
# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.5254003aa789 yes virbr0-nic
virbr0預設使用的是NAT方式跟虛擬機器網絡卡進行通訊,在實際生產環境中我們多數情況下面使用橋接Bridge的方式進行物理機跟虛擬機器的通訊,刪除這個virbr0的方法在上面給出的連結中已經說明,這篇文章主要講述Bridge的簡單實現原理以及實際配置方法。
假設我們的物理機上有一塊有線網絡卡,在系統中顯示為eth0,我們搭建將其配置成橋接裝置br0
我們經常所說的Bridge裝置其實就是網橋裝置,也就相當於想在的二層交換機,用於連線同一網段內的所有機器,所以我們的目的就是將網路裝置eth0配置成br0,此時br0就成為了所謂的交換機裝置,我們物理機的eth0也是連線在上面的。
配置橋接裝置br0
# 檢視橋接軟體是否安裝 # rpm -q bridge-utils bridge-utils-1.5-9.el7.x86_64
禁用並解除安裝NetworkManager工具(必要),啟用自帶的network服務
chkconfig NetworkManager off
chkconfig network on
service NetworkManager stop
yum -y erase NetworkManager
使用配置檔案的形式新增
先將 /etc/sysconfig/network-scripts/ifcfg-eth0
目錄下的網絡卡配置檔案備份一份
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak
新建立/etc/sysconfig/network-scripts/ifcfg-br0
BOOTPROTO=static
DEVICE=br0
TYPE=Bridge
NM_CONTROLLED=no
IPADDR=10.16.16.2
NETMASK=255.255.255.0
GATEWAY=10.16.16.1
DNS1=211.138.24.66
DNS2=211.138.30.66
DELAY=0
上面的 IPADDR、NETMASK、GATEWAY 、DNS地址是原先ifcfg-eth0網絡卡中的
修改ifcfg-eth0網絡卡內容,將原先關於IP設定的語句註釋,並新增一個配置,其餘保持不變
# IPADDR=10.16.16.2
# NETMASK=255.255.255.0
# GATEWAY=10.16.16.1
# DNS1=211.138.24.66
# DNS2=211.138.30.66
BRIDGE=br0 # 這一行是新增的
設定完成後,重啟網路
service network restart
檢視網絡卡橋接及路由
[root@localhost ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.34735aa1362c no em1
virbr0 8000.5254003aa789 yes virbr0-nic
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 0 0 0 br0
10.16.16.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
link-local 0.0.0.0 255.255.0.0 U 1011 0 0 br0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
這樣就把eth0橋接為br0網絡卡了,VM就可以使用這個橋接配置了。重啟不會對橋接造成影響,因為它是讀取的ifcfg-xx的配置檔案進行橋接