如何在 Ubuntu 中创建网络绑定和桥接如何在 Ubuntu 中创建网络绑定和桥接如何在 Ubuntu 中创建网络绑定和桥接如何在 Ubuntu 中创建网络绑定和桥接
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 中创建网络绑定和桥接

网络绑定将多个LAN或以太网接口组合成一个逻辑接口,称为网络绑定。

网络绑定的目标是提供容错和网络冗余。它还可以根据创建的绑定类型增强容量并提高网络吞吐量。

另一方面,网络桥接涉及在两个接口之间创建称为网桥的逻辑接口。这允许流量通过它们,并且对于在您的系统和其他系统之间共享互联网连接特别有帮助。

在本课程中,我们将首先了解网络绑定以及如何配置网络绑定。稍后,我们将把注意力转向网络桥接。

什么是网络绑定?

也称为链路聚合、网络接口卡 (NIC) 绑定或简称为网络绑定,是将两个物理网络接口连接在一起形成单个逻辑接口。

这样做是为了冗余和故障转移。如果一个接口出现问题或出现故障,其余接口仍将提供所需的连接。

网络债券的类型

网络绑定有 7 种类型,每种类型都使用模式编号表示,即 mode=0、mode=1 一直到 mode=7 >。

  • mode=0(循环策略) – 这是默认模式,基于循环策略。数据包按从第一个可用从接口到最后一个的顺序传输。该模式提供负载平衡和容错。
  • mode=1 (主动备份) – 这基于主动备份策略。顾名思义,只有一个从站处于活动状态。当当前从站发生故障时,另一个将被激活。该模式提供容错和冗余。
  • mode=2 (Balance-XOR) – 该模式设置源地址与目标 MAC 地址的异或 (XOR)。
  • mode=3 (广播) – 在此策略中,所有数据包都在所有从属接口上传输。
  • mode=4 (802.3ad) – 这也称为动态链路聚合模式。它以相同的速度创建聚合组。适用于支持 IEEE 802.3ad 动态链路标准的网络交换机。
  • mode=5 (Balance-tlb) – 这也称为自适应传输负载平衡。此处,传出流量根据每个从属接口上的当前负载进行传输,而传入流量则由当前活动从属接口接收。
  • mode=6 (Balance-alb) – 这也称为自适应负载平衡。负载平衡是使用 ARP(地址解析协议)协商来完成的。

了解了网络绑定类型后,现在让我们换个话题,探索如何在 Ubuntu 20.04 上配置网络绑定。

第 1 步:在 Ubuntu 中启用绑定

首先,第一步是确保“bonding”模块已安装并加载。

在大多数情况下,该模块已预安装在现代 Linux 发行版中,但并未加载。要检查模块是否已加载,请使用 lsmod 命令:

lsmod | grep bond

如果未加载模块,输出将为空白。要加载模块,请运行所示的 modprobe 命令。

sudo modprobe bonding

再次确认模块已加载,如下所示。

lsmod | grep bond

这次,您的终端上将打印一些输出,确认模块已加载。

如果未安装该模块,请使用以下命令安装:

sudo apt install ifenslave -y

步骤 2:在 Ubuntu 中配置临时网络绑定

下一步是配置网络绑定。请记住,这只是暂时的绑定,重启后不会持续存在。

首先,我们通过运行 ip 命令来检查系统中的网络接口,如图所示。

ip a

从输出中,我们有两个活动接口:enp0s3 和 enp0s8。

您还可以使用 ifconfig 命令。

如果运行命令时遇到错误,请安装提供 ifconfig 实用程序的 net-tools 软件包。

sudo apt install net-tools

接下来,我们需要禁用两个网络接口。

sudo ifconfig enp0s3 down
sudo ifconfig enp0s8 down

接下来,创建 802.3ad 类型的网络绑定。

sudo ip link add bond0 type bond mode 802.3ad

然后将每个网络接口添加到网络绑定中。

sudo ip link set enp0s3 master bond0
sudo ip link set enp0s8 master bond0

接下来,激活您的网络绑定。

sudo ifconfig bond0 up

要验证绑定是否已创建,请运行以下命令:

sudo ip link

步骤 3:在 Ubuntu 中配置永久网络绑定

如前所述,创建的绑定只是暂时的,在系统断电或重新启动后将不再存在。为了使更改永久生效,我们将使用 Nano 编辑器编辑 Netplan YAML 文件,如图所示。

sudo nano /etc/netplan/01-network-manager-all.yaml

打开文件后,添加以下行以指定网络绑定、网络接口、绑定模式和名称服务器。

network:
  version: 2
  renderer: NetworkManager

  ethernets:
    enp0s3:
      dhcp4: no
    enp0s8:
      dhcp4: no

  bonds:
      bond0:
       interfaces: [enp0s3, enp0s8]
       addresses: [192.168.2.150/24]
       routes:
            - to: default
              via: 192.168.2.1
       parameters:
            mode: active-backup
            transmit-hash-policy: layer3+4
            mii-monitor-interval: 1

       nameservers:
           addresses:
                - "8.8.8.8"
                - "192.168.2.1"

