首页 > 系统教程 > 操作系统 > 在Linux中配置网络粘结以获得高可用性

在Linux中配置网络粘结以获得高可用性

Jennifer Aniston
发布: 2025-03-21 09:23:12
原创
766 人浏览过

Linux中的网络键合是一种使您可以将多个网络接口(NIC)组合到单个逻辑接口中,以提高冗余和性能。在本综合指南中,我们将探讨Linux中网络键合的概念,其好处,不同的键合模式和网络键合配置。

目录

什么是网络键合?

网络键合,也称为NIC键合组合,是将两个或多个网络接口组合到一个称为的单个逻辑接口中的方法。

在Linux中配置网络键的两个重要好处:

  • 冗余:键合提供故障转移功能,即使一个接口失败,也可以确保网络连接。
  • 负载平衡:它可以在粘合的接口上分配网络流量,从而提高整体网络性能。

粘结模式

Linux支持几种粘结模式,每种模式旨在解决特定用例。这是最常用的两个模式:

  1. 模式0(循环) :以圆形旋转方式将数据包发送到每个键合接口。
  2. 模式1(Active-Backup) :一个接口处于活动状态,而另一个接口处于待机模式。如果活动接口失败,则另一个接管。

让我们快速看一下这两种模式。

1。模式0:循环罗宾

在这种模式下,数据包以圆形界面的旋转方式传输。尽管它提供了一种基本的负载平衡形式,但并未考虑到每个接口的实际负载或状态。

当您想跨接口均匀分配流量时,此模式很有用。

2。模式1:Active-Backup

Active-Backup模式将一个接口指定为活动链接,而其他界面则保持待机模式。如果活动接口失败,则备用接口之一接管。

此模式是冗余的理想选择,即使一个NIC降低了,也可以确保您的网络保持运行。

希望您对Linux中的网络联系有基本的了解。现在,让我们看看如何使用Linux中的NetPlan和NMCLI命令创建网络键接口

首先,我们将看到NetPlan方法。

方法1-使用NetPlan在Linux中建立网络键合

在Linux中使用NetPlan创建网络键合是一个简单的过程。 NetPlan是基于YAML的网络配置实用程序,用于Ubuntu等现代Linux发行版。要设置网络键合,请按照以下步骤操作:

1。检查网络接口名称

在创建用于网络键合的NetPlan配置之前,必须确定要键合的网络接口的名称。

您可以使用IP链接显示或IFConfig命令列出可用的网络接口。通常,这些接口具有ENP0SX或ENSX或ETHX之类的名称。

 $ IP链接显示
1:lo:<loopback> mtu 65536 qdisc noqueue状态未知模式默认组默认组默认qlen 1000
    链接/循环00:00:00:00:00:00 BRD 00:00:00:00:00:00:00:00
2:<strong><mark> ENS18</mark> : mtu 1500 qdisc fq_codel state up模式默认组默认qlen 1000
    Link/Ether 6E:26:0B:8E:33:8C BRD FF:FF:FF:FF:FF:FF:FF:FF:FF
    AltName ENP0S18
3:<strong><mark> ENS19</mark> : mtu 1500 qdisc fq_codel state up模式默认组默认qlen 1000
    链接/Ether 96:D2:11:4A:6D:AD BRD FF:FF:FF:FF:FF:FF:FF:FF
    AltName ENP0S19
4:<strong><mark> ENS20</mark> : mtu 1500 qdisc fq_codel state up模式默认组默认qlen 1000
    链接/以太EA:3A:8B:6C:38:E1 BRD FF:FF:FF:FF:FF:FF:FF:FF:FF
    AltName ENP0S20</strong></strong></strong></loopback>
登录后复制

如您所见,我的系统具有三个网络接口,即ENS18,ENS19和ENS20。

2。创建一个NetPlan配置文件

创建或编辑NetPlan配置文件。 NetPlan配置文件通常存储在/etc/netplan/Directory中,并具有.YAML扩展名。您可以使用任何文本编辑器来创建或编辑配置文件,例如nano或vim。

