CentOS7中宿主机配置多网卡绑定和建桥的方法
(1)配置modprobe文件,内容如下
cat /etc/modprobe.d/nicbond.conf
alias bond0 bonding
options bond0 mode=1 miimon=100
多网卡绑定可以有0-6 6模式
mode=0 多端口轮询发送数据包;
mode=1 主备模式;
mode=2 基于HASH算法发送数据包;
mode=3 每个接口上传输每个数据包,此模式提供了容错能力;
mode=4 基于(802.3ad) IEEE 802.3ad Dynamic link aggregation(IEEE 802.3ad 动态链接聚合),需要和交换机配合;
mode=5 每个网卡根据当前的负载(根据速度计算)分配外出流量;
mode=6 针对ipv4做了优化;
(2) 挂载bonding模块
modprobe bonding
(3) 配置多网卡绑定接口
服务器有4个网口:
enp3s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 1c:c1:de:1e:a1:f2 txqueuelen 1000 (Ethernet)
RX packets 6716921 bytes 745694715 (711.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 689079 bytes 174181455 (166.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp3s0f1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 1c:c1:de:1e:a1:f4 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp4s0f0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 1c:c1:de:1e:a1:f6 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp4s0f1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 1c:c1:de:1e:a1:f8 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
绑定enp4s0f0 enp4s0f1,先配置聚合接口:
cd /etc/sysconfig/network-scripts
cat ifcfg-bond0
DEVICE=bond0
ONBOOT=YES
BRIDGE=br1
配置 enp4s0f0:
cat ifcfg-enp4s0f0
HWADDR=1C:C1:DE:1E:A1:F6
TYPE=Ethernet
BOOTPROTO=none
NAME=enp4s0f0
UUID=2ae88bd4-5d49-42e8-b247-702738c954ac
ONBOOT=yes
MASTER=bond0
SLAVE=yes
配置 enp4s0f1:
cat ifcfg-enp4s0f1
HWADDR=1C:C1:DE:1E:A1:F8
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=enp4s0f1
UUID=d1a335d6-dec4-4ba2-aaea-0b7c14b653c6
ONBOOT=yes
MASTER=bond0
SLAVE=yes
(4) 配置虚拟网桥
cat ifcfg-br1
DEVICE=br1
TYPE=Bridge
IPADDR=192.168.20.200
NETMASK=255.255.255.0
ONBOOT=yes
重启网络,可以通过ifconfig命令查看结果:
systemctl restart network.service
ifconfig
br1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.20.200 netmask 255.255.255.0 broadcast 192.168.20.255
ether 1a:bf:fc:5a:da:91 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
查看/proc/net/bonding/bond0可以看到绑定端口的状态:
cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: load balancing (round-robin)
MII Status: down
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0