在这里,我们选择的绑定类型为主动备份,它提供备份,以便在一个接口出现故障时,另一个接口接管作为主链路。

保存所做的更改并退出配置文件。

接下来,关闭接口。

sudo ifconfig enp0s3 down
sudo ifconfig enp0s8 down

接下来,应用所做的设置。

sudo netplan apply

请务必启用绑定并验证绑定接口。

sudo ifconfig bond0 up
ifconfig bond0 

此外,您还可以查看有关网络绑定的详细信息。

sudo cat /proc/net/bonding/bond0

这会显示从属接口和当前活动的从属接口及其统计信息。在此设置中,当前从属接口是enps0s3。

步骤 4:在 Ubuntu 中测试网络绑定

我们已将网络绑定设置为“主动备份”策略。此时只有一个接口处于活动状态。如果发生故障,另一个接口将接管作为活动接口。

为了进行测试,我们将禁用 enps0s3 接口并检查其他接口是否会启动。

sudo ifconfig enps0s3 down

当我们检查绑定统计信息时,我们看到 enps0s8 接口现在是活动从接口。

sudo cat /proc/net/bonding/bond0

什么是网络桥接?

在网络中,网桥是连接两个LAN网络并控制它们之间的数据包流的设备。它的功能更像是一个网络交换机,根据主机 MAC 地址在网络之间转发流量。

它通过监听每个网络中主机的网络流量来构建 MAC 地址表。它被视为第 2 层设备,因为它在 OSI 模型的第 2 层上运行。

您可以在 Linux 设备上创建软件桥来模拟硬件桥。在网络桥接中,在一个或多个网络接口之间创建一座桥,以便让流量在它们之间流动。这允许您与其他人共享主机的互联网连接。

网桥动态获取 IP 地址(使用DHCP),也可以手动配置为具有静态 IP 地址。

在本节中,我们将演示如何在 Ubuntu 20.04 上创建和配置网桥。

步骤1:在Ubuntu中安装Bridge Utils

第一步是安装bridge-utils包,它提供了创建和管理桥接网络所需的所有工具。

sudo apt install bridge-utils

第2步:在Ubuntu中创建网桥

就像网络绑定一样,您也可以使用 netplan 实用程序创建桥接。您可以通过两种方式进行操作 - 您可以使用 DHCP 或静态 IPv4 寻址创建网桥。

让我们看看如何使用这两种方法来完成此任务。

使用 DHCP 寻址创建网桥

这是创建网桥最直接的方法,因为网桥接口将从 DHCP 服务器动态获取 IP。

首先,让我们列出活动接口。

ip a

从输出来看,我们只有一个活动网络接口 - enp0s3,它已使用静态 IP 进行配置。

接下来,我们将修改 Netplan YAML 文件。

sudo nano /etc/netplan/01-network-manager-all.yaml

粘贴以下配置。 enp0s3 接口现在是桥接口的一部分。

ethernets:
    enp0s3:
      dhcp4: no

  bridges:
    br0:
      dhcp4: yes
      interfaces:
        - enp0s3

保存更改并退出文件。然后应用所做的配置。

sudo netplan apply

大约 30 秒后,桥接接口将启动并通过 DHCP 协议自动接收 IP 地址。

ip a

您可以使用 nmcli 实用程序来验证活动连接。

sudo nmcli con show --active

使用静态 IP 寻址创建网桥

或者,您可以为桥接接口配置静态 IP 寻址并显式指定 IP 地址、默认网关以及 DNS 服务器。

因此,再次访问 YAML 文件。

sudo nano /etc/netplan/01-network-manager-all.yaml

修改配置如下。

ethernets:
    enp0s3:
      dhcp4: true

  bridges:
    br0:
      addresses: [ 192.168.2.200/24 ]
      routes:
        - to: default
          via: 192.168.2.1
      mtu: 1500
      nameservers:
          addresses: [8.8.8.8]
      interfaces:
        - enp0s3

在此配置中,192.168.2.200 是桥接接口的 IP,而 /24 指定子网掩码 (255.255.255.0)。网关 IP 为 192.168.2.1,8.8.8.8 为 DNS 地址。

保存更改并退出 YAML 文件。然后应用配置。

sudo netplan apply

接下来,桥接接口已创建并具有分配给它的静态 IP 地址

ip a

从输出中,您可以看到已创建桥接接口并为其分配了静态 IP。

另外,请务必使用 ping 命令验证您是否也可以从 Linux 系统访问互联网。

ping google.com -c 4

结论

在本课程中,我们介绍了网络桥接和绑定的基础知识,以及如何在 Ubuntu 系统上配置桥接和绑定接口。

©2015-2025 艾丽卡 support@alaica.com