高级网络控制

#######链路聚合########
就是把两个网卡变成一个网卡

实验前的环境:
虚拟机desktop下进行实验
1.添加两个网卡etho0,和eth1
2.关闭dhcp服务
systemctl stop dhcpd  
3.清除eth0,eth1网卡的配置信息
nm-connection-editor  ##delete

实验前的环境:
虚拟机desktop下进行实验
1.添加两个网卡etho0,和eth1
2.关闭dhcp服务
systemctl stop dhcpd  
3.清除eth0,eth1网卡的配置信息
nm-connection-editor  ##delete

为了提供网络的高可用性,我们可能需要将多块网卡绑定成一块虚拟网卡对外提供服务,这样即使其中的一块物理网卡出现故障,也不会导致链接中断。比如我们可以将eth0和eth1绑定成虚拟网卡bond0

一. bond链路聚合接口
bond的定义:
  简单的来说,bonding就是把多个物理网络接口绑定到一起,使他们就像一个网络接口那样运行。通过bangding技术,可以实现网口冗余,负载均衡,从而达到高可用高可靠的目的。
  Red Hat Enterprise linux 允许管理员使用bongding内核模块和称为通道绑定接口的特殊网络接口将多个网络接口绑定到一个通道。根据选择的模式,通道绑定使两个或更多个网络接口作为一个网络接口,从而增加带宽或者提供冗余性。

监控命令:watch -n 1 cat /proc/net/bonding/bond0  ##使用监控命令,观察实验效果。

1. nmcli命令配置bonding链路聚合接口
	1.nmcli connection add con-name bond0 ifname bond0 type bond mode active-bactive ip4 172.25.254.178/24  ## 配置bond0这个链路聚合接口,mode不知道怎么写两下tab,列出所有的工作模式
注:
con-name(连接名)   ifname(设备名)   type(设备类型)  mode(工作模式)   
balance-rr(平衡抡循策略):传输数据包顺序是依次传输,直到最后一个传输完毕,此模式提供负载平衡和容错能力;
active-backup(主备份策略):只有一个设备处于活跃状态。一个坏了之后,另一个马上由备份转换为主设备,此模式提供了容错能力

	2. nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0  ## 给这个接口一个eth0的网卡,这时用测试端ping 172.25.254.178就可以ping通了       
注:bond-slave  ## eth0的主设备是bond0,类型是bond的从设备。master(连接的设备),bond-slave(从设备,也可以理解为附属设备)  
	3. nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0  ## 给这个接口一个eth1的备用网卡   
        此时在监控可以观察到,是eth0在网卡正在使用,进行如下操作,观察实验现象
	4. ifconfig eth0 down  ## 当把eth0关掉时,这时所用的是eth1这个备用网卡
	5. ifconfig eth0 up    ## 当把eth0打开时,这时所用的还是eth1这个网卡,eth0成了备用网卡


1. nmcli命令配置bonding链路聚合接口
    1.nmcli connection add con-name bond0 ifname bond0 type bond mode active-bactive ip4 172.25.254.178/24  ## 配置bond0这个链路聚合接口,mode不知道怎么写两下tab,列出所有的工作模式

注:
con-name(连接名)   ifname(设备名)   type(设备类型)  mode(工作模式)   
balance-rr(平衡抡循策略):传输数据包顺序是依次传输,直到最后一个传输完毕,此模式提供负载平衡和容错能力;
active-backup(主备份策略):只有一个设备处于活跃状态。一个坏了之后,另一个马上由备份转换为主设备,此模式提供了容错能力

    2. nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0  ## 给这个接口一个eth0的网卡,这时用测试端ping 172.25.254.178就可以ping通了  

     

注:bond-slave  ## eth0的主设备是bond0,类型是bond的从设备。master(连接的设备),bond-slave(从设备,也可以理解为附属设备)  
    3. nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0  ## 给这个接口一个eth1的备用网卡   


       

此时在监控可以观察到,是eth0在网卡正在使用,进行如下操作,观察实验现象
    4. ifconfig eth0 down  ## 当把eth0关掉时,这时所用的是eth1这个备用网卡


    

5. ifconfig eth0 up    ## 当把eth0打开时,这时所用的还是eth1这个网卡,eth0成了备用网卡

