日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux篇 | 多网卡绑定技术 binding 和 网络组nmcli

發布時間:2023/12/15 linux 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux篇 | 多网卡绑定技术 binding 和 网络组nmcli 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

多網卡綁定
“Bonding” 和 “nmcli的網絡組Network Teaming”
二者實現的功能一樣,但從某種角度,網絡組要比Bonding的技術要好

網絡接口配置:Bonding
將多塊網卡綁定同一IP地址對外提供服務,可以實現高可用或者負載均衡。直接給兩塊網卡設置同一IP地址是不可以的。通過bonding,虛擬一塊網卡對外提供連接,物理網卡被修改為相同的MAC地址。

一。Bonding工作模式
多網卡綁定有很多模式,如下:

Mode 0 (balance-rr):
輪轉(Round-robin)策略:從頭到尾順序的在每一個slave接口上面發送數據包。本模式提供負載均衡和容錯的能力。如第一個數據包用網卡1轉發,第二個數據包由網卡2轉發。

Mode 1 (active-backup)
活動-備份(主備)策略:只有一個slave被激活,當且僅當活動的slave接口失敗時才會激活其他slave.為了避免交換機發生混亂,此時綁定的MAC地址只有一個外部端口上可見。即,平時只有一個網卡工作,當網卡壞掉會自動啟動第二個網卡工作。

Mode 3 (broadcast)
廣播策略:在所有的slave接口上傳送所有的報文,提供容錯能力。即在所有的網卡上傳輸一樣的數據。

還有其它的模式:
active-backup、balance-tlb 和 balance-alb 模式不需要交換機的任何特殊配置。其他綁定模式需要配置交換機以便整合鏈接。如:Cisco 交換機需要在模式Mode 0、Mode 2 和Mode 3 中使用 EtherChannel,但在模式Mode 4中需要 LACP和EtherChannel
二。Bonding配置
1.bonding設備的配置文件
第一步:創建bonding設備的配置文件
/etc/sysconfig/network-scripts/ifcfg-bond0
推薦的配置的項有:
DEVICE=設備名稱,如bond0
BOOTPROTO=協議,如none
BONDING_OPTS=指定工作模式,如 “miimon=100 mode=0”表示工作模式"Mode 0",且沒100ms監測一次鏈路連接狀態。

說明:
miimon 是用來進行鏈路監測的。如果miimon=100,那么系統每100ms 監測一次鏈路連接狀態,如果有一條線路不通就轉入另一條線路

第二步:在要加入bonding的網卡,的配置文件里寫入bonding設備的項。如下:
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0《======
SLAVE=yes 《======
USERCTL=no
寫入上面兩行后,網卡就不可以單獨工作了,而是成為bonding的附屬設備工作。可配置多個網卡配置文件加入bonding設備,且binding所屬的網卡,顯示的MAC地址都一樣。

2.查看bond0的狀態
查看bond0的狀態:/proc/net/bonding/bond0
查看當前有幾個bonding:/sys/class/net/bonding_masters

3.刪除bond0
第一步:禁用bonding
ifconfig bond0 down
第二步:卸載bonding驅動模塊
rmmod bonding
第三步:刪除bonding的配置文件及所屬網卡配置文件里bonding的項
第四步:重啟網絡服務

4.bonding的詳細幫助
/usr/share/doc/kernel-doc- version/Documentation/networking/bonding.txt
https://www.kernel.org/doc/Documentation/networking/bonding.txt

5.實驗Mond 1 活動-備份(主備)策略
1.確保你有兩個網卡,并且都在一個網絡,如果用虛擬機做實驗,要確保兩個網卡是一個模式,如“僅主機模式”。

2.創建bonding設備的配置文件
在/etc/sysconfig/network-scripts目錄創建文件ifcfg-bond0
DEVICE=bond0 \設備名稱
BOOTPROTO=none \協議
IPADDR=192.168.36.6 \bonding的ip地址
PREFIX=24 \子網掩碼
GATEWAY=192.168.36.254 \網關
DNS1=192.168.36.6 \DNS
BONDING_OPTS=miimon=100 mode=1

3.在網卡的配置文件里加入bonding的項
進入/etc/sysconfig/network-scripts/ifcfg-ethXX
添加行:
MASTER=bond0
SLAVE=yes
添加后,文件原來指定的靜態或動態地址就會失效,生效的是bonding地址

4.確保NetworkManager服務關閉,并重啟network服務
Centos6:
service NetworkManager status 查看服務狀態
chkconfig NetworkManager off \關閉自動啟動
service NetworkManager stop \關閉服務
service network restart \重啟網絡服務
Centos7:
systemctl status NetworkManager 查看服務狀態
systemctl stop NetworkManager 臨時停止
systemctl disable NetworkManager 下次開機即停止服務
systemctl restart network \重啟網絡服務

5.查看bonding:“ifconfig”

6.檢測
停用一個網卡,在ping“bond0”地址,能ping通證明binding的"Mode 1"模式生效了。

