桥接与链路聚合

高级网络配置

1.网络桥接

  • 网络桥接用网络桥实现共享上网主机和客户机除了利用软件外,还可以用系统自带的网络桥建立连接用双网卡的机器做主机。
  • 网桥(br0)就是在真机的内核上开一个接口,这个接口既连着虚拟机的网卡,也连着真机网卡。真机和虚拟机的数据都通过网桥出去,能让虚拟机和外界通信,因为虚拟机的网卡是虚拟化的,不用桥接虚拟机通信不了。

1.1网桥安装虚拟机和NAT安装虚拟机的比较

NAT(Network Address Translation)网络地址转换:当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。

桥接与链路聚合_第1张图片
桥接与链路聚合_第2张图片
桥接与链路聚合_第3张图片
桥接与链路聚合_第4张图片
因为我的真机有网桥br0,所以在这里我分别选择NAT安装和桥接安装,比较安装速度:
桥接与链路聚合_第5张图片
桥接与链路聚合_第6张图片
桥接与链路聚合_第7张图片
桥接与链路聚合_第8张图片
桥接与链路聚合_第9张图片
桥接与链路聚合_第10张图片
结论:网桥的直接效果是网络更快。
另外,这里可以安装成功的原因是我真机的dhcp服务是开启的状态,所以虚拟机能动态的获得ip进行安装。

1.2实验准备:

  • 首先,进入真机的网络配置文件所在的目录中cd /etc/sysconfig/network-scripts/,将网卡主配置文件ifcfg-enp0s25和桥接主配置文件ifcfg-br0移至一个空目录下:
mv ifcfg-enp0s25 ifcfg-br0 /zhang/

桥接与链路聚合_第11张图片

  • 用命令nm-connection-editor打开图形添加ip窗口,删除以太网Ethernet和WI-FI这两栏的信息,及桥接Bridge栏网桥br0的信息,再给真机配置原来的ip。
    桥接与链路聚合_第12张图片
    桥接与链路聚合_第13张图片
    桥接与链路聚合_第14张图片
    桥接与链路聚合_第15张图片
    桥接与链路聚合_第16张图片
  • 重启主机,在网络配置文件的目录下重新新建网卡主配置文件和桥接主配置文件。
    桥接与链路聚合_第17张图片

1.3网络桥接的配置

cd /etc/sysconfig/network-scripts/
vim /etc/ifcfg-enp0s25
vim /etc/ifcfg-br0

桥接与链路聚合_第18张图片桥接与链路聚合_第19张图片桥接与链路聚合_第20张图片
桥接与链路聚合_第21张图片

1.4网络桥接的管理命令

brctl 桥接管理命令
show 显示
addbr 添加网桥
delbr 删除网桥
addif 添加网桥连接
delif 删除网桥连接

例如:在虚拟机中显示当前桥接信息并添加网桥:
桥接与链路聚合_第22张图片给网桥上添加ip地址,子网掩码。
桥接与链路聚合_第23张图片桥接与链路聚合_第24张图片
给网桥上添加网络连接:
桥接与链路聚合_第25张图片
删除网桥上全部信息的步骤:
桥接与链路聚合_第26张图片在这里插入图片描述
注意:我们真机的网络有时ping不通同一网段的其他ip,有可能是因为网桥上没有桥接接口,我们给他添加一个物理网卡就可以了,命令为:brctl addif 网桥名 网卡名

2.链路聚合

  • 链路聚合(Link Aggregation):指将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入流量吞吐量在各成员端口的负荷分担,交换机根据用户配置的端口负荷分担策略决定网络封包从哪个成员端口发送到对端的交换机。当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送封包,并根据负荷分担策略在剩下的链路中重新计算报文的发送端口,故障端口恢复后再次担任收发端口。
  • 我们这里的链路聚合就是让两块网卡为同一个接口工作,一块是备用的网卡,当主要的网卡发生故障时,备用网卡马上代替主网卡继续工作,而不会因为故障而对我们企业造成损失。
  • 链路聚合有两种模式:一种是轮询,一种是主备,轮询会让效率变高,而主备会提高接口稳定性,但不会加大效率。

2.1bond网络

