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)删除虚拟机原有的网络配置

Linux 下的高级网络配置

3)添加bond接口

Linux 下的高级网络配置

4)分别为bond接口添加eth0 eth1接口

注意:只有添加了网卡设备之后才可以ping通网络

Linux 下的高级网络配置

5)用命令 watch -n 1 cat /proc/net/bonding/bond0 监控bond接口。

注意:只有添加了bond0接口,/proc/net/中才会出现bonding目录

Linux 下的高级网络配置

我们可以发现,此时在bond接口上的是eth0网卡

6)关掉其中的一块网卡(模拟网卡损坏),可以看到另一块网卡会出现在bond接口,顶替上一块网卡开始工作

在整个过程中,eth0损坏,eth1会马上顶替eth0的位置。网络一直是可以ping通的

Linux 下的高级网络配置

3.team概述

该接口与bond接口功能类似,team接口设定与bond相同,都使用nmcli命令管理

但不同的是该接口可以支持八块网卡,不需要手动加载相应内核模块

该接口比bond接口多一个模式:loadbalance负载均衡模式:该模式判断不同网卡的负载,给负载最少的网卡发送数据包

4.配置team网络接口

1)删除bond0配置和eth0,eth1

Linux 下的高级网络配置

2)添加team接口

Linux 下的高级网络配置

3)为team接口添加网卡设备

Linux 下的高级网络配置

4)用命令 watch -n 1 teamdctl team0 stat 监控team接口如图

Linux 下的高级网络配置

我们可以看到最后一行,此刻在接口上的是eth0

然后我们down掉eth0(模拟eth0网卡损坏)观察监控效果如图

Linux 下的高级网络配置

我们可以看到,当eth0损坏掉了,eth1会在team接口继续工作,保持网络通畅。而在整个过程中可以一直ping通外网。

5.配置网络桥接

1)、网桥的概念

网桥就是网络桥接,用来连接不同的网段

可以使虚拟机的网卡直接连接到真机的真实网卡,使上网速度更快

2)网桥的配置

在配置网桥时,我们需要把我们真实主机的网络的配置文件备份,以便于恢复。如图

Linux 下的高级网络配置

编辑网卡的配置文件,建立网桥的配置文件如图

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                           ##网络接口类型是桥接

Linux 下的高级网络配置

配置完之后重启网络

然后查看桥接 brctl show  如图(br0桥接在了enp2s0网卡下)

Linux 下的高级网络配置

在虚拟机中

brctl show                       查看桥接

Linux 下的高级网络配置

brctl addbr  br0  eth0        添加br0

ifconfig  br0  172.25.254.113/24   添加ip,如图添加完成

Linux 下的高级网络配置

brctl addif br0 eth0      添加桥接

然后查看 brctl show  如图

Linux 下的高级网络配置

这样虚拟机就可以直接连接到真实主机的网卡上了。

做完这些实验,我们需要删除,将虚拟机还原

Linux 下的高级网络配置