7.查看binding設備中,“Mode 1”模式下,binding所屬的哪個網卡在活動:
方法一:使用watch -n1 netstat -i查看,不明顯可以用另一臺電腦ping“binding”的IP地址
方法二:查看/proc/net/bonding/bond0文件
網絡組Network Teaming
概念:
網絡組:是將多個網卡聚合在一起方法,從而實現冗錯和提高吞吐量
網絡組不同于舊版中bonding技術,提供更好的性能和擴展性
網絡組由內核驅動和teamd守護進程實現.
多種方式(模式)runner:
broadcast(廣播策略)《===》對應bonding模式mode 3
roundrobin(輪轉策略)《===》對應bonding模式mode 0
activebackup(活動-備份(主備)策略)《===》對應bonding模式mode 1
loadbalance(限定流量)《===》對應bonding模式mode 2
lacp(implements the 802.3ad Link Aggregation Control Protocol:實現802.3ad鏈路聚合控制協議)《===》對應bonding模式mode 4
參考鏈接:https://www.cnblogs.com/lqynkdcwy/p/9548668.html
注意事項:
啟動網絡組接口不會自動啟動網絡組中的port接口
啟動網絡組接口中的port接口總會自動啟動網絡組接口
禁用網絡組接口會自動禁用網絡組中的port接口
沒有port接口的網絡組接口可以啟動靜態IP連接
啟用DHCP連接時,沒有port接口的網絡組會等待port接口的加入
創建網絡組
1.創建網絡組接口
nmcli con add type team con-name CNAME ifname INAME [config JSON]

CNAME表示連接名
INAME表示接口名
JSON指定runner方式(模式),格式如下:
'{"runner": {"name": "METHOD"}}',其中METHOD 可以是:
broadcast
roundrobin
activebackup
loadbalance
lacp
2.創建port接口
`nmcli con add type team-slave con-name CNAME ifname INAME master TEAM

CNAME 連接名
INAME 網絡接口名
TEAM 網絡組接口名
連接名若不指定,默認為team-slave-IFACE
nmcli dev dis INAME
nmcli con up CNAME
INAME 設備名 CNAME 網絡組接口名或port接口
3.新網絡組的配置文件
示例

網絡組的配置文件/etc/sysconfig/network-scripts/ifcfg-team0

DEVICE=team0
DEVICETYPE=Team
TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}"
BOOTPROTO=none
IPADDR0=172.16.0.100
PREFIX0=24
NAME=team0
ONBOOT=yes

網絡組所屬網卡的配置文件/etc/sysconfig/network-scripts/ifcfg-team0-eth1

DEVICE=eth1
DEVICETYPE=TeamPort
TEAM_MASTER=team0
NAME=team0-eth1
ONBOOT=yes

4.創建網絡組示例

示例1:
nmcli con add type team con-name myteam0 ifname team0 config
'{“runner”: {“name”: “loadbalance”}}' ipv4.addresses
192.168.1.100/24 ipv4.method manual
示例2:
nmcli con add con-name team0-eth1 type team-slave ifname eth1 master team0
示例3:
nmcli con add con-name team0-eth2 type team-slave ifname eth2 master team0
示例4:
nmcli con up myteam0
示例5:
nmcli con up team0-eth1
示例6:
nmcli con up team0-eth2
示例7:查看tean0狀態
teamdctl team0 state
示例8:
nmcli dev dis eth1
5.實驗:創建、刪除網絡組

1)創建網絡組team0
查看網絡連接
ip link
創建網絡組team0,名字為myteam0,模式是主備模式
nmcli con add type team con-name myteam0 ifname team0 config'{"runner": {"name": "activebackup"}}'
給網絡組添加IP地址
nmcli con mod team0 ipv4.addresses '192.168.0.100/24'
手工指定
nmcli con mod team0 ipv4.method manual
將物理網卡eth1加入網絡組etam0
nmcli con add con-name team0-port1 type team-slave ifname eth1 master team0
將物理網卡eth2加入網絡組etam0
nmcli con add con-name team0-port2 type team-slave ifname eth2 master team0
將網絡組關聯的兩個物理網卡啟用
nmcli con up team0-port1
nmcli con up team0-port2
查看網絡組狀態
teamdctl team0 state
nmcli connection

2.刪除網絡組team0
首先禁用網絡組team0
nmcli connection down team0
查看網絡組
teamdctl team0 state
nmcli connection show
刪除網絡組的網卡設備
nmcli connectioni delete team0-eth0
nmcli connectioni delete team0-eth1
在查看網絡組
查看網絡組
teamdctl team0 state
nmcli connection show
刪除網絡組
示例:刪除網絡組team0
首先禁用網絡組team0
nmcli connection down team0
查看網絡組
teamdctl team0 state
nmcli connection show
刪除網絡組的網卡設備
nmcli connectioni delete team0-eth0
nmcli connectioni delete team0-eth1
在查看網絡組
查看網絡組
teamdctl team0 state
nmcli connection show

`

轉載于:https://blog.51cto.com/kingding/2376950

總結

以上是生活随笔為你收集整理的Linux篇 | 多网卡绑定技术 binding 和 网络组nmcli的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。