天天看點

工作中可能會用到的進階網絡控制(橋接,bond,team)

一、建立橋接

1.什麼是橋接

一般的交換機,網橋就有橋接作用。就交換機來說,本身有一個端口與mac的映射表,通過這些,隔離了沖突域(collision)。 簡單的說就是通過網橋可以把兩個不同的實體區域網路連接配接起來,是一種在鍊路層實作區域網路互連的存儲轉發裝置。網橋從一個區域網路接收MAC幀,拆封、校對、校驗之後 ,按另一個區域網路的格式重新組裝,發往它的實體層,通俗的說就是通過一台裝置(可能不止一個)把幾個網絡串起來形成的連接配接

2.做好實驗環境

先把主機内的除ifcfg-lo的ifcfg-開頭的與ip設定有關檔案全部移動到别的目錄下(備份防止錯誤後無法還原)

并且通過

nm-connection-editor

把橋接 br0 删掉

工作中可能會用到的進階網絡控制(橋接,bond,team)
cd  /etc/sysconfig/network-scripts/
mv  ifcfg-br0 ifcfg-enp1s0 ifcfg-wlp2s0  /wenjian/           ##将這些檔案移動到指定目錄
           

3.建立橋接

cd  /etc/sysconfig/network-scripts/
vim ifcfg-enp0s25                    ##編輯網卡配置檔案
           

在這裡插入圖檔描述

vim ifcfg-br0                       ##編輯橋接配置檔案          
           
工作中可能會用到的進階網絡控制(橋接,bond,team)

##這上面所填寫的ip位址相當于一個接口,每填寫一個就有一個接口,甚至可以填寫不同網段的ip這樣就可以實作不同網段的通信了。

systemctl start NetworkManager 
systemctl restart network         ##重新開機網絡服務
           
工作中可能會用到的進階網絡控制(橋接,bond,team)

二、橋接的管理

1.添加一個網橋(臨時管理)

brctl show                        ##檢視橋接的資訊
brctl addbr br0                   ##添加一個橋接br0(reboot後設定消失)
ifconfig br0 172.25.254.171/24    ##給橋接設定一個ip
systemctl restart network      
           
工作中可能會用到的進階網絡控制(橋接,bond,team)
ping 172.25.254.171    ##可以ping同設定的網橋ip
brctl show             ##橋接還沒有接上網卡
brctl addif br0 eth0   ##将橋接放到網卡上
           
工作中可能會用到的進階網絡控制(橋接,bond,team)
工作中可能會用到的進階網絡控制(橋接,bond,team)

測試:

将虛拟機ip設為與真機不同的網段,但是通過橋接仍然可以ping通主機,讓兩個網絡可以通信

工作中可能會用到的進階網絡控制(橋接,bond,team)

2.删除網橋

ifconfig br0 down      ##關閉橋接,但是資訊還在,還可以ping通橋接ip
brctl show             ##橋接的資訊依然在記錄之中
brctl delbr br0        ##删掉橋接
brctl show             ##檢視橋接設定,可以看到橋接的資訊消失
           
工作中可能會用到的進階網絡控制(橋接,bond,team)
工作中可能會用到的進階網絡控制(橋接,bond,team)

三、bond+team

##首先還是清除剛才的配置,之後為虛拟機添加兩個網卡,稍後會容易看到效果。

1.bond

網卡bond可以把多個實體網卡綁定成一個邏輯上的網卡,讓它們使用同一個IP工作,在增加帶寬的同時提高備援性,常用來實作本地網卡的備援。分别和不同交換機相連,可提高可靠性,也可以用來帶寬擴容。網卡綁定模式(mode)共有七種,我們這次主要探讨典型的主備模式。

##主備模式:

當住用網口故障後,Bond會切換到備用網口,切換過程中,上層的應用是無感覺不受影響的,因為Bond在驅動層,會接管上層應用的資料包,緩存起來等備用網卡起來後再通過備用網卡發送出去。

設定方法:

nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 172.25.254.121/24    
                                 ##給鍊路聚合一個ip位址(指令比較長,但是可以通過tab鍵補齊)
nmcli connection show            ##檢視bond資訊
           
工作中可能會用到的進階網絡控制(橋接,bond,team)
nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0
##給鍊路聚合插入網卡eth0
nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0
##給鍊路聚合插入網卡eth1
           
工作中可能會用到的進階網絡控制(橋接,bond,team)
cat /proc/net/bonding/bond0                     ##插入網卡成功後生成的bond檔案
watch -n 1 cat /proc/net/bonding/bond0          ##監控兩個網卡的工作狀态
           
工作中可能會用到的進階網絡控制(橋接,bond,team)

測試:

watch -n 1 cat /proc/net/bonding/bond0          ##監控兩個網卡的工作狀态
ping 172.25.254.6                               ##使網卡處于工作狀态
ifconfig eth0 down                              ##關閉網卡eth0,檢視工作能否維持
           
工作中可能會用到的進階網絡控制(橋接,bond,team)
工作中可能會用到的進階網絡控制(橋接,bond,team)

2.team(具有bond功能并且比bond支援的功能要多)

最多支援8塊網卡

支援模式常用的有以下幾種:

輪詢( roundrobin ) - 以輪詢的方式依次将請求排程不同的伺服器,即每次排程執行i = (i + 1) mod n,并選出第i台伺服器。算法的優點是其簡潔性,它無需記錄目前所有連接配接的狀态,是以它是一種無狀态排程。

主備( activebackup )容錯。一次隻能使用一個Slave 接口 , 但是如果該接口出現故障 , 另一個Slave 将 接替它

負載均衡(loadbalance)分攤到多個操作單元上進行執行

• Team 和 bond0 功能類似

• Team 不需要手動加載相應核心子產品

• Team 有更強的拓展性

##此次實驗為便于觀察的主備模式

(1)首先把上個實驗的環境恢複

(2)

nmcli connection add con-name team0 type team ifname team0 config '{"runner":{"name":"activebackup"}}' ip4 172.25.254.121/24
##建立team鍊路聚合,設定工作模式為主備,并指定一個ip
           
工作中可能會用到的進階網絡控制(橋接,bond,team)
工作中可能會用到的進階網絡控制(橋接,bond,team)
nmcli connection add con-name eth0 ifname eth0 type team-slave master team0     ##給鍊路聚合插入網卡eth0
nmcli connection add con-name eth1 ifname eth1 type team-slave master team0     ##給鍊路聚合插入網卡eth1
           
工作中可能會用到的進階網絡控制(橋接,bond,team)

測試:

watch -n 1 teamdctl team0 stat       ##用監控指令檢視team工作狀态
ping 172.25.254.6                    ##使網卡處于工作狀态
ifconfig eth0 down                   ##關閉工作網卡檢視工作狀态
           
工作中可能會用到的進階網絡控制(橋接,bond,team)
工作中可能會用到的進階網絡控制(橋接,bond,team)

繼續閱讀