一、建立桥接
1.什么是桥接
一般的交换机,网桥就有桥接作用。就交换机来说,本身有一个端口与mac的映射表,通过这些,隔离了冲突域(collision)。 简单的说就是通过网桥可以把两个不同的物理局域网连接起来,是一种在链路层实现局域网互连的存储转发设备。网桥从一个局域网接收MAC帧,拆封、校对、校验之后 ,按另一个局域网的格式重新组装,发往它的物理层,通俗的说就是通过一台设备(可能不止一个)把几个网络串起来形成的连接
2.做好实验环境
先把主机内的除ifcfg-lo的ifcfg-开头的与ip设置有关文件全部移动到别的目录下(备份防止错误后无法还原)
并且通过nm-connection-editor
把桥接 br0 删掉
cd /etc/sysconfig/network-scripts/
mv ifcfg-br0 ifcfg-enp1s0 ifcfg-wlp2s0 /wenjian/ ##将这些文件移动到指定目录
3.建立桥接
cd /etc/sysconfig/network-scripts/
vim ifcfg-enp0s25 ##编辑网卡配置文件
在这里插入图片描述
vim ifcfg-br0 ##编辑桥接配置文件
##这上面所填写的ip地址相当于一个接口,每填写一个就有一个接口,甚至可以填写不同网段的ip这样就可以实现不同网段的通信了。
systemctl start NetworkManager
systemctl restart network ##重启网络服务
二、桥接的管理
1.添加一个网桥(临时管理)
brctl show ##查看桥接的信息
brctl addbr br0 ##添加一个桥接br0(reboot后设置消失)
ifconfig br0 172.25.254.171/24 ##给桥接设置一个ip
systemctl restart network
ping 172.25.254.171 ##可以ping同设置的网桥ip
brctl show ##桥接还没有接上网卡
brctl addif br0 eth0 ##将桥接放到网卡上
测试:
将虚拟机ip设为与真机不同的网段,但是通过桥接仍然可以ping通主机,让两个网络可以通信
2.删除网桥
ifconfig br0 down ##关闭桥接,但是信息还在,还可以ping通桥接ip
brctl show ##桥接的信息依然在记录之中
brctl delbr br0 ##删掉桥接
brctl show ##查看桥接设置,可以看到桥接的信息消失
三、bond+team
##首先还是清除刚才的配置,之后为虚拟机添加两个网卡,稍后会容易看到效果。
1.bond
网卡bond可以把多个物理网卡绑定成一个逻辑上的网卡,让它们使用同一个IP工作,在增加带宽的同时提高冗余性,常用来实现本地网卡的冗余。分别和不同交换机相连,可提高可靠性,也可以用来带宽扩容。网卡绑定模式(mode)共有七种,我们这次主要探讨典型的主备模式。
##主备模式:
当住用网口故障后,Bond会切换到备用网口,切换过程中,上层的应用是无感知不受影响的,因为Bond在驱动层,会接管上层应用的数据包,缓存起来等备用网卡起来后再通过备用网卡发送出去。
设置方法:
nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 172.25.254.121/24
##给链路聚合一个ip地址(命令比较长,但是可以通过tab键补齐)
nmcli connection show ##查看bond信息
nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0
##给链路聚合插入网卡eth0
nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0
##给链路聚合插入网卡eth1
cat /proc/net/bonding/bond0 ##插入网卡成功后生成的bond文件
watch -n 1 cat /proc/net/bonding/bond0 ##监控两个网卡的工作状态
测试:
watch -n 1 cat /proc/net/bonding/bond0 ##监控两个网卡的工作状态
ping 172.25.254.6 ##使网卡处于工作状态
ifconfig eth0 down ##关闭网卡eth0,查看工作能否维持
2.team(具有bond功能并且比bond支持的功能要多)
最多支持8块网卡
支持模式常用的有以下几种:
轮询( roundrobin ) - 以轮询的方式依次将请求调度不同的服务器,即每次调度执行i = (i + 1) mod n,并选出第i台服务器。算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。
主备( activebackup )容错。一次只能使用一个Slave 接口 , 但是如果该接口出现故障 , 另一个Slave 将 接替它
负载均衡(loadbalance)分摊到多个操作单元上进行执行
• Team 和 bond0 功能类似
• Team 不需要手动加载相应内核模块
• Team 有更强的拓展性
##此次实验为便于观察的主备模式
(1)首先把上个实验的环境恢复
(2)
nmcli connection add con-name team0 type team ifname team0 config '{"runner":{"name":"activebackup"}}' ip4 172.25.254.121/24
##创建team链路聚合,设置工作模式为主备,并指定一个ip
nmcli connection add con-name eth0 ifname eth0 type team-slave master team0 ##给链路聚合插入网卡eth0
nmcli connection add con-name eth1 ifname eth1 type team-slave master team0 ##给链路聚合插入网卡eth1
测试:
watch -n 1 teamdctl team0 stat ##用监控命令查看team工作状态
ping 172.25.254.6 ##使网卡处于工作状态
ifconfig eth0 down ##关闭工作网卡查看工作状态