例如,创建一个名为01-bond.yaml的文件:

 $ sudo nano /etc/netplan/01-bond.yaml
登录后复制
登录后复制

3。配置键接口

在NetPlan配置文件中,定义债券接口及其参数。这是一个示例配置,用于在Active-backup模式下创建具有三个接口(ENS18,ENS19和ENS34)的键:

网络:
  版本:2
  渲染器:NetworkD
  以太网:
    ENS18:
      DHCP4:不
    ENS19:
      DHCP4:不
    ENS20:
      DHCP4:不
  债券:
    债券0:
      接口:[ENS18,ENS19,ENS20]
      地址:[192.168.1.10/24]
      路线:
         - 至:0.0.0.0/0
          Via:192.168.1.101
      名称服务器:
        地址:[8.8.8.8,8.8.4.4]
      参数:
        模式:Active-Backup
        主:ENS18
登录后复制

用特定的网络配置替换接口名称,IP地址,子网,网关和其他参数。您可以通过更改模式参数(例如,向旋翼蛋白的balance-rr或lacp的802.3AD)来使用不同的键合模式。

4。应用配置

创建或编辑NetPlan配置文件后,使用NetPlan Apply命令应用更改:

 $ sudo Netplan申请
登录后复制
登录后复制

5。验证配置

使用IP链接或IFConfig命令检查您的债券接口的状态。例如:

 $ ip链接显示债券0
登录后复制

您应该看到债券接口(债券0)及其状态。

6。测试网络连接

确保您的服务器或工作站可以通过键合接口访问网络。您可以在网络上ping其他设备来验证连接。

我们还拥有各种方法来测试您的债券接口部分。导航到“测试Linux网络键接口”部分,并使用任何一种方法来验证债券接口是否按预期工作。

就是这样!您已经成功地使用了NetPlan创建了网络键合配置。请记住,将配置适应您的特定要求,例如键合模式,IP地址和网关设置,以适合您的网络环境。

方法2-使用NMCLI在Linux中配置网络键合

要使用Linux中的NMCLI命令创建网络键合,您可以按照以下步骤进行操作。 NMCLI是用于管理NetworkManager的命令行实用程序,该实用程序是许多Linux发行版中常用的网络配置工具。

1。检查网络接口名称

在使用NMCLI创建债券接口之前,您应该确定要键合的网络接口的名称。

您可以使用IP链接显示或IFConfig命令列出可用的网络接口。接口通常具有ENSX或ENP0SX或ETHX之类的名称。

 $ IP链接显示
登录后复制

样本输出:

在Linux中配置网络粘结以获得高可用性

如您在上面的输出中看到的那样,我有三个网络接口,即ENS18,ENS19和ENS20。

2。检查NetworkManager状态

确保在系统上安装并运行NetworkManager。您可以使用以下命令检查其状态:

 $ sudo systemctl状态网络管理员
登录后复制

如果它不运行,则可以使用以下方式开始使用:

 $ sudo systemctl启动网络管理员
$ sudo systemctl启用网络管理器
登录后复制

3。创建一个新的债券连接

您可以使用NMCLI命令创建新的债券连接。这是基本语法:

 $ sudo nmcli连接添加类型债券ifname bond0 mode mode_name
登录后复制

将Bond0替换为要给您的债券接口的名称,然后用要使用的键合模式替换Mode_name,例如Active-Backup,Balance-RR或802.3AD。

例如,在Active-backup模式下创建一个名为Bond0的债券

 $ sudo nmcli连接添加类型债券ifname bond0模式active-backup
登录后复制

此命令将创建名为“ Bond-Bond0”的新网络连接。

成功添加了连接“债券 - 键入”(E68041F8-D836-4B83-A743-1BCADEC9D19E)。
登录后复制

4。添加成员接口

现在,您需要添加要在债券中以成员接口中包含的网络接口。

例如,我将使用NMCLI命令添加ENS19ENS20作为Bond0接口的成员。

