收集云服务器优惠信息
记录云服务器使用心得

在Ubuntu系统中创建网络绑定和桥接的实用方法

网络绑定(Network Bonding)是指将多个LAN或以太网接口组合成一个逻辑接口,这称为网络绑定。网络绑定的目标是提供容错和网络冗余,它还可以根据创建的绑定类型增强容量并提高网络吞吐量。

此外,网络桥接(Network Bridging)涉及创建一个逻辑接口,称为两个接口之间的桥接。这允许流量通过它们,这个对于在你的系统和其它系统之间共享互联网连接特别有帮助。

在本文中,小编首先了解网络绑定基础知识以及在Ubuntu系统中如何配置网络绑定,同时也介绍下网络桥接的原理。

什么是网络绑定?

网络绑定也称为链路聚合、网络接口卡( NIC ) 绑定,它是将两个物理网络接口连接在一起形成单个逻辑接口。这样做是为了冗余和故障转移,因为如果一个接口出现问题或出现故障,其余接口仍将提供所需的连接。

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

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

步骤1:在Ubuntu中启用绑定

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

$ lsmod | grep bond

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

$ sudo modprobe bonding

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

$ lsmod | grep bond

这次,在终端上将出现一些输出,这样可以确认模块已加载。

检查Ubuntu中的绑定

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

$ sudo apt install ifenslave -y

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

下一步是配置网络绑定。请记住,这只是暂时的绑定,重启后不会持续存在。首先,让我们通过运行ip命令来检查系统中的网络接口,如下所示:

$ ip a

从输出中可以看到,有两个活动接口:enp0s3和enp0s8。

列出Ubuntu中的网络接口

此外,还可以使用ifconfig命令,效果是一样的:

检查Ubuntu中的网络接口

如果运行命令时遇到错误,请安装提供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

检查Ubuntu中的网络绑定

步骤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"

在这里,选择的绑定类型为active-backup,它提供备份,以便在一个接口出现故障时,另一个接口接管作为主链路。保存所做的更改并退出配置文件。

接下来,关闭接口:

$ sudo ifconfig enp0s3 down
$ sudo ifconfig enp0s8 down

同时需要应用所做的设置:

$ sudo netplan apply

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

$ sudo ifconfig bond0 up
$ ifconfig bond0
在Ubuntu中验证网络绑定

此外,你还可以查看有关网络绑定的详细信息,命令如下:

$ sudo cat /proc/net/bonding/bond0

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

在Ubuntu中检查网络绑定信息

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

我们已将网络绑定设置为“active-backup”策略。此时只有一个接口处于活动状态。如果发生故障,另一个接口将接管作为活动接口。为了进行测试,这里将禁用enps0s3接口并检查其它接口是否会启动:

$ sudo ifconfig enps0s3 down

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

$ sudo cat /proc/net/bonding/bond0

列出Ubuntu中的活动网络绑定

什么是网络桥接?

在网络中,网桥是连接两个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进行配置。

列出Ubuntu上的网络接口

接下来,将修改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

验证Ubuntu上的网络接口

另外,你可以使用nmcli实用程序来验证活动连接:

$ sudo nmcli con show --active

验证Ubuntu上的活动网络连接

使用静态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地址:

在Ubuntu上验证网桥

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

$ ping google.com -c 4
在Ubuntu中测试网络连接

结论

网络桥接是连接两个或多个本地网络的技术,通过桥接设备将数据包从一个网络转发到另一个网络,它可以提高网络性能和扩展网络范围。桥接的一个主要优点是它能够减少网络拥塞。它可以将流量分散到不同的网络中,提高网络性能和吞吐量。此外,网络桥接还可以扩展网络范围,将多个本地网络连接在一起,形成一个更大的网络。

绑定是将多个网络接口或IP地址与特定设备或服务器相关联的过程,它可以实现负载均衡、冗余备份和故障恢复等功能,提高网络性能和可用性。在负载均衡中,多个网络接口或IP地址被绑定在一起,共同承担网络流量的负载。这样可以提高网络的性能和可靠性,并防止单一接口或地址成为性能瓶颈。在冗余备份和故障恢复中,绑定可以将多个网络接口或IP地址关联到同一个设备或服务器。如果一个接口或地址发生故障,绑定可以自动切换到其他可用的接口或地址,确保网络的连通性和可用性。

为此,以上简单介绍在Ubuntu系统上配置桥接和绑定接口的简单方法,仅供参考,有不清楚的小伙伴可以参考上述教程进行设置。

赞(0)
网站声明:本文内容由趣云笔记原创,部分资源收集于网络,如有侵权请联系企鹅:2472781824删除。
文章名称:《在Ubuntu系统中创建网络绑定和桥接的实用方法》
文章链接:https://www.ecscoupon.com/876.html
本站资源仅供个人学习交流,未经允许不得转载,更不允许用于商业用途。如需转载,请注明来源,感谢理解!