Linux 下的高级网络配置
1. bond概述
1)什么是bond:就是把多个物理网络接口绑定到一起,使它们就像一个网络接口那样运行。通过Bonding技术,可以实现网口冗余,负载均衡,从而达到高可用高可靠的目的
2)bond的主要三种策略模式:
平衡抡循环策略
mode=0 ,即:(balance-rr)Round-robin policy
特点:传输数据包顺序是依次传输(第一个包走第一个接口,第二个包走第二个接口……),;此模式下,同一连接/会话的数据包可能使用不同的接口进行传输 (走不同的路由路径),到达目的地的数据可能是无序的, 而无序到达的数据包需要重新要求被发送,进而导致网络的吞吐量下降。
此模式提供负载平衡和容错能力
主-备份策略
mode=1,即: (active-backup)Active-backup policy
特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避 免switch(交换机)发生混乱。;由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N
此模式只提供了容错能力
平衡策略
mode=2,即:(balance-xor)XOR policy
特点:基于指定的传输HASH策略传输数据包。缺省的策略是:(源MAC地址 XOR 目标MAC地址)% slave数量。其他的传输策略可以通过xmit_hash_policy选项指定。在此策略下,同一会话的数据包会使用同一个接口传输。
此模式提供负载平衡和容错能力
2.配置bond主-备份策略
1)为虚拟机添加第二块网卡
2)删除虚拟机原有的网络配置
3)添加bond接口
4)分别为bond接口添加eth0 eth1接口
注意:只有添加了网卡设备之后才可以ping通网络
5)用命令 watch -n 1 cat /proc/net/bonding/bond0 监控bond接口。
注意:只有添加了bond0接口,/proc/net/中才会出现bonding目录
我们可以发现,此时在bond接口上的是eth0网卡
6)关掉其中的一块网卡(模拟网卡损坏),可以看到另一块网卡会出现在bond接口,顶替上一块网卡开始工作
在整个过程中,eth0损坏,eth1会马上顶替eth0的位置。网络一直是可以ping通的
3.team概述
该接口与bond接口功能类似,team接口设定与bond相同,都使用nmcli命令管理
但不同的是该接口可以支持八块网卡,不需要手动加载相应内核模块
该接口比bond接口多一个模式:loadbalance负载均衡模式:该模式判断不同网卡的负载,给负载最少的网卡发送数据包
4.配置team网络接口
1)删除bond0配置和eth0,eth1
2)添加team接口
3)为team接口添加网卡设备
4)用命令 watch -n 1 teamdctl team0 stat 监控team接口如图
我们可以看到最后一行,此刻在接口上的是eth0
然后我们down掉eth0(模拟eth0网卡损坏)观察监控效果如图
我们可以看到,当eth0损坏掉了,eth1会在team接口继续工作,保持网络通畅。而在整个过程中可以一直ping通外网。
5.配置网络桥接
1)、网桥的概念
网桥就是网络桥接,用来连接不同的网段
可以使虚拟机的网卡直接连接到真机的真实网卡,使上网速度更快
2)网桥的配置
在配置网桥时,我们需要把我们真实主机的网络的配置文件备份,以便于恢复。如图
编辑网卡的配置文件,建立网桥的配置文件如图
vim /etc/sysconfig/network-scripts/ifcfg-www
DEVICE=enp2s0 ##设备名称
ONBOOT=yes ##开启服务设备自动**
BOOTPROTO=none ##网卡工作状态为静态
BRIDGE=br0 ##网卡开启的网桥接口
vim /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0 ##设备名称
ONBOOT=yes ##开启服务设备自动**
BOOTPROTO=none ##网卡工作状态为静态
IPADDR=172.25.254.67 ## IP
NETMASK=255.255.255.0 ##子网掩码
TYPE=Bridge ##网络接口类型是桥接
配置完之后重启网络
然后查看桥接 brctl show 如图(br0桥接在了enp2s0网卡下)
在虚拟机中
brctl show 查看桥接
brctl addbr br0 eth0 添加br0
ifconfig br0 172.25.254.113/24 添加ip,如图添加完成
brctl addif br0 eth0 添加桥接
然后查看 brctl show 如图
这样虚拟机就可以直接连接到真实主机的网卡上了。
做完这些实验,我们需要删除,将虚拟机还原