用实际网络接口的名称替换ENS19和ENS20:

 $ sudo nmcli连接添加类型以太网ifname ens19主债券0
$ sudo nmcli连接添加类型以太网ifname ens20主债券0
登录后复制

这将添加ENS18,ENS19和ENS20作为成员接口到债券0债券连接。

您可以使用命令验证新创建的网络连接:

 $ NMCLI连接节目
登录后复制

样本输出:

名称UUID类型设备 
债券 - 邦德0E68041F8-D836-4B83-A743-1BCADEC9D19E债券债券0  
有线连接1 60E8EF3-89F9-3E9F-9919-1944E7ABEE20以太网ENS18  
<strong><mark>债券奴隶-ENS19 578BB27F-F3FF-4059-BD94-5291B98CE2FB以太网ENS19  
Bond-Slave-Ens20 E338B080-6DC6-41B2-BB08-53D0470DCCBD以太网ENS20</mark>       
有线连接2 5527636C-50A9-35A4-B92B-ADCC4F106CBA以太网 -      
有线连接3 878666EF-2160-338B-AADF-E24E9A52509A以太网 - </strong>
登录后复制

5。配置键合选项

您可能需要根据键合模式和网络设置配置其他选项。例如,如果您使用的是Active-Backup模式,则可以指定主要接口:

 $ sudo nmcli连接修改债券 - 邦德0primary ens19
登录后复制

在某些键合模式(例如Active-backup)中,需要指定主要接口的步骤,以确定哪个接口应为在正常条件下积极运输网络流量的主要接口。

此设置对于确保键合模式按预期运行,并且在网络故障的情况下将流量适当分布或失败至关重要。

例如,在Active-Backup模式下,指定主接口可确保网络流量主要通过该接口,并且如果不可用,则备份接口接管。

在没有指定主接口的情况下,债券可能不知道要使用哪个接口作为发送和接收流量的默认选择。

6。配置IP地址和DNS设置

您可以使用NMCLI命令为Bond0连接设置IP地址,子网掩码,网关和DNS设置。例如:

 $ sudo nmcli连接修改债券 - 邦德0ipv4
$ sudo nmcli连接修改债券 - 邦德0ipv4.addresses“ 192.168.1.10/24” 
$ sudo nmcli连接修改债券 - 邦德0ipv4.gateway“ 192.168.1.101”
$ sudo nmcli连接修改债券 - 键入0 ipv4.dns“ 8.8.8.8,8.8.4.4”
登录后复制

您还可以在一个命令中提及以下单个命令中的所有网络详细信息:

 $ sudo nmcli连接修改债券 - 邦德0ipv4.Method手册IPV4.ADDRESSES“ 192.168.1.10/24” ipv4.gateway“ 192.168.1.1.101” ipv4.dns“ 8.8.8.8.8.8.8.8.8.8.4.4”
登录后复制

根据您的网络配置调整IP地址,子网掩码,网关和DNS服务器。

7。激活键连接

最后,使用NMCLI命令激活债券连接:

 $ sudo nmcli连接UP债券 - 邦德0
登录后复制

这将启动债券接口并使其用于网络通信。

在Linux中配置网络粘结以获得高可用性

8。验证配置

验证使用NMCLI命令启动键合接口Bond0:

 $ sudo nmcli连接节目
登录后复制

就是这样!您已经使用NMCLI命令成功地创建了网络键合配置。现在,根据您选择的键合模式,将您的债券接口配置为冗余和负载平衡。

您可以使用以下任何一种方法来测试您的网络键接口是否有效。

测试Linux网络键接口

要检查债券接口是否正常工作,您可以执行各种测试和检查,以确保其提供预期的冗余和负载平衡。

这里有一些步骤可以帮助您验证Linux中键接口的功能:

1。检查债券状态

使用以下命令检查债券接口的状态(用债券接口的实际名称替换债券0):

 $ sudo cat/proc/net/债券/债券0
登录后复制