Red Hat Enterprise Linux 允许管理员使用 bonding内核模块和称为通道绑定接口的特殊网络接口将多个网络接口绑定到一个通道。根据选择的绑定模式,通道绑定使两个或更多个
网络接口作为一个网络接口,从而增加带宽,提供冗余性。

2.1.1bond的说明

我们可以通过man -k bond来查看跟bond有关的帮助文件:
在这里插入图片描述
桥接与链路聚合_第27张图片

2.1.2实验准备

  • 我们需要删除系统的网桥br0(网卡System eth0,如果有的话删除要用命令nmcli connection delete System\ eth0),如果删除失败可以查看Networkmanage的状态,这一步的目的是删除ip。
    桥接与链路聚合_第28张图片

2.1.3利用nmcli命令管理bond

nmcli con add type bond con-name bond0 ifname bond0 mode active-backup   ip4 172.25.254.124/24
nmcli con mod bond0 ipv4.addresses 172.25.254.224/24
nmcli con add type bond-slave ifname eth0 master bond0 con-name bond0-eth1
nmcli con add type bond-slave ifname eth1 master bond0 con-name bond0-eth2
  • 添加一个连接名和设备名为bond0,类型是bond,模式是主备的ip为172.25.254.124的bond,查看是否添加成功。如果添加成功了就可以cat /proc/net/bonding/bond0。
nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup   ip4 172.25.254.124/24
cat /proc/net/bonding/bond0

桥接与链路聚合_第29张图片

  • 然后,我们用命令watch -n 1 cat /proc/net/bonding/bond0对bond0进行监控,给bond0上添加一个eth0为bind0工作,此时,我们可以ping通同一网段的ip:
watch -n 1 cat /proc/net/bonding/bond0
nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0
ping 172.25.254.10

桥接与链路聚合_第30张图片

  • 我们再给bond0上添加一个eth1为bond0工作
    桥接与链路聚合_第31张图片
  • 当我们挂掉eth0时ifconfig eth0 down,我们可以看到网络的状态没有改变,一直可以ping通,这是因为eth1顶替了eth0,接着工作。
    桥接与链路聚合_第32张图片
    注意:我们这样设置的前提是虚拟机有两块虚拟网卡eth0,eth1,如果你的虚拟机只有一块网卡,你需要再添加一块。

2.2Team 接口

2.2.1Team的种类

我们可以通过man -k team查看与team相关的说明文件:
在这里插入图片描述
桥接与链路聚合_第33张图片

broadcast 平衡容错
roundrobin 平衡轮叫
activebackup 主备
loadbalance 负载均衡

Team有三种模式:主备,轮询,负载均衡,比bond多了负载均衡,所以相较于bond,team更加的智能。

2.2.2nmcli命令设定team

nmcli con add type team con-name team0 ifname team0 config '{"runner": {"name":"loadbalance"}}'
nmcli con mod team0 ipv4.addresses 1.2.3.4/24
nmcli con mod team0 ipv4.method manual
nmcli con add type team-slave ifname eth0 master team0 con-name team0-eth1
nmcli con add type team-slave ifname eth1 master team0 con-name team0-eth2

2.2.3实验

  • 首先,我们先清掉在之前设置的bond接口,以及eth1,eth0网卡的设定:
nmcli connection delete bond0
nmcli connection delete eth0
nmcli connection delete eth1
nmcli connection show
ifconfig

桥接与链路聚合_第34张图片

  • 添加一个类型是team,状态模式是主备模式的ip为172.25.254.124/24的连接名和设备名为team0的team,对他进行监控。
nmcli connection add con-name team0 type team ifname team0 config '{"runner":{"name":"activebackup"}}' ip4 172.25.254.124/24
watch -n 1 teamdctl team0 stat
ifconfig

桥接与链路聚合_第35张图片
桥接与链路聚合_第36张图片

  • 为team0添加两块网卡eth0,eth1:
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

桥接与链路聚合_第37张图片

  • 当我们挂掉eth0是,eth1会顶替eth0继续工作:
    桥接与链路聚合_第38张图片注意:我们这里的team和bond的工作模式都是主备模式,因为这个模式的实验效果明显,方便我们观察。

  • team和bond详细的功能对比图:
    桥接与链路聚合_第39张图片

你可能感兴趣的:(Linux)