跳至内容

混合非键合模式

在混合非绑定模式下,一个网络接口将从三层绑定中移除,并置于二层模式。然后可以将 VLAN 分配给此接口以进行二层连接,同时保留三层连接,这样服务器仍然可以通过其公网 IP 地址访问。

Hybrid Unbonded Diagram

虽然在某些情况下这是可取的,但它会在上游交换机或网络接口上引入单点故障。任何一个交换机发生故障、维护或重启都会导致网络中断。

如果您有高可用性方面的顾虑,混合绑定模式同时支持第 2 层和第 3 层,同时保持跨越 2 个不同上游交换机的高可用性“绑定”网络接口。

总体概述

  • 混合非绑定模式将 eth1 从绑定中分离出来,第 3 层流量将不再通过 eth1 流动。
  • 然后您可以将 VLAN 添加到 eth1 以用于二层流量。如果您只向 eth1 添加一个 VLAN,则流量绝对不能被标记。
  • 如果要向 eth1 添加多个 VLAN,则需要为每个 VLAN 创建子接口来处理标记流量,和/或需要设置一个本地 VLAN 来处理未标记流量。
  • bond0 will continue to handle your Layer 3 traffic, and Internet access is preserved through your Equinix Metal assigned public IP address.
  • 如果向 bond0 添加 VLAN,则需要为每个 VLAN 创建子接口来处理带标签的流量。bond0 不支持未标记的二层流量或设置本地 VLAN。

转换为混合非粘合模式

混合非绑定模式从 LACP 绑定中移除 eth1 接口,允许您向 eth1 添加 2 层 VLAN,同时保留分配给绑定 3 层接口的弹性 IP。

要使用混合非绑定模式,您必须先将网络配置更改为混合模式。在控制台中,导航到服务器的“网络”选项卡,单击“转换为其他网络类型”,选择“混合”,然后选择“非绑定”。单击“转换为混合”以应用更改。

Converting to Hybrid Unbonded mode options panel

然后,从服务器的“网络”页面,单击“添加新 VLAN”。选择 eth1 作为接口,然后选择要使用的虚拟网络 ID(VNID 或 VLAN ID)。

Adding a VLAN to eth1

要一次性分配多个 VLAN,请从下拉菜单中不断添加 VLAN。请注意,如果您一次性分配多个 VLAN,系统会通过异步批处理过程添加它们,该过程会立即开始,但可能需要一些时间才能完成。

配置您的服务器

将服务器转换为混合非绑定模式并将 VLAN 分配给 eth1 后,您需要在服务器的操作系统上配置网络,并为其分配 VLAN 上的 IP 地址。

**注意:**不建议使用以 10.x.x.x 开头的子网进行 VLAN 流量传输,因为我们将其用于服务器的私有网络,如果您使用相同的子网,可能会发生冲突。

这里有两个配置示例,第一个示例是将单个 VLAN 分配给 eth1 的配置,第二个示例是将多个 VLAN 分配给 eth1 和/或将 VLAN 分配给 bond0 的配置。

对于 eth1 上的单个 VLAN

如果您只有一个 VLAN,请不要标记流量,并将 VLAN IP 地址直接分配给接口。

以下示例使用 VLAN ID 为 1036、子网为 198.51.100.0/24 的 VLAN。

iproute2 是 Linux 内核中用于管理网络配置的实用程序。它包含在大多数 Linux 操作系统发行版中。

注意

在我们的操作系统镜像中,接口没有别名化为 eth1eth0。在本例中,控制台中的 eth1 对应于操作系统中的 enp1s0f1

  1. 关闭 enp1s0f1 接口。

    ip link set down enp1s0f1
  2. 请确保已从 bond0 中移除 enp1s0f1

    ip -d link show enp1s0f1

    如果尚未删除,请将其删除。

    ip link set enp1s0f1 nomaster
  3. 为 VLAN 配置 IP 地址 enp1s0f1。示例中使用的是 IP 地址 198.51.100.4/24

    ip addr add 198.51.100.4/24 dev enp1s0f1
  4. 启动接口并检查其是否已恢复。

    ip link set dev enp1s0f1 up
    ip -d link show enp1s0f1
  • 可选:要使网络配置永久生效并在服务器重启后仍然有效,请编辑 /etc/network/interfaces 文件中的 enp1s0f1

    auto enp1s0f1
    iface enp1s0f1 inet manual
    address 192.168.1.2
    netmask 255.255.255.248
    pre-up sleep 4

    另外,请记住从 bond0 中移除 enp1s0f1(截断示例)。

    auto bond0
    iface bond0 inet static
    ...
    bond-slaves enp1s0f0
    dns-nameservers 147.75.207.207 147.75.207.208
    ...