2. 脚本文件配置bonding链路聚合接口
同样在设置前要先把bond0接口删除,把eth0和eth1配置信息也删除后再做实验
nm-connection-editor  ##delete

监控命令:watch -n 1 cat /proc/net/bonding/bond0  ##使用监控命令,观察实验效果。

          1.配置bond0
          vim /etc/sysconfig/network-scripts/ifcfg-bond0
	  DEVICE=bond0  ##设备名称
	  ONBOOT=yes    
	  BOOTPROTO=none
	  IPADDR=172.25.254.178
	  NETMASK=255.255.255.0
	  TYPE=Bond    ##类型
	  BONDING_OPTS=mode=active-backup  ##设置工作模式
          systemctl restart network  ##重启网络服务使配置文件生效
        2.再配置eth0
          vim /etc/sysconfig/network-scripts/ifcfg-eth0网卡
	  DEVICE=bond0  ##设备名称
	  ONBOOT=yes    
	  BOOTPROTO=none
	  MASTER=bond0
          systemctl restart network  ##重启网络服务使配置文件生效
	3.再配置eth1
          vim /etc/sysconfig/network-scripts/ifcfg-eth1备用网卡
	  DEVICE=bond0  ##设备名称
	  ONBOOT=yes    
	  BOOTPROTO=none
	  MASTER=bond0
          systemctl restart network  ##重启网络服务使配置文件生效

注:bonding不支持hash加密,不支持负载均衡,不支持ipv6,team相对于bonding更高级一点!!!

     1.配置bond0
      vim /etc/sysconfig/network-scripts/ifcfg-bond0
      DEVICE=bond0  ##设备名称
      ONBOOT=yes    
      BOOTPROTO=none
      IPADDR=172.25.254.178
      NETMASK=255.255.255.0
      TYPE=Bond    ##类型
      BONDING_OPTS=mode=active-backup  ##设置工作模式
      systemctl restart network  ##重启网络服务使配置文件生效


      2.再配置eth0
       vim /etc/sysconfig/network-scripts/ifcfg-eth0网卡
      DEVICE=bond0  ##设备名称
      ONBOOT=yes   
      BOOTPROTO=none
      MASTER=bond0
      systemctl restart network  ##重启网络服务使配置文件生效


    3.再配置eth1
      vim /etc/sysconfig/network-scripts/ifcfg-eth1备用网卡
      DEVICE=bond0  ##设备名称
      ONBOOT=yes    
      BOOTPROTO=none
      MASTER=bond0
      systemctl restart network  ##重启网络服务使配置文件生效

二. team 链路聚合接口

1. nmcli 命令配置链路聚合接口
设置前要先把bond0接口删除,把eth0和eth1也删除后再做实验
nm-connection-editor  ##delete

监控命令:watch -n 1 teamdctl team0 stat

1.nmcli connection add con-name team0 ifname team0 type team config '{"runner":{"name":"activwbackup"}}'  ip4 172.25.254.178/24  ## 配置team0这个链路聚合接口 
2.nmcli connection add con-name eth0 ifname eth0 type team-slave master team0  ## 给这个接口一个eth0的网卡,这时用测试端ping 172.25.254.178就可以ping通了
3. nmcli connection add con-name eth1 ifname eth1 type team-slave master team0  ## 给这个接口一个eth1的备用网卡
此时在监控可以观察到,是eth0在网卡正在使用,进行如下操作,观察实验现象
4. ifconfig eth0 down  ##  当把eth0关掉时,这时所用的是eth1这个备用网卡
5. ifconfig eth0 up     ## 当把eth0打开时,这时所用的还是eth1这个网卡,eth0成了备用网卡

1.nmcli connection add con-name team0 ifname team0 type team config '{"runner":{"name":"activwbackup"}}'  ip4 172.25.254.178/24  ## 配置team0这个链路聚合接口

2.nmcli connection add con-name eth0 ifname eth0 type team-slave master team0  ## 给这个接口一个eth0的网卡,这时用测试端ping 172.25.254.178就可以ping通了

3. nmcli connection add con-name eth1 ifname eth1 type team-slave master team0  ## 给这个接口一个eth1的备用网卡

此时在监控可以观察到,是eth0在网卡正在使用,进行如下操作,观察实验现象

4. ifconfig eth0 down  ##  当把eth0关掉时,这时所用的是eth1这个备用网卡

