在前面我们已经学过linux的基础网络配置,而我们在实际的应用当中会发现基础的网络配置已经不能满足我们的需求,因此,我们来学习几个linux下的高级网络配置
链路聚合
链路聚合(英语:Link Aggregation)是一个计算机网络术语,指将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入流量吞吐量在各成员端口的负荷分担,交换机根据用户配置的端口负荷分担策略决定网络封包从哪个成员端口发送到对端的交换机。当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送封包,并根据负荷分担策略在剩下的链路中重新计算报文的发送端口,故障端口恢复后再次担任收发端口。链路聚合在增加链路带宽、实现链路传输弹性和工程冗余等方面是一项很重要的技术。
我们这次着重介绍两种网络接口:bond和team
bond网络接口
bond网络接口时内核上的插件
实验步骤:
1.添加一块网卡并删除网卡的ip
2.添加bond网络接口
nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 172.25.254.97/24
con-name ##bond接口
ifname ##接口名称
type ##bond类型
mode ##bond模式
在这里需要注意的是bond网络接口有三种模式
模式 | 模式名称 | 模式对应的文件 |
---|---|---|
0 | 平衡轮循 | balance-rr |
1 | 主动备份 | active-backup |
3 | 广播容错 | broadcast |
在这里我们做的是主动备份
3.加入一个监控命令 watch -n 1 cat /proc/net/bonding/bond0
4.添加服务的物理硬件
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
5.测试
ping 172.25.254.77 同时查看监控
ifconfig eth0 down ##停止eth0工作,模拟网卡坏掉
ifconfig eth0 up
ifconfig eth1 down
ifconfig eth1
成功!
team网络接口
非内核上的插件,纯软件
实验步骤:
1.删除之前bond的一切
2.添加team网络接口
nmcli connection add con-name team0 ifname team0 type team config ‘{“runner”:{“name”:“activebackup”}}’ ip4 172.25.254.97/24
team的模式(种类)
模式的文件 | 模式名称 |
---|---|
broadcast | 广播容错 |
roundrobin | 平衡轮循 |
activebackup | 主动备份 |
loadblance | 负载均衡 |
3.添加监控命令
由于team是软件,故只能监控命令
watch -n 1 teamdctl team0 state
4.添加服务的物理硬件
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
5.测试
同前面的bond一样
桥接
定义:基于公共的链路层协议将两个通信网络互连,并基于链路地址选择要传递的数据的过程。就是通过一台设备(可能不止一个)把几个网络串起来形成的连接桥接,是指依据OSI网络模型的链路层的地址,对网络数据包进行转发的过程。
简单的说就是通过网桥可以把两个不同的物理局域网连接起来,是一种在链路层实现局域网互连的存储转发设备。
NAT:网络地址转换
虚拟机的网桥:使虚拟机可以直接使用真实的物理网卡去通讯(即为同一网段)
实验步骤:
1.搭建实验环境
删除ifcfg的各种文件
2.
ifconfig ##查看网卡
cd /etc/sysconfig/network-scripts
vim ifcfg-ljz
BOOTPROTO=none
NAME=ljz
DEVICE=enp3s0
ONBOOT=yes
BRIDGE=br0
vim ifcfg-br0
DEVICE=br0
IPADDR=172.25.254.77
PREFIX=24
ONBOOT=yes
BOOTPROTO=none
TYPE=Bridge
3.通过命令brctl show查看桥接是否成功
4.安装虚拟机看是否出现桥接方式
5.brctl设置临时网桥
在虚拟机上首先删除team
brctl临时设置网桥
brctl show ##查看网桥
brctl addbr br0 ##临时添加br0
ifconfig br0 172.25.254.97/24 ##临时添加br0 ip
brctl addif br0 eth0 ##br0接到eth0上
brctl delif br0 eth0 ##删除br0和eth0的连接
ifconfig br0 down ##停止br0
brctl delbr br0 ##删除br0