Linux运维之高级网络控制(bond,team和网络桥接)

一、网络链路聚合介绍

网络的链路聚合就是将多块网卡连接起来,当一块网卡损坏,网络依旧可以正常运行,可以有效的防止因为网卡损坏带来的损失,为用户提供不间断的网络服务,同时也可以提高网络访问速度。

实现网络链路聚合方式有两种,分别是:”bond”和”team”。

 

二、实验环境(rhel7.0版本)

主机环境:rhel7.0

各主机信息

主机名IP
server172.25.254.1
物理机(rhel7.3版本)172.25.254.7

 

三、链路聚合方式————bond网络接口

 

1、bond网络接口介绍

 Bond就是将多块网卡虚拟成为一块网卡的技术,通过bond技术让多块网卡看起来是一个单独的以太网接口设备并具有相同的IP地址。Red Hat Enterprise Linux 允许管理员使用 bonding 内核模块和称为通道绑定接口的特殊网络接口将多个网络接口绑定一个通道。根据选择的绑定模式 ,通道绑定使两个或更多个网络接口作为一个网络接口 ,,从而增加带宽和提供冗余性。

 

选择 Linux 以太网绑定模式

网卡绑定mode共有七种(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6

常用的有三种:

  • 模式 0 balance-rr ( 平衡轮循 ) - 轮循策略 ,网卡轮流接收数据包

  • 模式 1 active-backup ( 主动备份 ) - 容错。一次只能使用一个 Slave 接口, 但是如果该接口出现故障,另一个 Slave 将接替它。本次实验中主要用该模式进行实验,正常情况下只有主网卡eth0工作,eth1作为备份网卡是不工作的,只有当一个网络接口失效时(例如主交换机掉电等),为了不会出现网络中断,系统会按照配置指定的网卡顺序启动工作,保证机器仍能对外服务,起到了失效保护的功能。

  • 模式 3 broadcast ( 广播 ) - 容错。所有封包都通过所有 Slave 接口广播。

 

2、bond网络接口的配置

 

(1)前期准备:

 

【1】、删除eth0网卡的配置

nm-connection-editor        删除eth0网卡的配置          

或者        

nmcli  connection   delete   eth0                  删除eth0网卡的配置

 

【2】、新增一块网卡

在真机(物理机)上通过virt-manager命令为server虚拟机新增一块网卡

点击小灯泡-----Add  Hardware

选择Network,添加网卡(注意Network  source为Bridge br0:Host  device  vnet0,Device model为virtio)

点击Finish后,查看是否添加成功

在server虚拟机上查看网卡是否添加成功

 

(2)命令行的方式添加bond0网络接口——设置bond网络接口的第一种方法(永久生效,重启系统之后都不会失效)

 

【1】、添加bond0网络接口

nmcli  connection  add  type  bond  con-name bond0  ifname  bond0  mode  active-backup  ip4  172.25.254.100/24

 

其中mode方式主要有两种:active-backup-------设置网卡的方式为备用,优点是稳定

balance-rr--------设置网卡的方式为轮流,优点是速度快

 

【2】、查看bond0网络接口是否已经成功创建

 

【3】、在另外一个终端上打开监控

watch  -n  1  cat  /proc/net/bonding/bond0

 

监控结果

 

【4】、第一次ping测试

在真机(物理机)上ping  172.25.254.100

ping不通,这是因为没有为bond0添加网络接口

 

【5】、为bond0添加网络接口

 

为bond0添加网络接口eth0

nmcli  connection  add  type  bond-slave  con-name  eth0  ifname  eth0  master  bond0

 

为bond0添加网络接口eth1
nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0

 

监控结果

当前工作的是eth0网卡

 

【6】、第二次ping测试

在真机(物理机)上ping  172.25.254.100

 

【7】、断开eth0网卡

 

ifconfig  eth0  down

 

监控结果:

当前工作的网卡变为eth1网卡,且看到eth0的状态为down。这是由于我们建立的bond0工作在主备模式,关闭eth0后eth1立即工作,网络不受到影响。

 

【8】、断开eth0网卡之后,进行测试

在真机(物理机)上ping  172.25.254.100

可以ping通,因为有网卡在工作

 

【9】、打开eth0网卡

 

ifconfig  eth0  up

 

监控结果:

当前工作的网卡仍为eth1,且看到eth0的状态为up

 

【10】、断开eth1网卡

 

ifconfig  eth1  down

 

监控结果:

当前工作的网卡变为eth0网卡,且看到eth1的状态为down

 

【11】、断开eth1网卡之后,进行测试

在真机(物理机)上ping  172.25.254.100

可以ping通,因为有网卡在工作

 

【12】、打开eth1网卡

 

ifconfig  eth1  up

 

监控结果:

当前工作的网卡仍为eth0,且看到eth1的状态为up

 

【13】、同时关闭eth0和eth1网卡

 

ifconfig  eth0  down          

ifconfig  eth1  down

 

监控结果:

当前工作的网卡为none,eth0和eth1网卡的状态都是down

 

【14】、同时断开eth0和eth1网卡之后,进行测试

在真机(物理机)上ping  172.25.254.100

ping不通,因为没有网卡在工作

 

(3)配置文件的方式设定bond0——设置bond网络接口的第二种方法(永久生效,重启系统之后都不会失效)

 

【1】、前期准备:删除之前的bond0的网络配置,eth0的网络配置和eth1的网络配置

nmcli  connection  delete  eth0

nmcli  connection  delete  eth1

nmcli  connection  delete  bond0

ifconfig 看到,bond0网络接口消失,而eth0和eth1仍然存在。这是因为bond0只是网络接口,删除其网络配置之后,整个bond0就都消失了;而eth0,eth1是真实存在的网卡,nmcli  connection  delete  eth0;nmcli  connection  delete  eth1只是删除了其网络配置。想要删除eth0,eth1网络接口,必须在真机上通过virt-manager命令,进入虚拟机管理器,在虚拟机管理器中进行删除。

 

【2】、编辑bond0,eth0和eth1的网络配置文件

 

cd  /etc/sysconfig/network-scripts

 

vim  ifcfg-bond0

其中子网掩码可以写成NETMASK=255.255.255.0也可以写成PREFIX=24

 

vim  ifcfg-eth0

注意:里面不可以加入,TYPE=bond-slave

 

vim ifcfg-eth1

注意:里面不可以加入,TYPE=bond-slave

 

【3】、因为修改的是配置文件,所以要重启网络

 

【4】、查看bond0网络接口是否已经成功创建

 

【5】、在另外一个终端上打开监控

 

watch -n 1 cat  /proc/net/bonding/bond0

 

监控结果

 

【6】、ping测试

在真机(物理机)上ping  172.25.254.100

其他测试同上

 

四、链路聚合方式————team网络接口

 

1、team网络接口介绍

team和bond功能类似,team的主要优点有三点:(五中还会有相应的介绍)

  1. team支持负载均衡模式
  2. team支持hash加密
  3. team有更强的扩展性,而bond对ipv6较弱

team支持四种工作模式:

  1. broadcast广播容错
  2. roundrobin平衡轮循
  3. activebackup主备(本实验采用activebackup的方式)
  4. loadbalance负载均衡

 

2、team网络接口的配置

 

(1)前期准备:

删除之前的bond0的网络配置,eth0的网络配置和eth1的网络配置

nmcli  connection  delete  eth0

nmcli  connection  delete  eth1

nmcli  connection  delete  bond0

 

(2)命令行的方式添加team0网络接口(永久生效,重启系统之后都不会失效)

 

【1】、添加team0网络接口

nmcli  connection  add  type  team  con-name  team0  ifname  team0   config   '{"runner":{"name":"activebackup"}}'   ip4  172.25.254.100/24

 

【2】、查看team0网络接口是否已经成功创建

 

【3】、在另外一个终端上打开监控

 

watch -n 1 teamdctl team0 stat

 

监控结果

 

【4】、第一次ping测试

在真机(物理机)上ping  172.25.254.100

ping不通,这是因为没有为team0添加网络接口

 

【5】、为team0添加网络接口

 

为team0添加网络接口eth0

nmcli  connection  add  type team-slave  con-name  eth0  ifname  eth0   master  team0

 

为team0添加网络接口eth1
nmcli connection add con-name eth1 ifname eth1 type team-slave master team0

 

监控结果

当前工作的是eth0网卡,eth1网卡作为备份。

 

【6】、第二次ping测试

在真机(物理机)上ping  172.25.254.100

 

【7】、断开eth0网卡

 

ifconfig  eth0  down

 

监控结果:

当前工作的网卡变为eth1网卡,且看到eth0的状态为down

 

【8】、断开eth0网卡之后,进行测试

 

在真机(物理机)上ping  172.25.254.100

可以ping通,因为有网卡在工作

 

【9】、打开eth0网卡

 

ifconfig  eth0  up

 

监控结果:

当前工作的网卡仍为eth1,且看到eth0的状态为up

 

【10】、断开eth1网卡

 

ifconfig  eth1  down

 

监控结果:

当前工作的网卡变为eth0网卡,且看到eth1的状态为down

 

【11】、断开eth1网卡之后,进行测试

在真机(物理机)上ping  172.25.254.100

可以ping通,因为有网卡在工作

 

【12】、打开eth1网卡

 

ifconfig  eth1  up

 

监控结果:

当前工作的网卡仍为eth0,且看到eth1的状态为up

 

【13】、同时关闭eth0和eth1网卡

 

ifconfig  eth0  down

ifconfig  eth1  down

 

监控结果:

当前工作的网卡为none,eth0和eth1网卡的状态都是down

 

【14】、同时断开eth0和eth1网卡之后,进行测试

在真机(物理机)上ping  172.25.254.100

ping不通,因为没有网卡在工作

 

(3)配置文件的方式设定team0(永久生效,重启系统之后都不会失效)

 

【1】、前期准备

删除之前的team0的网络配置,eth0的网络配置和eth1的网络配置

nmcli  connection  delete  eth0

nmcli  connection  delete  eth1

nmcli  connection  delete  team0

ifconfig 看到,team0网络接口消失,而eth0和eth1仍然存在。这是因为team0只是网络接口,删除其网络配置之后,整个team0就都消失了;而eth0,eth1是真实存在的网卡,nmcli  connection  delete  eth0;nmcli  connection  delete  eth1只是删除了其网络配置。想要删除eth0,eth1网络接口,必须在真机上通过virt-manager命令,进入虚拟机管理器,在虚拟机管理器中进行删除。

 

【2】、编辑team0,eth0和eth1的网络配置文件

 

cd  /etc/sysconfig/network-scripts

 

vim  ifcfg-team0

其中子网掩码可以写成NETMASK=255.255.255.0也可以写成PREFIX=24

TEAM_CONFIG='{"runner":{"name":"activebackup"}}'也可以写成

TEAM_CONFIG="{\"runner\":{\"name\":\"activebackup\"}}"

 

vim  ifcfg-eth0

注意:里面必须加入,DEVICETYPE=teamport

 

vim ifcfg-eth1

注意:里面必须加入,DEVICETYPE=teamport

 

【3】、因为修改的是配置文件,所以要重启网络

 

【4】、查看team0网络接口是否已经成功创建

 

【5】、在另外一个终端上打开监控

 

watch  -n  1  teamdctl  team0  stat

 

监控结果

 

【6】、ping测试

在真机(物理机)上ping  172.25.254.100

 

五、bond0链路聚合方式与team链路聚合方式的比较

bond链路聚合方式不支持hash加密,而team链路聚合方式支持hash加密

bond链路聚合方式不支持负载均衡,而team链路聚合方式支持负载均衡

bond链路聚合方式不支持ip为6的ip地址,而team链路聚合方式支持ip为6的ip地址

team链路聚合方式的负载均衡与bond链路聚合方式的balance-rr不同:负载均衡是按照工作量进行均分工作;而balance-rr是按照数字进行平分工作。

 

六、网络桥接(虚拟机单网卡即可,不需要双网卡)

 

1、网络桥接介绍

 

虚拟机的网络连接提供了三种工作模式,它们是bridge(桥接模式),NAT(网络地址转换模式)和host-only(主机模式)。

<1>bridge模式:当虚拟机系统的网络连接模式为桥接模式时,相当于在主机系统和虚拟机系统之间连接了一个网桥,而网桥两端的网络都属于同一网络,主机和虚拟机是处于同一网络中的对等主机。使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信。

如果你想利用VMWare在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。

<2>NAT模式:NAT即Network  Address  Translation,网络地址转换是虚拟专用网和全球IP地址之间的转换,虚拟专用网是企业,政府部门的内部网络,在虚拟专用网中主机IP地址是虚拟专用地址,它不能被互联网中的路由器所识别,因此,在企业接入互联网的默认网关(接入路由器)中,需要地址转换NAT软件使得虚拟专用网内部的主机可以连接到互联网。

采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。

<3>host-only模式在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就采用host-only模式。在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。

注:在host-only模式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互联。

 

什么是网络桥接模式

 桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。

 

网络桥接模式的功能

在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机IP地址需要与主机在同一个网段,如果需要连网,则网关与DNS需要与主机网卡一致。

定义:

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

搭建网络桥可以通过编辑配置文件和命令管理来实现。

 

2、网络桥接的配置

 

(1)永久网络桥接的配置(真机)

 

【1】、前期准备

在物理机,手动删除ethernet,wifi,bridge的所有选项:nm-connection-editor

 

【2】、编写配置文件

 

如下图所示,主机的物理网卡为"enp4s0"

 

搭建网络桥需要配置以下两个文件:

cd  /etc/sysconfig/network-scripts

 

vim ifcfg-br0

NAME=br0是可以不写的。

 

vim ifcfg-enp4s0

NAME=enp4s0是可以不写的

 

【3】、因为编写的是配置文件,所以要重启网络

systemctl restart  network

 

【4】、查看br0是否配置好

ifconfig

 

brctl show

 

如下图所示,在新建虚拟机时就可以看见网络选择里有网络桥接的选项"Bridge br0 Host device enp4s0"。

 

下图是:没有配置桥接网络的:没有网络桥接的选项"Bridge br0 Host device enp4s0",只有NAT选项(NAT模式安装虚拟机的速度较慢,而桥接模式安装虚拟机的速度较快)

 

(2)临时网络桥接的配置(虚拟机)—重启系统(reboot)之后,就会失效

 

【1】、前期准备

删除之前的team0的网络配置,eth0的网络配置和eth1的网络配置

nmcli  connection  delete  eth0

nmcli  connection  delete  eth1

nmcli  connection  delete  team0

 

【2】、建立桥接接口,并查看桥接接口是否建立成功

brctl addbr  br0

brctl  show

 

【3】、临时设定br0的ip

ifconfig  br0  172.25.254.100/24

 

【4】、第一次ping测试

在真机上ping  172.25.254.100

ping不通,这是因为没有为br0添加网络接口

 

【5】、为br0添加网络接口

 

为br0添加网络接口eth0

brctl  addif  br0  eth0

 

【6】、第二次ping测试

在真机(物理机)上ping  172.25.254.100

 

(4)网络桥接的删除网络桥接的删除与bond0,team0不同:bond0和team0的删除—nmcli  connection  delete  eth0  nmcli   connection  delete  eth1   nmcli  connection  delete  bond0/team0;而网络桥接的删除—下面的方法

 

【1】、停止桥接接口的工作

ifconfig br0  down

 

【2】、删除桥接接口的网络接口

brctl  delif  br0  eth0

 

【3】、删除桥接接口

brctl  delbr  br0

 

【4】、查看是否删除成功

 

brctl  show

 

ip  a

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值