您需要在想要连接到 VLAN 的所有服务器上运行相同的步骤,为每个服务器分配不同的 IP 地址。

对于 eth1 上的多个 VLAN 或 bond0 上的 VLAN

如果您在 eth1 上使用多个 VLAN,或者向 bond0 添加 VLAN,则 IP 数据包将被标记,您需要设置子接口来接收发往每个 VLAN 的数据包。如果您需要支持未标记的数据包,请将处理未标记数据包的 VLAN 设置为 Native VLAN

以下示例使用 eth1 和:

  • VLAN ID 为 1036,子网为 198.51.100.0/24 的 VLAN。
  • VLAN ID 为 2025,子网为 203.0.113.0/24 的 VLAN。

iproute2 是 Linux 内核中用于管理网络配置的实用程序。它包含在大多数 Linux 操作系统发行版中。

注意

在我们的操作系统镜像中,接口没有别名化为 eth1eth0。在本例中,控制台中的 eth1 对应于操作系统中的 enp1s0f1

  1. 如果尚未安装并配置 VLAN,请先安装并配置 VLAN 的先决条件。

    apt-get install vlan
    modprobe 8021q
    echo "8021q" >> /etc/modules
  2. 请确保已从 bond0 中移除 enp1s0f1

    ip -d link show enp1s0f1

    如果尚未删除,请将其删除。

    ip link set dev enp1s0f1 nomaster
  3. 在接口 enp1s0f1 上添加新的子接口来处理带标签的流量,每个 VLAN 一个子接口。示例中使用了 VLAN ID 10362025

    ip link add link enp1s0f1 name enp1s0f1.1036 type vlan id 1036
    ip link add link enp1s0f1 name enp1s0f1.2025 type vlan id 2025
  4. 为子接口分配 IP 地址。示例中使用 198.51.100.2/24

    ip addr add 198.51.100.2/24 dev enp1s0f1.1036
    ip addr add 203.0.113.2/24 dev enp1s0f1.2025
  5. 启动接口并检查它们是否已启动。

    ip link set dev enp1s0f1.1036 up
    ip -d link show enp1s0f1.2025

    ip link set dev enp1s0f1.1036 up
    ip -d link show enp1s0f1.2025
  • 可选:为了使网络配置永久生效并在服务器重启后仍然有效,请将新的子接口添加到 /etc/network/interfaces 文件中。

    auto enp1s0f1.1036
    iface enp1s0f1.1036 inet static
    address 198.51.100.2
    netmask 255.255.255.0
    vlan-raw-device enp1s0f1

    auto enp1s0f1.2025
    iface enp1s0f1.2025 inet static
    address
    netmask 255.255.255.0
    vlan-raw-device enp1s0f1

    另外,请记住从 bond0 中移除 enp1s0f1(截断示例)。

    auto bond0
    iface bond0 inet static
    ...
    bond-slaves enp1s0f0
    dns-nameservers 147.75.207.207 147.75.207.208
    ...

您需要在想要连接到 VLAN 的所有服务器上运行相同的步骤,并为每个服务器分配不同的 IP 地址。

测试 VLAN 连接

现在您应该能够在 VLAN 第 2 层网络上的服务器之间进行通信。

[root@nmcli-testing ~]# ping 198.51.100.2
>
PING 198.51.100.2 (198.51.100.2) 56(84) bytes of data.
64 bytes from 198.51.100.2: icmp_seq=1 ttl=64 time=0.703 ms
64 bytes from 198.51.100.2: icmp_seq=2 ttl=64 time=0.444 ms
64 bytes from 198.51.100.2: icmp_seq=3 ttl=64 time=0.451 ms
64 bytes from 198.51.100.2: icmp_seq=4 ttl=64 time=0.412 ms
^C
--- 198.51.100.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3113ms
rtt min/avg/max/mdev = 0.412/0.502/0.703/0.116 ms

转换回第 3 层

如果要恢复到默认的三层绑定模式,必须先删除所有已分配的 VLAN,然后将 eth1 添加到绑定接口。

要在控制台中取消分配 VLAN,请导航至服务器的“网络”选项卡。在“第 2 层”部分,选择要从端口取消分配的 VLAN。单击“移除”。

Removing a VLAN

请注意,取消分配 VLAN 并不会将其从项目中删除。从端口取消分配 VLAN 后,该 VLAN 将继续存在。

然后,要转换回第 3 层,请单击“转换为其他网络类型”,选择“第 3 层”。单击“转换为第 3 层”开始转换过程。

Converting back to Layer 3 Panel

此页面有帮助吗?