多网卡绑定: 把多块网卡逻辑上绑在一块使用,对外就相当于一块网卡,他们共享一个ip地址。 好处: 防止一块网卡坏了就无法使用,提升带宽。 工作模式: mod=0:轮询模式,两个网
把多块网卡逻辑上绑在一块使用,对外就相当于一块网卡,他们共享一个ip地址。
好处:防止一块网卡坏了就无法使用,提升带宽。
工作模式:-
mod=0:轮询模式,两个网卡轮流处理数据包。 --- 提升带宽和容错性
-
mod=1:主备模式,住在一个网卡上处理,主坏了就使用备用的。 --- 只提升了容错性
注:某些模式(0、2、3)需要在交换机上配置。(1、5、6)不需要配置。
#通过修改配置文件的方式实现。
#1.创建一张虚拟网卡,并指定工作模式
/etc/sysconfig/network-scripts/ifcfg-bond0 #创建的虚拟网卡
NAME=bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=10.0.0.100
PREFIX=8
#miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路
#model=1 选用model1这种模式
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
#2.对两张网卡进行配置(不配置地址,地址都配置到虚拟网卡上面去了)
/etc/sysconfig/network-scripts/ifcfg-eth0
NAME=eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0 #网卡并非独立网卡,而是附属到bond0上,网卡的设置由bond0来进行控制
SLAVE=yes #SLAVE:从设备
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-eth1
NAME=eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
范例:主备模式的配置(nmcli命令实现)
#nmcli的最终结果就是生成配置文件
#添加bonding接口 #mode active-backup模式--model=1这个模式
nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 10.0.0.100/24
#将物理网卡加入到bond设备里面 #ifname:指定物理网卡的接口名
nmcli con add type bond-slave ifname ens7 master bond0
nmcli con add type bond-slave ifname ens3 master bond0
#注:没有给物理网卡指定连接名时,则该名称是接口名称加类型构成 con-name:连接名 ifname:接口名
#要启动绑定,则必须首先启动从属接口
nmcli con up bond-slave-eth0
nmcli con up bond-slave-eth1
#启动绑定
nmcli con up mybond0
查看创建的bond0的状态:
/proc/net/bonding/bond0
方法一: ifconfig bond0 down
方法二: rmmod bonding
网络组
bond这种实现方案比较老了,从CentOS7开始就推出了新的技术:team(网络组)
效果和bond功能是一样的,内核实现和命令上面发生了改变。
-
broadcast
-
roundrobin
-
activebackup --主备模式
-
loadbalance --- 负载均衡
-
lacp (implements the 802.3ad Link Aggregation Control Protocol)
#1.创建网络组接口 # ifname INAME 这个接口名是自己虚拟出来的接口
nmcli con add type team con-name CNAME ifname INAME 工作模式(json格式)
#CNAME 连接名
#INAME 接口名
#JSON 指定runner方式,格式:'{"runner": {"name": "METHOD"}}'
#METHOD 可以是broadcast, roundrobin, activebackup, loadbalance, lacp
#2.把物理网卡加入进来让它成为一个从的设备
nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
#CNAME 连接名,连接名若不指定,默认为team-slave-IFACE
#INAME 网络接口名
#TEAM 网络组接口名
#3.启动网卡(都要启动)
nmcli con up CNAME #启动网卡
#断开连接的方法:
nmcli dev dis INAME
#删除 删除的时候会把配置文件也一起闪出掉
nmcli con delete Name(连接名)
范例
#1。 添加一个team设备
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. 将物理网卡计入team中让他成为team的成员
nmcli con add con-name team0-eth1 type team-slave ifname eth1 master team0
nmcli con add con-name team0-eth2 type team-slave ifname eth2 master team0
#3.启动生效
nmcli con up myteam0
nmcli con up team0-eth1
nmcli con up team0-eth2
#查看使用的是那种模式
teamdctl team0 state #team0表示创建的team名字
ping -I team0 192.168.0.254
#禁用某一张网卡的方法:
nmcli dev dis eth1