在網絡的使用中,有時需要搭建網絡橋來實現網絡橋接。例如在一台主機上制作一台虛擬機,虛擬機是沒有物理網卡的,這時虛擬機數據的發送和接收就需要通過主機上的物理網卡,需要主機的內核來處理這些問題,這無疑增加了主機內核的負擔,也延長了虛擬機的反應速度,如果搭建網絡橋,使得虛擬機的內核可以在一定程度上使用主機的物理網卡,就可以解決這個問題。
搭建網絡橋可以通過編輯配置文件和命令管理來實現。
1、編輯配置文件
如下圖所示,主機的物理網卡為"enp0s25",IP為"172.25.254.2"。
搭建網絡橋需要配置以下兩個文件:
a、"vim /etc/sysconfig/network-scripts/ifcfg-we"。網絡接口的名稱為"we"。在其中編寫以下內容:
BOOTPROTO=none
NAME=we
DEVICE=enp0s25
ONBOOT=yes
BRIDGE=br0
b、"vim /etc/sysconfig/network-scripts/ifcfg-br0"。在其中編寫:
DEVICE=br0
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.2
NETMASK=255.255.255.0
TYPE=Bridge
完成后重啟網絡即可生效,如下圖所示,用"ifconfig"命令可以看出有網絡橋接了。也可以用命令"brctl show"來查看是否有網絡橋接及對應設備。
如下圖所示,在新建虛擬機時就可以看見網絡選擇里有網絡橋接的選項"Bridge br0 Host device enp0s25"。
如果不需要網絡橋接了,只需要刪除"br0"文件,按照網絡配置方法配置"we"文件並重啟系統即可。
2、命令搭建網絡橋
編輯配置文件可以使得網絡橋接永久生效,但是通過命令來搭建只能臨時生效,重啟系統后網絡橋接消失,所以命令搭建網絡橋多用於臨時使用的場合。
搭建網絡橋可以通過以下步驟完成:
a、"brctl show"。查看是否有網絡橋接,也可以忽略。
b、"brctl addbr br0"。添加一個網絡橋接,用"ifconfig"可以看到多了"br0"。
c、"ifconfig br0 172.25.254.202 netmask 255.255.255.0"。設置br0的IP為"172.25.254.202",子網掩碼為"255.255.255.0"。使用"ifconfig"可以查看。
d、" brctl addif br0 eth0"。輸入"brctl show"。可以看到雖然br0有了IP但是橋接並沒有完成。還需要輸入命令將橋接"br0"和網卡設備"eth0"連接起來。
至此通過命令搭建網絡橋就完成了。可以通過"ifconfig"和"brtcl show"查看。
上述說到,使用命令搭建的網絡橋只是臨時生效,如果需要刪除,重啟系統即可,不能重啟系統可以通過以下步驟刪除:
a、"ifconfig br0 down"。從網絡里去掉br0。輸入"ifconfig"是否去掉。
b、"brctl delif br0 eth0"。斷開網絡橋和網卡設備的連接。
c、"brctl delbr br0"。刪除這個網絡橋接。
完成后通過命令搭建的網絡橋就被刪除了,"brctl show"可以看到沒有網絡橋了。