Linux下企業級的高階網路配置(bond&team,橋接)
BOND&TEAM
讓Linux核心支援網絡卡繫結驅動。常見的網絡卡繫結驅動有三種模式——mode0、mode1、mode6。
mode0(平衡負載模式):平時兩塊網絡卡均工作,且自動備援,但需要在與伺服器本地網絡卡相連的交換機裝置上進行埠聚合來支援繫結技術。
mode1(平衡備援模式):平時只有一塊網絡卡工作,在它故障後自動替換為另外的網絡卡。
mode6(平衡負載模式):平時兩塊網絡卡工作,且自動備援,無需交換機裝置提供輔助支援。
BOND:
網絡卡bond是通過把多張網絡卡繫結為一個邏輯網絡卡,實現本地網絡卡的冗餘,頻寬擴容和負載均衡。在應用部署中是一種常用的技術。bond不支援負載均衡。
為了試驗我們先給虛擬機器配置兩塊網絡卡
bond
命令方式設定鏈物聚合bond模式
nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 172.25.71.100/24 新增虛擬介面 bond0
active-backup 輪循
nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0
給虛擬介面bond0新增物理裝置eth0
nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0
給虛擬介面bond0新增物理裝置eth1
watch -n 1 cat /proc/net/bonding/bond0 監視虛擬介面資訊,
此處我們檢視虛擬介面bond0的資訊,看物理裝置是否新增上,可以看到物理裝置已經新增上了
配置檔案設定鏈路聚合bond模式
#先把前面配置的虛擬bond0介面刪掉
1.cd /etc/sysconfig/network-scripts
vim ifcfg-bond0 ##編輯bond0檔案,內容如下
DEVICE=bond0 ONBOOT=yes BOOTPROTO=none IPADDR=172.25.71.100 NETMASK=255.255.255.0 TYPE=Bond BONDING_OPTS=mode=active-backup設定型別為輪循
2.vim ifcfg-eth0 ##編輯eth0檔案,內容如下
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0 服務的物件是我們配置的虛擬介面bond0
3.vim ifcfg-eth1 ##編輯eth1檔案,內容與eth0一樣,只不過device=eth0
4.重啟網路
5.watch -n 1 cat /proc/net/bonding/bond0 監視虛擬介面資訊,
此處我們檢視虛擬介面bond0的資訊,看物理裝置是否新增上,可以看到物理裝置已經新增上了
bond不支援負載均衡,ipv6,加密
team
在 linux 中, centos7之前都是使用bond機制來實現多網路繫結同一個IP 地址,來對網路提供訪問,並按不同的模式來負載均衡或者輪迴接替管理處理資料。而到了contos7之後,提供了一種強大的工具,nmcli工具命令,使用此工具,將會根據命令引數的配置來重新生成特定的配置檔案來供網路介面使用,方便而又靈活。在linux不再使用bond機制定義,而是使用網路組 team 機制,把 team 組當作一個裝置。
team :也是鏈路聚合 最多支援8塊網絡卡,Team 不需要手動載入相應核心模組
支援模式:
broadcast 廣播容錯
roundrobin 輪詢
activebackup 主備
loadbalance 負載均衡
命令的方式設定鏈物聚合team模式
1.做之前刪除之前的bond0
bond不支援加密,ipv6,和負載均衡,相容性比較差,team支援這些功能,相容性比較好
2.nmcli connection add con-name team0 ifname team0 type team config ‘{“runner”:{“name”:“activebackup”}}’ ip4 172.25.71.100/24 ##新增虛擬介面team0 activebackup 型別為輪詢
watch -n 1 teamctl team0 stat ##監控介面資訊
3.nmcli connection add con-name eth0 ifname eth0 type team-slave master team0 ##給虛擬介面team0新增物理裝置eth0
nmcli connection add con-name eth1 ifname eth1 type team-slave master team0 ##給虛擬介面team0新增物理裝置eth1
4.teamctl team0 stat 檢視介面資訊,看物理裝置是否新增成功
配置檔案的方式設定鏈物聚合team模式
cd /etc/sysconfig/network-scripts
1.vim ifcfg-team0 ##編輯虛擬介面team0
DEVICE=team0
TEAM_CONFIG="{\"runner\":{\"name\":\"activebackup\"}}" 輪詢型別
DEVICETYPE=Team
BOOTPROTO=none
IPADDR=172.25.71.100
PREFIXO=24
NAME=team0
ONBOOT=yes
2.vim ifcfg-eth0 ##編輯eth0
BOOTPROTO=none
DEVICE=eth0
ONBOOT=yes
TEAM_MASTER=team0 服務team0虛擬介面
DEVICETYPE=TeamPort
3.vim ifcfg-eth1 ##編輯eth1
BOOTPROTO=none
DEVICE=eth1
ONBOOT=yes
TEAM_MASTER=team0 服務team0虛擬介面
DEVICETYPE=TeamPort
4.systemctl restart ntwork ##重啟網路
5.teamctl team0 stat 檢視介面資訊,看物理裝置是否新增成功
橋接
橋接就是通過一臺裝置(或幾臺裝置)把幾個網路串起來形成的連線,就是通過橋接來實現無路由雙機上網的連線方案
橋接我們選擇在真機上做這個實驗
1.刪除真機上所有網路配置
2.檢視真機的網絡卡名稱
3.開始建立橋接
cd /etc/sysconfi/network-scripts/
vim ifcfg-enp1s0 ##編輯網絡卡的配置檔案
DEVICE=enp1s0
ONBOOT=yes
BOOTPROTO=none
BRIDGE=br0 橋接埠為br0
4.vim ifcfg-br0 ##編輯橋接介面br0的配置檔案
DEVICE=br0
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.71.250
NETMASK=255.255.255.0
TYPE=Bridge 型別為橋接
5.systemctl restart network ##重啟網路
6.brctl show ##檢視橋接資訊
7.檢視橋接網路是否配置成功
用命令的方式設定橋接
因真機的橋接我們已經設定好了,所以命令的方式我們在虛擬機器上進行試驗
新增:
1.先刪除所以的網路配置
1.brctl addr br0 ##新增br0橋接介面
2.ifconfig br0 172.25.71.100/24 ##配置br0橋接介面的ip
3.brctl show ##檢視橋接資訊,發現橋接介面已經存在,但沒有物理裝置加持
4.brctl addif br0 eth0 ##將橋接埠插到eth0網絡卡上
5.brctl show ##檢視橋接資訊,可以看到已經插上
6.ping 172.25.71.250可以ping同
7.刪除:
ifconfig br0 down ##關掉br0
brctl delif br0 eth0 ##將橋接埠從eth0網絡卡上拔出
brctl delbr br0 ##刪除橋接埠
brctl show 看到橋接資訊,可以發現br0橋接服務已經刪除