此命令将显示有关债券接口的详细信息,包括其模式,从属接口的状态以及任何错误或故障。

在Linux中配置网络粘结以获得高可用性

2。测试故障转移

为了验证故障转移正在按预期工作,您可以物理断开一个从接口之一(例如,拔下网络电缆)并监视债券的行为。

债券应自动将流量切换到剩余的活动从接口。您可以通过在步骤1中提到的命令观察债券的状态来检查此问题。

3。测试负载平衡

如果将债券配置为负载平衡(例如,使用“ Balance-RR”模式),则可以使用IPERF之类的工具来生成网络流量,并检查其是否在债券接口上均匀分布。

如果尚未安装IPERF,则在您的服务器和其他网络设备之间进行测试。

例子

  • 在服务器上(绑定的接口):iperf -s
  • 在客户端上:iperf -c

验证流量是否正在流过所有键合接口,并且与单个接口相比,您正在增加吞吐量。

如果网络键接口正常工作,则应看到与配置键接口的系统上以下的输出相似的输出。

 $ iperf -s
-----------------------------------------------------------------------------------------
服务器在TCP端口5001上收听
TCP窗口尺寸:128 kbyte(默认)
-----------------------------------------------------------------------------------------
[1]本地192.168.1.10端口5001与192.168.1.101端口39808连接
[id]间隔传输带宽
[1] 0.0000-10.0011秒38.7 GBYTES 33.3 GBITS/sec
[...]
登录后复制

4。检查接口状态

使用标准网络诊断工具(例如IFCONFIG,IP或NMCLI)检查单个网络接口的状态(从属和债券)。确保所有接口都启动并具有预期的IP地址和配置。

例子

 $ ip addr show
登录后复制

在Linux中配置网络粘结以获得高可用性

5。审核系统日志

检查系统日志(例如,/var/log/syslog,/var/log/log/sagess),以获取与债券接口相关的任何错误消息或通知。查找指示接口故障或问题的任何消息。

6.监视网络流量

您可以使用网络监视工具(例如TCPDUMP或WIRESHARK)来捕获和分析债券接口上的网络流量。这可以帮助您确认流量正在平衡或故障转移按预期工作。

7。ping和测试连接性

在网络上的债券服务器和其他设备之间执行PING测试和测试网络连接。验证您可以到达各种目的地,并且没有连接性问题。

8。负载测试

除了IPERF之外,您还可以使用Netperf或TTCP等工具进行更全面的负载测试,以评估在重型网络负载下债券的性能。

通过进行这些测试和检查,您可以确保您的债券接口正常运行,从而提供冗余和负载平衡。

这种全面的方法将帮助您确定任何问题,并验证您的网络键合设置是否满足您的期望和要求。

更改债券接口的IP地址

稍后,要更改Linux中债券接口的IP地址,您可以按照以下步骤操作:

使用NetPlan修改债券接口IP地址

1。编辑NetPlan配置(使用NetPlan的系统):

如果您将NetPlan用于网络配置(现代Linux发行版中常见),则需要编辑NetPlan配置文件。例如,如果您的债券接口是在名为01-bond.yaml的文件中配置的,则可以使用文本编辑器进行编辑:

 $ sudo nano /etc/netplan/01-bond.yaml
登录后复制
登录后复制

2。修改IP地址

在NetPlan配置文件中,在您的债券接口配置下找到地址部分。看起来像这样:

地址:[192.168.1.10/24]
登录后复制

将IP地址和子网掩码修改为您所需的值。例如:

地址:[192.168.1.20/24]
登录后复制

3。应用配置

进行更改后,保存配置文件并使用NetPlan Apply命令应用更改:

 $ sudo Netplan申请
登录后复制
登录后复制

这将把新的IP地址应用于债券接口。

如果您不使用NetPlan,而是使用其他网络配置方法(例如NetworkManager或Ifupdown),则步骤可能会略有不同。

在这种情况下,您将需要修改债券接口的配置文件,然后重新启动或重新加载网络服务以应用更改。

