Linux-網路橋接和鏈路聚合
網路橋接和鏈路聚合
網路橋接和網路橋實現共享上網主機和客戶端除了利用軟體外 還可以利用系統自帶的網路橋建立連線用雙網絡卡的機器做主機
cd /erc/sysconfig/network-scripts/
mv ifcfg-br0 ifcfg-p4p1 /mnt/ 先把原來的網絡卡配置檔案移走(我的主機用的網絡卡名稱為p4p1)
然後在這裡我重新寫一個配置檔案 vim ifcfg-p4p1
然後我們進行reboot重啟主機 ifconfig進行查詢
接下來我們進行網橋的搭建 使得在一個區域網內的主機可以進行資料傳輸
1.在真機中新增網橋 vim ifcfg-p4p1 配置網絡卡
2.vim ifcfg-br0 配置網橋
之後我們用virt-manager命令建立虛擬機器的時候 最後一步選擇網路看到有所建立的網橋
2.網橋的連線
brctl show 顯示網橋
brctl addbr br0 新增網橋br0
brctl addif br0 eth0 新增網橋連線
ifconfig br0 down 關閉網橋連線
brctl delif br0 eth0 刪除網橋連線
brctl delbr br0 刪除網橋
ifconfig br0 172.25.254.100 netmask 255.255.255.0 給網橋新增ip和子網掩碼
雖然有ip 但是我們發現ping不通是因為網橋上面少了物理網絡卡的支援
3.bonding鏈路聚合(最多隻能支援兩個網絡卡的聚合)
nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 172.25.254.100/24
這裡我們在虛擬機器中再新增一塊網絡卡
ifconfig 可以檢視eth1被添加了 此時我們就有兩塊網絡卡了
這裡同樣是bond0上面雖然給了ip但是ping不同說明bond0上面缺少了物理網絡卡支援 這裡我們就向bond0加入兩個網絡卡eth0和eth1 (接下來我們進行主備模式的實驗 也就是一個工作另一個在一旁閒置 但是這一塊網絡卡一旦出現問題 另一塊網絡卡立馬頂替上去工作)
nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0
nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0
加上網絡卡之後就可以ping的通了
之後我們用watch -n 1 cat /proc/net/bonding/bond0 對bond0進行監控(此時我們保持後臺一直在ping通)
這裡可以看出eth1先工作的 因為我們首先新增的eth1 所以它首先進行的工作
之後我們用ifconfig eth1 down 會發現依然可以ping通 因為eth1出現問題 eth0會立馬頂替上來進行工作
但是我們再次開啟eth1的時候 會發現工作的依然是eth0 這就說明了兩個網絡卡之間並不存在優先順序
4.team鏈路聚合
team的種類如下 比bond多了一個負載均衡
team的特點(相比bond的工作模式 就是這個可以支援8塊網絡卡的聚合)
nmcli對於team的設定如下圖 有
nmcli connection add con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}' ipv4 172.25.254.100/24
新增網絡卡到team鏈路
nmcli connection add con-name eth0 ifname eth0 type team-slave master team0
nmcli connection add con-name eth1 ifname eth1 type team-slave master team0
如下圖 now才表示新增成功 never則是表示新增失敗 實在不行重啟可以解決
同樣我們進行監控 watch -n 1 teamdctl team0 state 檢視team鏈路的狀態(此時同樣保持後臺處於一直ping通的狀態進行測試 這次我們先新增的eth0所以就是eth0先進行的工作)
同樣ifconfig eth0 down 我們進行手動殺死eth0 會發現eth1立馬頂替上來工作 ping始終是通的狀態
之後再ifconfig eth0 up開啟eth0 發現工作的還是eth1 說明team的鏈路聚合中不同網絡卡也沒有優先順序
實驗結束之後就是鏈路team0的刪除還有刪除eth0 eth1 同樣是使用的nmcli connection delete X命令 如下圖所示
over~