Linux中的高级网络控制

本文介绍了Linux系统中实现网络高级控制的两种方法:以太网绑定(bonding)和桥接接口。在以太网绑定部分,详细讲解了主动备份模式(mode 1),并提供了配置和实验步骤。而在桥接接口部分,讨论了其在网络通信速度和虚拟机桥接中的作用,并给出了添加和删除桥接接口的操作指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本概念:

  • 网络的高级控制是对网络的稳定性及网络的传输速率进行控制
  • 绑定将两个网卡合并用一个接口工作
    即就是有两个设备,这两个设备使用同一个ip
  • 链路聚合 将两个线路聚合在一起
    bonding
    ##查看传输速率 ethtools eth0

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

  • 模式0 平衡轮循 balance-rr 循环策略 所有接口都采用轮循方式在所有Slave中传输封包;任何Slave都可以接受
  • 模式1 主动备份 容错 一次只能使用一个slave,如过接口出现故障,另一个slave将接替他,稳定模式 active-backup(一个网卡坏掉之后另一块网卡自动补上,不会中断数据传输)
  • 模式3 广播 容错 将所有的封装包都通过所有的slave接口广播,广播容错会给解析带来麻烦
  • 这里主要介绍模式1,主动备份模式

实验:
准备工作:
打开虚拟机,真机切换到超级用户,打开虚拟机图形控制器,给虚拟机加入两块网卡,返回到虚拟机,将虚拟机中原有的ip删除掉

打开虚拟机图形控制器
在这里插入图片描述
双击出现右侧的界面
单击添加硬件
在这里插入图片描述
选择网络,添加网卡
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1>设定bond的名称模式,以及工作的ip
nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 172.25.254.168/24
active-backup表示主动备份模式
在这里插入图片描述

2> ifconfig可以查看到ip
在这里插入图片描述
3> cat /proc/net/bonding/bond0查看及接口的状态,没有网卡工作
注:设定完接口之后才可以查看接口状态
在这里插入图片描述
4> nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0
将网卡eht0加入到接口
查看接口状态,有了eth0的信息
在这里插入图片描述
5> nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0
将网卡eth1 加入到接口
在这里插入图片描述
查看接口的信息,有了eth1的信息
在这里插入图片描述
6> 打开另一个shell监控接口的状态
在这里插入图片描述
在原来的shell中操作
ifconfig eth0 down 关掉eth0
工作的网卡变为eth1
在这里插入图片描述
再次打开eth0,仍然是eth1工作
在这里插入图片描述
关掉eth1 工作的网卡变为eth0
在这里插入图片描述
再次打开eth1 还是eth0在工作
在这里插入图片描述
3.team
team中有负载均衡的模式
是一个纯粹的软件,不是内核上的插件
错误的也会生成链接,需要手动删除

准备工作
在这里插入图片描述
nmcli connection delete bond0 删除接口
在这里插入图片描述
nmcli connection delete eth0
nmcli connection delete eth1删除网卡的配置
nmcli connection show 查看设备的状态
在这里插入图片描述
实验:
1 加入设备team0
nmcli connection add con-name team0 ifname team0 type team config ‘{“runner”:{“name”:“activebackup”}}’ ip4 172.25.254.145/24
在这里插入图片描述
ifconfig查看加入的设备
在这里插入图片描述
在这里插入图片描述
2 teamdctl team0 stat
查看接口的状态
在这里插入图片描述
3 给接口中添加网卡
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
在这里插入图片描述
在这里插入图片描述
4 在另一个shell中监控接口的状态
watch -n 1 teamdctl team0 stat

5 ifconfig eth0 down
eth0的状态改变 工作的网卡变为eth1
在这里插入图片描述
ifconfig eth0 up
eth0的状态改变 工作的网卡不变
在这里插入图片描述
ifconfig eth1 down
eth1的状态改变 工作的网卡变为eth0
在这里插入图片描述
ifocnfig eth1 up
eth1的状态改变 工作的网卡不变
在这里插入图片描述
注意:如果添加接口的时候写错,提示了接口添加成功,在系统中会生成一个错误的链接,这时需要删除错误的链接

实验完成后删除添加的所有设定
现在有三个设备
在这里插入图片描述
删除team接口
nmcli connection delete team0
删除两个eth0,eth1
在这里插入图片描述
################################
桥接接口

  • 网关是用来作源地址转换的
  • 有桥接的网络通信速率比没有桥接的网络快
  • 同一网段的不需要网关来做地址转换,可以直接通信
  • 桥接是将不在同一网络区域的主机使其在统一网段中
  • 内核是系统的核心软件,每一个操作系统都有自己独立的内核
  • 默认模式会使真实主机的内核负载过高,从而影响虚拟机的运行以及传输速率
  • 网桥 br0 是虚拟机和真实主机之间可以通过网卡来通信,让虚拟机可以来使用真实的物理网卡
  • 在真实主机中开启一个网桥
    BRIDGE=br0
    默认类型是以太网,设置网桥时需要手动设定类型为bridge
    会记录当前的网络状态

