如何设置、修改和删除 Linux 网桥和绑定
在本指南中,我们将讨论两个基本的网络概念:桥接和绑定。我们将看到如何在 Linux 系统中设置、修改和删除桥接和绑定。我们将在Linux Mint 20 Ulyana 系统上演示该过程。但是,您也可以在 Ubuntu 或 Debian 上实施相同的过程。
先决条件:
Linux系统至少有两个网络接口
须藤用户
桥梁
桥接是在两个或多个网络接口之间创建桥梁,以在它们之间传递流量。它允许您与其他系统共享系统的互联网连接。考虑这样一个场景:系统 A(没有互联网连接)想要连接到另一个系统 B 的互联网连接。您所需要做的就是用以太网电缆插入两个系统并在它们之间建立桥梁。但是,为此,您的系统 B 上需要两个接口。一个接口将连接到互联网,另一个接口将连接到系统 A。
设置网桥
在我们的示例中,我们将在两个接口 ens33 和 ens39 之间建立一个桥 br0 。 enss33 接口连接到互联网,而 ens39 连接到第二个系统(需要互联网连接)。我们将通过 DHCP 设置网桥。
首先,您必须安装所需的程序bridge-utils来创建桥。在终端中发出以下命令来安装bridge-utils:
在终端中使用以下命令创建桥接网络接口:
此命令将创建一个名为 br0 的网桥。您可以将其命名为任何您想要的名称。
现在使用以下语法添加您想要桥接的两个接口(一个连接到互联网,另一个连接到第二个系统):
例如,在我们的例子中,它将是:
上述命令会将 enss33 和 ens39 添加到网桥 br0 中。
现在,调出桥接口:
在我们的例子中,它将是:
您还可以运行以下命令来启动并运行接口(在 DHCP 的情况下)。
现在,编辑 /etc/network/interfaces 文件 并附加以下行:
iface br0 inet dhcp
bridge_ports ens33 ens39
现在使用以下命令重新启动网络服务:
现在桥已经建立,希望您能够从第二个系统访问互联网。
观桥
您可以使用以下命令查看系统上所有已配置的网桥以及连接到它们的接口。
修改桥
添加一个接口到桥接
您可以将接口添加到现有网桥,如下所示:
例如,要将名为 ens38 的接口添加到名为 br0 的现有网桥,命令将为:
从桥中删除接口
您还可以从网桥中删除接口,如下所示:
例如,要从名为 br0 的网桥中删除名为 ens38 的接口,命令为:
删除桥
要从系统中删除桥接器,您首先需要将其关闭。使用以下命令来执行此操作:
例如,要删除名为 br0 的网桥,请首先将其关闭:
然后,要删除桥,请使用以下命令:
在我们的示例中,命令为:
网络绑定
网络绑定组合了多个网络接口,将它们呈现为单个接口,实际上将它们的带宽组合到单个连接中。绑定网络接口可提高吞吐量,在其中一个接口发生故障时提供高可用性和故障转移。
网络绑定有多种模式,如下:
mode=0(平衡循环)
mode=1(主动备份)
mode=2(平衡异或)
模式=3(广播)
模式=4(802.3ad)
mode=5(平衡TLB)
mode=6(平衡ALB)
设置网络绑定
在本指南中,我们将设置模式 1(主动备份模式)。我们将绑定两个接口:ens33 和 ens38。 ens33 将是我们的活动接口,而ens38 将是备用接口。
首先,您必须在系统上安装ifenslave工具。为此,请在终端中发出以下命令:
然后使用以下命令加载内核模块:
上述命令将为 Linux 内核添加额外的功能。
现在,找出您的网络接口。您可以使用以下命令来执行此操作:
以下输出显示除环回接口外还有两个网络接口ens33和ens38。我们将在名为 bond0 的键中绑定两个接口,ens33和 ens38。
现在在终端中使用以下命令编辑网络接口文件:
修改文件如下:
确保将界面名称替换为您的名称。
iface ens33 inet manual
bond-master bond0
bond-primary ens33 ens38
auto ens38
iface ens38 inet manual
bond-master bond0
bond-primary ens33 ens38
auto bond0
iface bond0 inet dhcp
bond-slaves none
bond-mode 1
bond-miimon 100
现在保存并关闭接口配置文件。
现在使用以下命令重新启动网络服务:
运行“ifconfig”或“ip a”命令,这次您将看到 bond0 作为一个单独的接口,并为其分配了 IP 地址。您还可以看到没有分配给 ens33 和 ens38 接口的 IP 地址。
测试粘合
要验证绑定是否正常工作,请发出以下命令:
以下输出显示绑定模式为 active-backup,并且主设备和当前活动从设备均为 ens33。
现在要测试主动备份模式,请从网络上的另一个系统对绑定服务器 IP 地址(在我们的示例中为 192.168.72.179)运行连续 ping。您的 ping 操作应该成功。然后尝试关闭活动接口并查看 ping 是否继续或停止。如果能 ping 通,则说明绑定配置成功。
如果运行以下命令,您还可以看到主从设备 ens33 已关闭,而当前活动的从设备现在为 ens38。
修改绑定
更改活动从接口
您还可以使用 -c 选项更改绑定中的活动从接口,如下所示:
例如,在我们的场景中,我们将 ens33 作为活动接口,而 ens38 作为备份接口。要将 ens38 设置为活动从接口,命令为:
现在要确认活动接口是否已成功更改,请在终端中发出以下命令:
在下面的输出中,您可以看到活动从接口已更改为 ens38。
改变绑定模式
要更改绑定模式,请编辑/etc/network/interfaces 文件并更改绑定模式值。例如,要将绑定模式更改为循环,请将绑定模式的值修改为0。
现在要确认绑定模式是否已成功更改,请在终端中发出以下命令:
在下面的输出中,很明显绑定模式已更改为循环。
附加从站
要将新的从属接口附加到已有的绑定,请使用以下语法:
-v 在这里用于详细输出。
例如,要将新的从属接口 ens33 添加到现有的 bond0 中,命令为:
分离从站
要将从属接口与绑定分离,请使用 -d 选项,如下所示:
-v 此处用于详细输出。
例如,要将从属接口 ens33 与 bond0 分离,命令为:
删除绑定
要删除绑定,请编辑/etc/network.interfaces文件,并删除与绑定相关的配置。只保留接口配置,如下所示:
iface ens33 inet dhcp
auto ens38
iface ens38 inet dhcp
然后保存并关闭接口配置文件。
现在使用以下命令删除绑定:
然后重新启动网络服务:
这就是全部内容了!在本文中,首先,我们展示了如何设置网桥以与其他系统共享互联网连接。然后我们展示了如何通过在桥中添加或删除接口来修改桥。接下来,我们展示了如何设置网络绑定以提高吞吐量、高可用性和故障转移。然后我们展示了如何通过更改其活动从属、附加/分离从属以及更改绑定模式来修改绑定。我们还展示了如何删除桥和键,以防您不再需要它们。