5. ifconfig eth0 up     ## 当把eth0打开时,这时所用的还是eth1这个网卡,eth0成了备用网卡

2. 脚本文件配置team链路聚合接口
同样在设置前要先把team0接口删除,把eth0和eth1也删除后再做实验
nm-connection-editor  ##delete

监控命令:watch -n 1 teamdctl team0 stat


  	1.先配置team0
          vim /etc/sysconfig/network-scripts/ifcfg-team0
	  DEVICE=team0  ##设备名称
	  TEAM_CONFIG="{\"runner\":{\"name":\"activebackup"}}"  ##设置工作模式
	  ONBOOT=yes    
	  BOOTPROTO=none
	  IPADDR=172.25.254.178
	  NETMASK=255.255.255.0
	  TYPE=Team    ##类型这里也可以设置成DEVICETYPE
        2.再配置eth0
	  vim /etc/sysconfig/network-scripts/ifcfg-eth0网卡
	  DEVICE=eth0  ##设备名称
	  ONBOOT=yes    
	  BOOTPROTO=none
	  TEAM_MASTER=team0
          DEVICETYPE=TeamPort  ## 这里必须是DEVICETYPE不可以是TYPE
	3.再配置eth1
	  vim /etc/sysconfig/network-scripts/ifcfg-eth1备用网卡
	  DEVICE=eth1   ##设备名称
	  ONBOOT=yes    
	  BOOTPROTO=none
	  TEAM_MASTER=team0
          DEVICETYPE=TeamPort  ## 这里必须是DEVICETYPE不可以是TYPE

1.先配置team0
      vim /etc/sysconfig/network-scripts/ifcfg-team0
      DEVICE=team0  ##设备名称
      TEAM_CONFIG="{\"runner\":{\"name":\"activebackup"}}"  ##设置工作模式
      ONBOOT=yes    
      BOOTPROTO=none
      IPADDR=172.25.254.178
      NETMASK=255.255.255.0
      TYPE=Team    ##类型这里也可以设置成DEVICETYPE

2.再配置eth0
      vim /etc/sysconfig/network-scripts/ifcfg-eth0网卡
      DEVICE=eth0  ##设备名称
      ONBOOT=yes    
      BOOTPROTO=none
      TEAM_MASTER=team0
      DEVICETYPE=TeamPort   ## 这里必须是DEVICETYPE不可以是TYPE

3.再配置eth1
      vim /etc/sysconfig/network-scripts/ifcfg-eth1备用网卡
      DEVICE=eth1   ##设备名称
      ONBOOT=yes    
      BOOTPROTO=none
      TEAM_MASTER=team0
      DEVICETYPE=TeamPort  ## 这里必须是DEVICETYPE不可以是TYPE

 

三. 桥接(有桥接的网路快)

桥接作用:

kvm:虚拟化功能,可以建虚拟机
虚拟机给网卡传东西要先传到真机内核然后再传给网卡
nat:地址转换
直接传 就要先建一个网桥(br0)网桥是内核控制网卡创建的,不用让数据进行地址转换 可以直接传输

先配置无桥接下的真机环境:
在真机下做,除了virbr1和virbr2其余都删掉。然后配置enp0s25,让真机可以连上vnc

 

配置方式:
第一种:临时配置
1,nm-conection-editor  ##删除所有网卡配置文件,删不掉的不删
2,cd /etc/sysconfig/network-scripts/  ##进入网络目录,发现配置文件没有了
3,ifconfig  ##查看网卡信息,是什么类型的就用什么类型
4.ifconfig enp0s25 172.25.254.78/24  ##临时配置
第二种:永久配置 
1.vim /etc/sysconfig/network-scripts/ifcfg-enp2s0f1  ##编辑配置文件
DEVICE=enp0s25
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.78
NETMASK=255.255.255.0
2.systemctl restart network  ##重启网络服务使配置文件生效
测试:解决后,可以连上VNC表示已解决

配置方式:
第一种:临时配置
1,nm-conection-editor  ##删除所有网卡配置文件,删不掉的不删


2,cd /etc/sysconfig/network-scripts/  ##进入网络目录,发现配置文件没有了
3,ifconfig  ##查看网卡信息,是什么类型的就用什么类型


