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
STP=on

上面的 IPADDR、NETMASK、GATEWAY 、DNS地址是原先ifcfg-eth0網卡中的

NM_CONTROLLED這個屬性值,根據 RedHat公司的文檔是必須設置為“no”的(這個值為“yes”表示可以由服務NetworkManager來管理。NetworkManager服務不支持橋接,所以要設置為“no”。),但實際上發現設置為“yes”沒有問題。通訊正常。

修改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       yes             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的配置文件進行橋接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM