centos7配置網卡綁定


要求:將兩張網卡綁定為一張網卡,em1為主,em2為備

一、將原來的兩張網卡的配置文件備份

[root@localhost network-scripts]# mv ifcfg-em1 ifcfg-em1.bak
[root@localhost network-scripts]# mv ifcfg-em2 ifcfg-em2.bak

二、新建兩張網卡新配置文件

[root@localhost network-scripts]# vim ifcfg-em1
TYPE=Ethernet
BOOTPROTO=none
USERCTL=no
DEVICE=em1
ONBOOT=yes
MASTER=bond0
SLAVE=yes
[root@localhost network-scripts]# vim ifcfg-em2
TYPE=Ethernet
BOOTPROTO=none
USERCTL=no
DEVICE=em2
ONBOOT=yes
MASTER=bond0
SLAVE=yes

三、新建ifcfg-bond0文件

[root@localhost network-scripts]# vim ifcfg-bond0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=bond0
IPADDR=34.34.30.21
NETMASK=255.255.255.0
GATEWAY=34.31.30.1
DNS1=8.8.8.8
DNS2=202.106.0.20
NM_CONTROLLED=no

四、新建/etc/modprobe.d/bonding.conf文件

[root@localhost network-scripts]# vim /etc/modprobe.d/bonding.conf
alias bond0 bonding
options bond0 miimon=100 mode=1

設置開機使網卡綁定生效

[root@localhost network-scripts]# vim /etc/rc.d/rc.local

在文件最后加入一行

ifenslave bond0 em1 em2

五、停止系統NetworkManager服務

[root@localhost network-scripts]# systemctl stop NetworkManager
[root@localhost network-scripts]# systemctl disable NetworkManager

六、重啟network服務

[root@localhost network-scripts]# systemctl restart network

狀態檢查

[root@localhost network-scripts]# ifconfig -a
bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST>  mtu 1500
        inet 172.28.5.124  netmask 255.255.255.128  broadcast 172.28.5.127
        inet6 fe80::529a:4cff:fe8b:8b6a  prefixlen 64  scopeid 0x20<link>
        ether 50:9a:4c:8b:8b:6a  txqueuelen 1000  (Ethernet)
        RX packets 4936  bytes 360383 (351.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 199  bytes 47662 (46.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

em1: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
        ether 50:9a:4c:8b:8b:6a  txqueuelen 1000  (Ethernet)
        RX packets 82685  bytes 79127730 (75.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 41753  bytes 4315831 (4.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  

em2: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
        ether 50:9a:4c:8b:8b:6a  txqueuelen 1000  (Ethernet)
        RX packets 24229  bytes 1699544 (1.6 MiB)
        RX errors 1  dropped 0  overruns 0  frame 1
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 17  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 150  bytes 13786 (13.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 150  bytes 13786 (13.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

可以發現bond0、em1 、em2三個網卡的MAC地址是一樣的

[root@localhost network-scripts]# cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: em1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: em1
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 50:9a:4c:8b:8b:6a
Slave queue ID: 0

Slave Interface: em2
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 50:9a:4c:8b:8b:6b
Slave queue ID: 0
[root@localhost network-scripts]# 

可以看到當前主網卡為em1

 

七、測試

將網卡em1網線撥出,再次執行

[root@localhost network-scripts]# cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: em2
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: em1
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 50:9a:4c:8b:8b:6a
Slave queue ID: 0

Slave Interface: em2
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 50:9a:4c:8b:8b:6b
Slave queue ID: 0
[root@localhost network-scripts]# 

當前活動網卡變成em2了

這里需要注意:如果使用了keepalived做高可用架構,需要修改keepalived的配置文件,將vip綁定到bond0網卡上,而不是之前的em1

vrrp_instance VI_2 { #配置虛擬路由實
  state BACKUP #定義該節點為MASTER節點
  interface bond0 #定義VIP綁定的物理網卡
  virtual_router_id 60 #設置虛路由擬路由id,同一集群的節點群必須相同
  priority 95 #設定優先級
......

並且防火牆需要放行bond網卡的vrrp數據包,之前是配置放行em1的vrrp數據包

[root@localhost network-scripts]# firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface bond0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT 
[root@localhost network-scripts]# firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 --in-interface bond0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
[root@localhost network-scripts]# firewall-cmd --reload

 

八、解綁

[root@localhost network-scripts]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# mv ifcfg-bond0 ifcfg-bond0.bak
[root@localhost network-scripts]# mv ifcfg-em1 ifcfg-em1-bond.bak 
[root@localhost network-scripts]# mv ifcfg-em2 ifcfg-em2-bond.bak 

將原來備份的網卡配置文件恢復

[root@localhost network-scripts]# mv ifcfg-em1.bak ifcfg-em1
[root@localhost network-scripts]# mv ifcfg-em2.bak ifcfg-em2

更名bonding.conf 以及卸載bonding驅動

[root@localhost network-scripts]# mv /etc/modprobe.d/bonding.conf /etc/modprobe.d/bonding.conf.bak
[root@localhost network-scripts]# rmmod bonding

重啟network服務

[root@localhost network-scripts]# systemctl restart network

啟動NetworkManager服務

[root@localhost network-scripts]# systemctl start NetworkManager
[root@localhost ~]# systemctl enable NetworkManager

 刪除或者注釋掉開機啟動文件中的配置

[root@localhost network-scripts]# vim /etc/rc.d/rc.local 
touch /var/lock/subsys/local
#ifenslave bond0 em1 em2

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM