仅第 2 层绑定模式
Equinix Metal™ 允许用户将服务器的网络模式从默认的三层绑定模式更改为仅使用基于 VLAN 的二层网络模式。这意味着所有对公共互联网的访问都将丢失,并且只能通过 SSH 串行 (SOS) 控制台或连接到同一 VLAN 的其他服务器访问该主机。
二层绑定模式保留了连接到两台架顶式交换机的两个网络端口的绑定设置,并且您可以将 VLAN 连接到绑定接口。这可以保护您的网络免受其中一台交换机发生故障、维护或其他中断的影响。

总体概述
- 第 2 层绑定模式保留了绑定,从而保留了冗余性以及流量通过服务器端口和机架顶部交换机的优势。
- 然后您可以将 VLAN 添加到
bond0以用于二层流量。如果您只向bond0添加一个 VLAN,则流量无法被标记。 - 如果要向
bond0添加多个 VLAN,则需要为每个 VLAN 创建子接口来处理标记流量,和/或需要设置一个本地 VLAN 来处理未标记流量。
转换为第 2 层绑定模式
要使用绑定二层模式,您必须首先将网络配置更改为二层。从门户网站导航到服务器的“网络”页面,单击“转换为其他网络类型”,然后选择“二层”。
- Console
- CLI
- API
在 Equinix Metal 控制台中,导航至服务器的“网络”页面,单击“转换为其他网络类型”,然后选择“第 2 层”。选择“绑定”模式。单击“转换为第 2 层”开始转换。

完成后,您将返回服务器的 Network 页面。
在“第 2 层”部分,单击“添加新 VLAN”,即可将 VLAN 分配给 bond0 端口。单击“添加”开始更改。

使用 metal port convert 命令将绑定接口转换为第 2 层,为 --port-id 指定 UUID bond0。
metal port convert --port-id <bond0_id> --layer2 --bonded
然后,使用 metal port vlan 命令为 bond0 分配一个 VLAN。为 --port-id 指定 bond0 的 UUID,并将要分配给 --assign 的 VLAN 指定为 bond0。
metal ports vlan --port-id <bond0_id> --assign <VLAN_id>
在 API 中,您可以通过向 /ports/{id}/convert/layer-2 端点提交 POST 请求,并在路径中指定端口 ID,将绑定接口转换为二层接口并分配 VLAN。对于二层绑定模式,该端口 ID 需要是 /devices/{id} 端点返回的 bond0 的 UUID。
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/ports/{id}/convert/layer-2" \
-d '{
"vnid": "<vlan_ID>"
}'
'vnid' 是请求正文中发送的 VLAN ID。该 ID 可以是 /projects/{id}/virtual-networks 端点返回的 VLAN UUID,也可以是控制台中显示的 VLAN ID。
请注意:一旦您在控制台中点击“转换为二层网络”或向 API 提交请求,现有的 IP 地址将被移除,服务器将无法再通过互联网访问。您仍然可以使用 SOS 控制台 进行连接。
连接多个 VLAN
支持向绑定接口添加多个 VLAN。但这会影响服务器配置,因为您必须确保存在一个子接口来接收发往每个 VLAN 的数据包,或者设置一个本地 VLAN 来处理未标记的流量。
- Console
- CLI
- API
要为接口分配多个 VLAN,请导航至服务器的“网络”页面。在“第 2 层”部分,单击“添加新 VLAN”,即可为 bond0 端口分配其他 VLAN。