使用NMCLI修改债券接口IP地址

例如,要使用NMCLI命令更改债券接口的IP地址,请按照以下步骤操作。

1。检查现有债券配置

在更改之前,请使用NMCLI命令检查债券接口的现有配置:

 $ NMCLI连接显示债券0
登录后复制
登录后复制

用债券接口的名称替换债券0。

2。修改IP地址

使用NMCLI命令修改债券接口的IP地址。用您的债券接口名称和new_ip_address替换Bond0,并用您要分配的新IP地址替换:

 $ sudo nmcli连接修改债券0 ipv4.addresses new_ip_address/24
登录后复制

例如,将IP地址更改为“ 192.168.1.20/24”:

 $ sudo nmcli连接修改债券0 ipv4.addresses 192.168.1.20/24
登录后复制

3。应用更改

修改IP地址后,您可以使用以下命令将更改应用于债券接口:

 $ sudo nmcli连接UP债券0
登录后复制

此命令使用新的IP地址激活键接口。

4。验证更改

通过检查债券接口的状态和IP地址来验证更改已生效:

 $ NMCLI连接显示债券0
登录后复制
登录后复制

您应该在输出中看到更新的IP地址。

通过遵循以下步骤,您可以使用NMCLI成功更改债券接口的IP地址。确保将Bond0和New_ip_address替换为您要分配的特定键接口名称以及所需的IP地址。

特定的配置文件和命令可以根据您使用的Linux分发和网络管理工具而有所不同。

常见问题(常见问题解答)

这是一些用于Linux网络键合的常见常见问题。

问:Linux中的网络键是什么?

答:网络键合(也称为NIC键合或组合)是Linux中的一种技术,可将多个网络接口组合到单个逻辑接口中。它增强了服务器或工作站的冗余性和性能。

问:为什么要使用网络键合?

答:网络键合通过提供故障转移功能来提高网络可靠性。它还通过跨多个网络界面的负载平衡来增强网络性能。

问:Linux中有哪些键合模式?

答:Linux支持各种键合模式,包括“ Active-Backup”(故障转移),“ Balance-Rr”(圆形旋转),“ 802.3AD”(LACP)等。每种模式都有不同的目的,并适合特定的网络配置。

问:如何测试我的债券接口是否正常工作?

答:您可以通过监视其状态,模拟网络失败以检查故障转移行为以及使用IPERF之类的工具来验证负载平衡来测试债券接口。

问:如果需要更改债券接口的IP地址,该怎么办?

答:要更改债券接口的IP地址,请修改相关的配置文件(例如,NetPlan,Ifupdown,NetworkManager),更新IP地址,然后使用适当的命令或工具应用更改(例如,NetPlan应用,NMCLI连接UP)。

问:是否可以在同一系统上混合不同的键合模式?

答:是的,可以在同一系统上具有具有不同键合模式的多个键接口。每个债券接口都独立运行。

问:我可以从债券接口中添加或删除从债券接口而不会破坏网络连接的情况吗?

答:是的,您可以动态地添加或删除从债券接口中添加或删除从属接口而不会破坏网络连接性。债券接口将适应更改,前提是正确配置。

结论

网络键合是在Linux系统中增强网络可用性,冗余和负载平衡的宝贵方法。通过将多个物理网络接口组合到单个逻辑接口中,网络键合可提供增加的带宽,容错性和流量分布。

NetPlan和NMCLI是两个强大的工具,可用于在Linux中配置网络键合。 NetPlan提供了一种基于声明的YAML来定义网络配置的方法,而NMCLI提供了用于管理网络连接的命令行界面。

通过NetPlan和NMCLI的组合,可以在Linux系统上有效实现网络键合,从而确保可靠且高性能的网络连接。


相关阅读:

  • 如何在Ubuntu中配置静态IP地址
  • 如何将多个IP地址分配给Linux中的单个网络接口卡
  • 如何通过SSH将IP地址分配给远程Linux系统

以上是在Linux中配置网络粘结以获得高可用性的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板