聚合鏈路與橋接測試
用途:將主機上的兩塊網卡綁定在一起,構成一個邏輯端口。
交換機根據用戶配置的端口負荷分擔策略決定報文從哪一個成員端口發送到對端的交換機。當其中一塊網卡發生故障時,則繼續使用另外一塊正常的網卡。
RHEL7叫鏈路聚合,內核自帶驅動,需要配置team的master和多個slave
聚合網絡的原理
真實的ip地址並不是在物理網卡上設置的,而是把兩個或多個物理網卡聚合成一個虛擬的網卡,在虛擬網卡上設置地址,而外部網絡訪問本機時,就是訪問的這個虛擬網卡的地址,虛擬網卡接到數據後經過兩個網卡的負載交給服務器處理。如果一塊網卡出現問題,則通過另一塊傳遞數據,保證正常通信。聚合網絡實驗過程中,添加的兩塊新網卡可以不是active狀態,甚至nmcli connect show查看沒有新添加的網卡信息。也可以使active狀態的網卡。
鏈路聚合的工作模式
1.active-backup 主備
2.loadbalance 負載均衡
3.RR RoundRobin 輪詢
測試環境:
[[email protected] ~]# ifconfig lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 [[email protected] ~]# hostnamectl |
一、測試主備模式(active-backup)
1、在主機模式再添加一塊新的網卡
先shutdown 虛擬機,然後再 VirtualBox界面再啟用網卡2。
然後啟動虛擬機。
2、查看網卡信息
[[email protected] ~]# nmcli device show | grep -i device --新增網卡為enp0s8 [[email protected] ~]# nmcli connection show ---看不到enp0s8,因為無配置文件 |
# nmcli connection show 看不到enp0s8,因為無配置文件,如果手動添加配置文件後,就可以看到enp0s8了。其實都沒必要為enp0s8和enp0s3造配置文件,因為我們要跟把兩塊網卡綁定到一塊,作為新的team設備,使用新的配置文件。這裏只為了測試一個小知識點。
[[email protected] ~]# nmcli connection add con-name enp0s8 type ethernet ifname enp0s8 |
3、添加team設備及配置文件
[[email protected] ~]# nmcli connection add type team con-name testteamfile ifname testteamdevice config ‘{"runner":{"name":"activebackup"}}‘ |
說明:
# nmcli connection add type team con-name testteamfile ifname testteamdevice config ‘{"runner":{"name":"activebackup"}}‘
testteamfile配置文件名
testteamdevice 綁定的設備名
config ’{運行規則}’。運行規則中出現的所有關鍵字使用雙引號。
"runner":{"name":"activebackup"} 指明運行級別為activebackup
如果添加錯誤,則使用 nmcli connection delete testteamfile來刪除,然後重新再添加。
配置文件添加成功後,會在/etc/sysconfig/network-scripts/目錄下生成。
[[email protected] ~]# cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]# ls ifcfg-*
ifcfg-enp0s3 ifcfg-enp0s8 ifcfg-lo ifcfg-testteamfile
4、為team設備配置IP
[[email protected] network-scripts]# nmcli connection modify testteamfile ipv4.method manual ipv4.addresses 192.168.100.123/24 ipv4.gateway 192.168.100.100 ipv4.dns 192.168.100.1 connection.autoconnect yes |
5、將兩塊網卡enp0s3和enp0s8綁定到虛擬網卡上
[[email protected] ~]# nmcli connection add type team-slave con-name testteamslave1 ifname enp0s3 master testteamdevice [[email protected] ~]# nmcli connection show |
enp0s3----->testteamslave1------>testteamdevice
enpos8----->testteamslave2------>testteamdevice
可以這麽理解:enp0s3和enp0s8被它們的主子master買去做了奴隸,一個取名叫slave1,另一個取名叫slave2。
6、激活虛擬網卡testteamdevice
[[email protected] ~]# nmcli connection up testteamfile ---註意啟動的是文件,而不是設備 [[email protected] ~]# nmcli connection up testteamslave1 [[email protected] ~]# nmcli connection up testteamslave2 |
先啟動master,再啟動兩個slave。
[[email protected] ~]# nmcli connection show [[email protected] ~]# ifconfig enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 testteamdevice: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 You have mail in /var/spool/mail/root |
從上邊可以看出:testteamdevice,enp0s3,enp0s8 三塊網卡的mac地址一樣。
三個常用的命令:
1、查看虛擬網卡的狀態
[[email protected] ~]# teamdctl testteamdevice state |
2、查看虛擬網卡的端口
[[email protected] ~]# teamnl testdevice -h [[email protected] ~]# teamnl testteamdevice getoption activeport ---當前使用的網卡端口,當前使用的是enp0s3。 |
驗證結果:
[[email protected] ~]# nmcli device disconnect enp0s3 --斷開enp0s3 [[email protected] ~]#teamncl testteamdevice port 3:enp0s8:up 1000Mbit FD |
二、橋接
要求:把本機1的其中一塊網卡轉換為橋接設備(交換機),其它客戶機連接到該設備後能與主機1正常通信。
下面把網卡enp0s8轉換為橋接設備:
[[email protected] ~]# nmcli connection show enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 [[email protected] ~]# |
#nmcli connection add type bridge con-name testbrifile ifname testbridevice
#nmcli connection modify testbrifile ipv4.method manual ipv4.addresses "192.168.100.222/24 192.168.100.1" ipv4.dns 192.168.100.1
#nmcli connection add type bridge-slave con-name testbrislave1 ifname enpos8 master testbridevice
#nmcli connection down testbrifile
#nmcli connection up testbrifile
#nmcli connection up testbrislave1
#ping -I testbridevice 192.168.100.111 #-I表示從哪塊網卡發出ping
聚合鏈路與橋接測試