桥接接口对安装虚拟机的影响
本实验在真实主机上操作,实验之前先备份配置文件
将主机中原来的网桥和网络配置文件备份到/mnt/下:
在这里插入图片描述
在这里插入图片描述
1 安装虚拟机没有桥接选项
ifconifg查看ip不在同一网段
2 [root@foundation45 network-scripts]# ifconfig
没有桥接
3 加入桥接

[root@foundation45 network-scripts]# cat ifcfg-Ethernet_connection_1 
BOOTPROTO=none
NAME="Ethernet connection 1"
DEVICE=enp0s25
ONBOOT=yes
BRIDGE=br0
[root@foundation45 network-scripts]# cat ifcfg-br0 
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=none
DEVICE=br0
IPADDR=172.25.254.45
PREFIX=24
[root@foundation45 network-scripts]# systemctl stop NetworkManager
[root@foundation45 network-scripts]# systemctl restart network

4查看是否有桥接

 [root@foundation45 network-scripts]# ifconfig
有桥接

[root@foundation45 network-scripts]# brctl show
bridge name	bridge id		STP enabled	interfaces
br0		8000.0021ccb9143c	no		enp0s25
privbr0		8000.5254009f305a	yes		privbr0-nic
virbr0		8000.525400230aa1	yes		virbr0-nic
							vnet0
virbr1		8000.52540090b85f	yes		virbr1-nic

5 安装虚拟机有桥接

6 删除桥接以及网络配置文件

[root@foundation45 network-scripts]# rm -fr ifcfg-br0 ifcfg-Ethernet_connection_1 
[root@foundation45 network-scripts]# ls
ifcfg-lo     ifdown-ovs       ifup          ifup-ovs     ifup-TeamPort
ifdown       ifdown-post      ifup-aliases  ifup-plip    ifup-tunnel
ifdown-bnep  ifdown-ppp       ifup-bnep     ifup-plusb   ifup-wireless
ifdown-eth   ifdown-routes    ifup-eth      ifup-post    init.ipv6-global
ifdown-ib    ifdown-sit       ifup-ib       ifup-ppp     keys-99999
ifdown-ippp  ifdown-Team      ifup-ippp     ifup-routes  network-functions
ifdown-ipv6  ifdown-TeamPort  ifup-ipv6     ifup-sit     network-functions-ipv6
ifdown-isdn  ifdown-tunnel    ifup-isdn     ifup-Team

7 重新编辑网络配置文件

[root@foundation45 network-scripts]# cat ifcfg-haha
DEVICE=enp0s25
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.45
PREFIX=24

再次配置文件之后重启网络,ifconfig查看还有桥接设备,再次重启之后没有

[root@foundation45 network-scripts]# brctl show
bridge name	bridge id		STP enabled	interfaces
br0		8000.0021ccb9143c	no		enp0s25
privbr0		8000.5254009f305a	yes		privbr0-nic
virbr0		8000.525400230aa1	yes		virbr0-nic
virbr1		8000.52540090b85f	yes		virbr1-nic

8 重启之后查看

[root@foundation45 network-scripts]# brctl show
bridge name	bridge id		STP enabled	interfaces
privbr0		8000.5254009f305a	yes		privbr0-nic
virbr0		8000.525400230aa1	yes		virbr0-nic
virbr1		8000.52540090b85f	yes		virbr1-nic

ifconfig没有桥接接口

将系统还原
复制之前的文件到目录下,删除自己建立的配置文件
重启系统
在这里插入图片描述

  • 配置临时网络的方法
    ifconfig enp0s25 172.25.254.xx/24

  • 用命令添加的都是临时的,永久的不生效的时候需要用临时的来刷新一下

  • ping不通,桥接接口和物理设备没有连接

  • 实验之前需要将之前设置的team删除掉,因为team0 占用了eth0网卡

  • 桥接接口删除的时候应该先将桥接接口从硬件设备上摘下来,然后关闭桥接接口,最后在删除桥接接口

4.配置桥接接口
1).添加桥接接口
brctl show 查看存在的桥接接口
在这里插入图片描述
brctl addbr br0 添加桥接接口
brctl show 查看成功添加桥接接口
在这里插入图片描述
ifconfig 查看添加的桥接接口信息以及存在的网卡
在这里插入图片描述
ifconfig br0 172.25.254.1xx/24 临时配置桥接接口的网络
ifconfig 查看桥接接口的网络状态
在这里插入图片描述
ping 172.25.254. 68检测有没有配置成功,ping不通,没有连接物理设备

brctl show 查看到桥接接口没有连接物理设备
brctl addif br0 eth0 将桥接接口与物理设备相连
brctl show 查看到桥接接口与物理设备连接
在这里插入图片描述
ping 172.25.254. 68检测配置成功,可以ping通,连接了物理设备
在这里插入图片描述
2). 删除桥接接口
brctl show 查看到桥接接口与物理设备连接
在这里插入图片描述
brctl delif br0 eth0 断开物理设备与桥接接口的连接
brctl show 查看到桥接接口没有连接物理设备
在这里插入图片描述
ifconfig br0 down 关闭br0,不关闭的话会出现报错
brctl delbr br0 删除桥接接口
brctl show 查看到没有任何的桥接接口
在这里插入图片描述
ifconfig 没有桥接接口的相关信息
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值