linux网卡聚合及链路聚合
1.修改配置文件的方式
配置文件保存的位置
vim /etc/sysconfig/network-scripts/[网卡名]
重要参数:
TYPE=Ethernet # 网卡类型:为以太网
BOOTPROTO=dhcp/static/none # 激活此接口后,使用什么协议
ONBOOT=yes/no # 是否开机启动, 要想网卡开机就启动或通过
DNS1=8.8.8.8 # 设置主要DNS
DNS2=114.114.114.114 # 设置附属DNS
IPADDR=192.168.56.12 # 设置IP地址
PREFIX=24 # 设置掩码
NETMASK=255.255.255.0 #设置掩码和上面的一样的效果 任选一
GATEWAY=192.168.56.254 # 设置网关
NAME=eno1 # 管理员取的名字
DEVICE=eno1 # 设备的名字
文件设置完后,需要重启接口和服务
最近在项目上遇到了双网卡做绑定的问题 ,这里记录一下。
2.链路聚合
linux聚合有6种模式
-
broadcast 传输来自所有端口的包
-
roundrobin 以轮训的方式传输所有端口的包
-
activebakup 这是一个故障迁移程序, 监控链接更改并选择活动的端口进行传输(主备)
-
loadbalance 监控流量并使用哈希函数以尝试在选择传输端口的时候达到完美均衡
-
lacp实施802.3ad 链接聚合协议, 可以使用与loadbalance运行程序相同的传输端口选择的可能性
mode的值表示工作模式,他共有0,1,2,3,4,5,6这7种模式,常用的为0,1两种。
-
mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。
-
mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份.
-
mode=2表示balance-x,提供负载均衡和冗余功能。
-
mode=3表示broadcast,这个模式提供容错性。
-
mode=4表示802.3ad,提供了ethtool的迅速,以及使用了802.3ad模式
-
mode=5表示balance-tlb,自动适应负载均衡,自动切换故障。在此基础上Ethtool支持驱动。
-
mode=6表示在5模式的基础上优化了arp的广播信息。
3.交换机的配置(聚合链路)
(config)#interface range gigabitEthernet 0/6 -7
(config-if-range)#switchport access vlan 10
(config-if-range)#channel-protocol lacp
(config-if-range)#channel-group 3 mode active
(config)#interface port-channel 3
(config-if)#switchport access vlan 10
或
[~HUAWEI-Eth-Trunk11]dis this
interface Eth-Trunk11
port link-type trunk
port trunk pvid vlan 127
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 127 stp edged-port enable mode lacp-dynamic
[~HUAWEI-10GE1/0/11]dis this
interface 10GE1/0/11 eth-trunk 11 storm suppression unknown-unicast packets 1000 storm suppression multicast packets 1000 storm suppression broadcast packets 1000 device transceiver 10GBASE-FIBER
[~HUAWEI-10GE2/0/33]dis this
interface 10GE2/0/33 eth-trunk 11 storm suppression unknown-unicast packets 1000 storm suppression multicast packets 1000 storm suppression broadcast packets 1000 device transceiver 10GBASE-FIBER
4.链路聚合配置bond(服务配置)
-
创建bond0口,其mode 为4
nmcli connection add type bond con-name bond01 ifname bond0 mode 4
-
bond01 :是引用连接的名称
-
bond0 :是接口的名称
-
mode :就是前面的集中, 或者用 :config '{"runner":{"name":"activebakup"}}'
-
-
配置静态IP地址网关 (确定接口组的IPV4/6的属性)
nmcli connection modify bond0 ipv4.addresses '192.168.127.45/24' ipv4.gateway '192.168.127.254'
nmcli connection modify bond0 ipv4.method manual
注意:
必须首先分配ipv4.addresses ,然后才能设置ipv4.method manual
有DHCP服务器则可以不配置
-
将2个网卡加到bond0 里去
使用bond
nmcli connection add type bond-slave ifname eno1 master bond0
nmcli connection add type bond-slave ifname eno2 master bond0使用team
nmcli connection add type team-slave ifname eno1 master bond0
nmcli connection add type team-slave ifname eno2 master bond0
-
启动与关闭组接口和端口接口
nmcli connection up bond0
nmcli connection down bond0
teamdctl syuee state #查看team的状态
-
验证
ip addr show bond0
5. 链路聚合配置team
team 网卡聚合
-
team 介绍
链路聚合与双网卡绑定几乎相同,可以实现多网卡绑定主从荣誉,负载均衡,提高网络访问流量。
team 虚拟网卡和被 team 的两张或多张物理网卡拥有相同的 MAC 地址, 其中 team 虚拟网卡的 MAC 地址是其中一张物理网卡的 MAC 地址,
而 team 虚拟网卡的 MAC 地址是根据 team 自己实现的一个算法来选择的.
-
常用模式
模式:
roundrobin 平衡轮叫
activebackup 主备模式
loadbalance 负载均衡模式(哪个网卡空闲或压力小就给谁)
指定模式:
config '{"runner":{"name":"roundrobin"}}'
-
创建 myteam 逻辑网卡(名称为 myteam(名称可自定义),文档以轮询模式为例)
nmcli connection add con-name myteam ifname myteam type team config '{"runner":{"name":"roundrobin"}}'
-
将两张子网卡添加到 myteam 逻辑网卡中
nmcli connection add type team-slave con-name subteam-1 ifname ens37 master myteam
nmcli connection add type team-slave con-name subteam-2 ifname ens38 master myteam
-
激活网卡
nmcli connection up subteam-1
nmcli connection up subteam-2
-
myteam 配置 ip 地址
nmcli connection modify myteam ipv4.method manual ipv4.addresses "50.50.50.100/24 " connection.autoconnect yes
-
启动 myteam 逻辑网卡
nmcli connection up myteam
-
查看 myteam 逻辑网卡及子网卡状态
teamdctl myteam state view
setup:
runner: roundrobin
ports:
ens37
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
ens38
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0 -
6. nmcli常用命令
nmcli :是linux的内置命令,无需安装 nmcli connection show : 列出当前的网卡设备 nmcli connection show eno1 :查看该网卡的详细信息
常用操作
nmcli connection modify //修改已经设置好的网络
nmcli connection modify static ipv4.dns 8.8.8.8 //设置DNS服务器
nmcli connection modify static +ipv4.dns 114.114.114.114 # 增加一个DNS
nmcli connection modify static ipv4.addresses 192.168.56.10/24 gw4 192.168.56.254
配置IP地址 ,手动或者dhcp
nmcli connection add con-name 'syuee' type ethernet ifname eno1
nmcli connection add con-name "static" type ethernet ifname eno1 autoconnect no ipv4.addresses 192.168.56.12/24 gw4 192.168.56.254
nmcli connection up syuee
nmcli connection down syuee
网卡的类型比较多 , 如type后面可以跟ethernet ,wifi,bluetooth等 nmcli connection add htlp --查看所有的网卡类型