1. 程式人生 > 其它 >kvm使用橋接的方法

kvm使用橋接的方法

什麼是橋接

橋接就是把物理機的網絡卡模擬成交換機,虛擬機器的網絡卡直接連在虛擬的網橋即交換機上。這樣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的配置檔案進行橋接