点击“添加”按钮开始更改。请注意,如果您一次分配多个 VLAN,它们将通过异步批处理进程添加,该进程会立即开始,但可能需要一些时间才能完成。
要分配其他一个或多个 VLAN,请使用 metal port vlan 命令,并指定要分配给 bond0 的每个 VLAN。
metal port vlan --port-id <bond0_id> --assign <vlan> --assign <vlan>
在 API 中为接口分配单个额外 VLAN 的步骤与分配第一个 VLAN 的步骤相同。向 /ports/{id}/assign 端点发送 POST 请求。
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN> " \
"https://api.equinix.com/metal/v1/ports/{id}/assign" \
-d '{
"vnid": "c4032b18-5494-451b-a779-a7d3c536bfd7"
}'
也可以通过异步批处理方式批量为端口分配 VLAN。向 /ports/{id}/vlan-assignments/batches 端点发送 POST 请求,并在请求正文中传入 VLAN 分配数组。
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN> " \
"https://api.equinix.com/metal/v1/ports/{id}/vlan-assignments/batches" \
-d '{
"vlan_assignments": [
{
"vlan": "string",
"state": "assigned"
},
{
"vlan": "string",
"state": "assigned"
},
]
}'
配置服务器以使用第 2 层绑定模式
将服务器转换为二层绑定模式并将 VLAN 分配给 bond0 后,您需要在服务器的操作系统上配置网络,并为其分配 VLAN 上的 IP 地址。
注意 - 由于在将此服务器转换为第 2 层时所有Equinix Metal分配的 IP 地址都已被删除,因此您可以自由使用所需的任何子网,但您可能必须删除服务器操作系统中任何现有的网络配置以防止冲突。
有两个示例配置,第一个示例是分配单个 VLAN 的配置,第二个示例是分配多个 VLAN 的配置。
请记住,您需要使用 SOS/OOB 控制台 通过 SSH 连接到您的服务器。
对于 bond0 上的单个 VLAN
如果只有一个 VLAN,则不要标记数据包,并将 VLAN IP 地址直接分配给 bond0。
- Ubuntu or Debian
-
安装并配置 VLAN 的先决条件。
modprobe 8021qecho "8021q" >> /etc/modules -
为 VLAN 配置 IP 地址
bond0。示例中使用的是 IP 地址192.168.1.2/29。ip addr add 192.168.1.2/29 dev bond0要使网络配置永久生效并在服务器重启后仍然有效,请编辑
/etc/network/interfaces文件中的bond0。auto bond0iface bond0 inet manualaddress 192.168.1.2netmask 255.255.255.248pre-up sleep 4
您需要在要连接到 VLAN 的所有服务器上运行相同的步骤,为每个服务器分配不同的 IP 地址。
对于 bond0 上的多个 VLAN
如果您在 bond0 上使用多个 VLAN,则 IP 数据包将被标记,您需要设置子接口来接收发往每个 VLAN 的数据包。
注意:如果您需要支持未标记的数据包,请将处理未标记流量的 VLAN 设置为 本地 VLAN。
- Ubuntu or Debian
-
安装并配置 VLAN 的先决条件。
apt-get install vlanmodprobe 8021qecho "8021q" >> /etc/modules -
在
bond0上添加新的子接口来处理带标签的流量,每个 VLAN 一个子接口,并为其分配 IP 地址。使用 Equinix Metal VLAN 中的 VLAN ID,就像在VLAN_ID字段中一样。示例中使用了 VLAN ID1000和1001以及 IP 地址192.168.1.2/29和192.168.100.2/29。ip link add link bond0 name bond0.1000 type vlan id 1000ip addr add 192.168.1.2/29 dev bond0.1000ip link add link enp1s0f1 name bond0.1001 type vlan id 1001ip addr add 192.168.100.2/29 dev bond0.1001为了使网络配置永久有效,并在服务器重启后仍然有效,请将新的子接口添加到
/etc/network/interfaces文件中。auto bond0.1000iface bond0.1000 inet staticaddress 192.168.1.2netmask 255.255.255.248vlan-raw-device bond0auto bond0.1001iface bond0.1001 inet staticaddress 192.168.100.2netmask 255.255.255.248vlan-raw-device bond0 -
启动接口并检查它们是否已启动。
ip link set dev bond0.1000 upip -d link show bond0.1000ip link set dev bond0.1001 upip -d link show bond0.1001
您需要在想要连接到 VLAN 的所有服务器上运行相同的步骤,并为每个服务器分配不同的 IP 地址。
转换回第 3 层
如果您处于第 2 层绑定模式并想要返回第 3 层,则必须先删除所有附加的 VLAN。
要在控制台中分离 VLAN,请导航至服务器的“网络”页面。在“第 2 层”部分,单击要从服务器分离的 VLAN 旁边的“移除”按钮。单击“是”确认要移除该 VLAN。

从此服务器分离 VLAN 并不会将其从您的项目中删除。从服务器分离后,该 VLAN 将继续存在。
然后,要转换回第 3 层,请单击“转换为其他网络类型”,选择“第 3 层”。单击“转换为第 3 层”开始转换过程。

注意:处于层绑定模式会删除服务器的公网 IP 地址。如果服务器稍后转换回第 3 层,则会分配新的公网 IP 地址,并且服务器可访问公共互联网。