网络桥接和链路聚合

网络桥接和网络桥实现共享上网主机和客户端除了利用软件外 还可以利用系统自带的网络桥建立连接用双网卡的机器做主机


cd /erc/sysconfig/network-scripts/

mv ifcfg-br0 ifcfg-p4p1 /mnt/ 先把原来的网卡配置文件移走(我的主机用的网卡名称为p4p1)

Linux-网络桥接和链路聚合

Linux-网络桥接和链路聚合

然后在这里我重新写一个配置文件 vim ifcfg-p4p1

Linux-网络桥接和链路聚合

然后我们进行reboot重启主机 ifconfig进行查询

Linux-网络桥接和链路聚合

接下来我们进行网桥的搭建 使得在一个局域网内的主机可以进行数据传输

1.在真机中添加网桥 vim ifcfg-p4p1 配置网卡 

Linux-网络桥接和链路聚合

2.vim ifcfg-br0 配置网桥

Linux-网络桥接和链路聚合

Linux-网络桥接和链路聚合

之后我们用virt-manager命令创建虚拟机的时候 最后一步选择网络看到有所创建的网桥

Linux-网络桥接和链路聚合


2.网桥的连接

brctl show 显示网桥

Linux-网络桥接和链路聚合

brctl addbr br0 添加网桥br0

brctl addif br0 eth0 添加网桥连接

Linux-网络桥接和链路聚合

ifconfig br0 down 关闭网桥连接

brctl delif br0 eth0 删除网桥连接

brctl delbr br0  删除网桥

Linux-网络桥接和链路聚合

ifconfig br0 172.25.254.100 netmask 255.255.255.0 给网桥添加ip和子网掩码

Linux-网络桥接和链路聚合

虽然有ip 但是我们发现ping不通是因为网桥上面少了物理网卡的支持

Linux-网络桥接和链路聚合


3.bonding链路聚合(最多只能支持两个网卡的聚合)

nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 172.25.254.100/24

Linux-网络桥接和链路聚合

这里我们在虚拟机中再添加一块网卡

Linux-网络桥接和链路聚合

ifconfig 可以查看eth1被添加了 此时我们就有两块网卡了

Linux-网络桥接和链路聚合

这里同样是bond0上面虽然给了ip但是ping不同说明bond0上面缺少了物理网卡支持 这里我们就向bond0加入两个网卡eth0和eth1 (接下来我们进行主备模式的实验 也就是一个工作另一个在一旁闲置 但是这一块网卡一旦出现问题 另一块网卡立马顶替上去工作)

nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0

nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0

Linux-网络桥接和链路聚合

Linux-网络桥接和链路聚合

加上网卡之后就可以ping的通了

Linux-网络桥接和链路聚合

之后我们用watch -n 1 cat /proc/net/bonding/bond0 对bond0进行监控(此时我们保持后台一直在ping通)

这里可以看出eth1先工作的 因为我们首先添加的eth1 所以它首先进行的工作

Linux-网络桥接和链路聚合

之后我们用ifconfig eth1 down 会发现依然可以ping通 因为eth1出现问题 eth0会立马顶替上来进行工作

Linux-网络桥接和链路聚合

但是我们再次开启eth1的时候 会发现工作的依然是eth0 这就说明了两个网卡之间并不存在优先级


4.team链路聚合

team的种类如下 比bond多了一个负载均衡

Linux-网络桥接和链路聚合

team的特点(相比bond的工作模式 就是这个可以支持8块网卡的聚合)

Linux-网络桥接和链路聚合

nmcli对于team的设定如下图 有

Linux-网络桥接和链路聚合

nmcli connection add con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}' ipv4 172.25.254.100/24

Linux-网络桥接和链路聚合

添加网卡到team链路

nmcli connection add con-name eth0 ifname eth0 type team-slave master team0

nmcli connection add con-name eth1 ifname eth1 type team-slave master team0

Linux-网络桥接和链路聚合

如下图 now才表示添加成功 never则是表示添加失败 实在不行重启可以解决

Linux-网络桥接和链路聚合

同样我们进行监控 watch -n 1 teamdctl team0 state 查看team链路的状态(此时同样保持后台处于一直ping通的状态进行测试 这次我们先添加的eth0所以就是eth0先进行的工作)

Linux-网络桥接和链路聚合

同样ifconfig eth0 down 我们进行手动杀死eth0 会发现eth1立马顶替上来工作 ping始终是通的状态

Linux-网络桥接和链路聚合

之后再ifconfig eth0 up开启eth0 发现工作的还是eth1 说明team的链路聚合中不同网卡也没有优先级


实验结束之后就是链路team0的删除还有删除eth0 eth1 同样是使用的nmcli connection delete X命令 如下图所示

Linux-网络桥接和链路聚合


over~



相关文章: