多网卡绑定与网桥
实现多网卡绑定
将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡
直接给两块网卡设置同一IP地址是不可以的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址
Bonding 工作模式
共7种模式:0-6 Mode
mode 0 (balance-rr):
- nmcli中的:balance-rr
- 轮询(Round-robin)策略,从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力
mode 1 (active-backup):
- 活动-备份(主备)策略,只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave.为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见
mode 2 load-balancing
- nmcli中的:balance-xor
mode 3 (broadcast):
- 广播策略,在所有的slave接口上传送所有的报文,提供容错能力
mode 4 lacp
- nmcli中的:802.3ad
mode 5 transmit load balancing
- nmcli中的:balance-tlb
mode 6 adaptive load balancing
- nmcli中的:balance-alb
说明:
active-backup、balance-tlb 和 balance-alb 模式不需要交换机的任何特殊配置
其他绑定模式需要配置交换机以便整合链接。如:
Cisco 交换机需要在模式0、2和3中使用EtherChannel,但在模式4中需要 LACP和 EtherChannel
查看bond网卡:
cat /proc/net/bonding/bond网卡名
方法1: 改配置文件方式
vim /etc/sysconfig/network-scripts/ifcfg-bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=1.1.1.100
PREFIX=8
#miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路,也就是网卡健康检测
BONDING_OPTS="mode=1 miimon=100"
vim ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
vim ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
删除绑定网卡
ifconfig bond0 down
rmmod bonding
方法2:命令配置
#模式可使用数字,或者全称
nmcli con add type bond ifname bond1 con-name bond1 mode active-backup ipv4.method manual ipv4.address 1.1.1.200/8 autoconnect yes
nmcli con add type bond-slave ifname eth0 con-name slave1 master bond1
nmcli con add type bond-slave ifname eth1 con-name slave2 master bond1
#设置eth1网卡为主网卡
nmcli con modify bond1 mode "primary=eth1"
删除绑定网卡
nmcli con delete bond1
网桥:
桥接原理:
- 把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发
- 网桥就是这样一个设备,它有若干个网口,并且这些网口是桥接起来的。与网桥相连的主机就能通过交换机的报文转发而互相通信
- 主机A发送的报文被送到交换机S1的eth0口,由于eth0与eth1、eth2桥接在一起,故而报文被复制到eth1和eth2,并且发送出去,然后被主机B和交换机S2接收到。而S2又会将报文转发给主机C、D
方法1: brctl创建网桥
此命令来自bridge-utils,目前 CentOS 8无此包
#查看网桥
brctl show
#查看CAM(content addressable memory内容可寻址存储器)表
brctl showmacs br0
#添加和删除网桥
brctl addbr/delbr br0
#添加和删除网桥中网卡
brctl addif/delif br0 eth0
#默认br0 是down,必须启用
ifconfig br0 up
#stp是生成树协议,避免交换机、网桥的广播风暴的
brctl stp br1 on
方法2: nmcli创建网桥
nmcli con add type bridge ifname br0 con-name br0 ipv4.addresses 192.168.0.100/24 ipv4.method manual
nmcli con add type bridge-slave ifname eth0 con-name br0-1 master br0

浙公网安备 33010602011771号