4.ifconfig enp0s25 172.25.254.78/24  ##临时配置


第二种:永久配置
1.vim /etc/sysconfig/network-scripts/ifcfg-enp2s0f1  ##编辑配置文件
DEVICE=enp0s25
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.78
NETMASK=255.255.255.0
2.systemctl restart network  ##重启网络服务使配置文件生效
测试:解决后,可以连上VNC表示已解决

桥接:
  在网络的使用中,有时需要搭建网络桥来实现网络桥接。例如在一台主机上制作一台虚拟机,虚拟机是没有物理网卡的,这是虚拟机数据的发送和接受就需要通过主机上的物理网卡,需要主机的内核来处理问题,这无疑增加了主机的内核负担,也延长了虚拟机的反应速度,如果搭建网络桥,使得虚拟机的内核可以在一定程度上使用主机的物理网卡,就可以解决问题。

1. 在没有桥接的环境下通过网址安装虚拟机,速度超级慢,点击网卡可以看到没有桥接接口br0 。


2. 安装桥接后,再通过网址安装虚拟机,这时会看到速度很快,点击网卡可以看到桥接接口br0 。

   安装桥接步骤:
	1. 配置enp0s25
        vim /etc/sysconfig/network-scripts/ifcfg-enp2s0f1
	DEVICE=enp0s25
 	ONBOOT=yes
	BOOTPROTO=none
	BRIDGE=br0
	2. 配置桥接br0
        vim /etc/sysconfig/network-scripts/ifcfg-br0
  	DEVICE=br0
	ONBOOT=yes
	BOOTPROTO=none
	IPADDR=172.25.254.78
	NETMASK=255.255.255.0
	TYPE=Bridge
	3.重启网络
	systemctl restart network
测试:创建虚拟机,如果有桥接网卡,那么速度会很快,ctrl F2进入shell查看IP,点击灯泡查看网卡是否有br0选项
     如果没有桥接网卡,那么速度会很慢。

 

   安装桥接步骤:
    1. 配置enp0s25
    vim /etc/sysconfig/network-scripts/ifcfg-enp2s0f1
    DEVICE=enp0s25
    ONBOOT=yes
    BOOTPROTO=none
    BRIDGE=br0


    2. 配置桥接br0
    vim /etc/sysconfig/network-scripts/ifcfg-br0
    DEVICE=br0
    ONBOOT=yes
    BOOTPROTO=none
    IPADDR=172.25.254.78
    NETMASK=255.255.255.0
    TYPE=Bridge


    3.重启网络
    systemctl restart network


测试:创建虚拟机,如果有桥接网卡,那么速度会很快,ctrl F2进入shell查看IP,点击灯泡查看网卡是否有br0选项
     如果没有桥接网卡,那么速度会很慢。

3.用命令的方式建立桥接

在一个虚拟机上,假设是新安装的,把所有的网络都删掉
	1.brctl addbr br0  ##先添加一个桥接br0
	2.ifconfig br0 172.25.254.178  ##给桥接br0添加一个ip
	3.这时ping不通,因为br0没有物理设备,这时需要给br0挂载一个物理设备 
        brctl addif br0 eth0
	4.brctl show      ##查看桥接网卡
      	5.这时就可以ping通了

在一个虚拟机上,假设是新安装的,把所有的网络都删掉


    1.brctl addbr br0  ##先添加一个桥接br0


    2.ifconfig br0 172.25.254.178  ##给桥接br0添加一个ip


    3.这时ping不通,因为br0没有物理设备,这时需要给br0挂载一个物理设备
        brctl addif br0 eth0


    4.brctl show      ##查看桥接网卡


    5.这时就可以ping通了

4.用命令的方删除桥接

	1.ifconfig br0 down  ##先把桥接关掉
	2.brctl delif br0 eth0  ##先删除挂上的设备
	3.brctl show      ##查看桥接网卡是否已删除
	4.brctl delbr br0 ##再删除桥接
	5.ifconfig        ##查看br0桥接是否删除成功

    1.ifconfig br0 down  ##先把桥接关掉


    2.brctl delif br0 eth0  ##先删除挂上的设备
    3.brctl show      ##查看桥接网卡是否已删除


    4.brctl delbr br0 ##再删除桥接
    5.ifconfig        ##查看br0桥接是否删除成功

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