ハイブリッド・アンボンド・モード
ハイブリッド・アンボンド・モードでは、1つのネットワーク・インターフェイスがレイヤ3ボンドから外され、レイヤ2モードになります。レイヤ3接続を維持したまま、レイヤ2接続のためにこのインターフェイスにVLANを割り当てることができるため、サーバーはパブリックIPアドレスでアクセスできます。

これは状況によっては望ましいことですが、アップストリームスイッチまたはネットワークインターフェースのいずれかに単一障害点が発生します。どちらか一方のスイッチで停止、メンテナンス、リブートが発生すると、ネットワークが中断します。
ハイアベイラビリティに懸念がある場合、ハイブリッド・ボンデッド・モードは、2つの多様なアップストリームスイッチにまたがる可用性の高い「ボンデッド」ネットワーキング・インターフェースを維持しながら、レイヤ2とレイヤ3の両方をサポートします。
概要
- ハイブリッド・アンボンド・モードは
eth1をボンドから外し、レイヤ3トラフィックはeth1上を流れなくなります。 eth1にレイヤ 2 トラフィック用の VLAN を追加できます。eth1に VLAN を 1 つだけ追加する場合、トラフィック**** にはタグを付けてはいけません。eth1に複数の VLAN を追加する場合は、各 VLAN のタグ付きトラフィックを処理するサブインターフェースを作成するか、タグなしトラフィックを処理するネイティブ VLAN を設定する必要があります。bond0will continue to handle your Layer 3 traffic, and Internet access is preserved through your Equinix Metal assigned public IP address.bond0に VLAN を追加する場合は、各 VLAN のタグ付きトラフィックを処理するサブインタフェースを作成する必要があります。bond0はタグ無しレイヤ 2 トラフィックやネイティブ VLAN の設定をサポートしません。
ハイブリッド非結合モードへの変換
ハイブリッド・アンボンド・モードではeth1インターフェイスがLACPボンドから削除されるため、ボンドされたレイヤ3インターフェイスに割り当てられたエラスティックIPを保持したまま、eth1にレイヤ2 VLANを追加できます。
- Console
- CLI
- API
ハイブリッドアンボンドモードを使用するには、まずネットワーク設定をハイブリッドモードに変更する必要があります。コンソールで、サーバーの_Network_タブに移動し、Convert To Other Network Type をクリックし、Hybrid を選択し、Unbonded を選択します。Convert to Hybrid をクリックして変更を行います。

次に、サーバーの_Network_ページから、Add New VLAN をクリックします。インターフェイスとしてeth1を選択し、使用する仮想ネットワークID(VNID、またはVLAN ID)を選択します。

複数の VLAN を一度に割り当てるには、ドロップダウンから VLAN を追加し続けます。複数のVLANを一度に割り当てる場合、非同期バッチプロセスによって追加されます。
まず、metal port convertコマンドでeth1ポートをボンディングされたネットワークインターフェースから削除します。eth1 ポートの UUID を --port-id として使用し、--bonded 状態を false に設定します。
metal port convert --port-id <eth1_id> --bonded=false
次に、metal port vlan コマンドで eth1 に VLAN を割り当てます。--port-id には eth1 の UUID を指定し、--assign には割り当てる VLAN を指定します。
metal port vlan --port-id <eth1_id> --assign <VLAN_id>
VLAN_idには、VLANのUUIDか、コンソールにあるVLAN ID番号を指定します。
まず、eth1 をボンドから削除する必要があります。/ports/{id}/disbond エンドポイントに POST リクエストを送信します。
パスの eth1 のポート ID を指定する必要があり、/devices/{id} エンドポイントによって返されるそのポートの UUID である必要があります。
リクエスト本文の bulk_disable フィールドを false に設定します。
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/ports/{id}/disbond" \
-d '{
"bulk_disable": false
}'
次に、VLAN を eth1 に割り当てる必要があります。/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": "<vlan_ID>"
}'
vnid」はリクエストのボディで送信されるVLANのIDです。ID は、/projects/{id}/virtual-networks エンドポイントによって返される VLAN の UUID、またはコンソールにある VLAN ID のいずれかです。
非同期バッチ処理の一環として、ポートに VLAN を一括で割り当てることも可能です。POST リクエストを /ports/{id}/vlan-assignments/batches エンドポイントに送信し、リクエストの本文に 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"
},
]
}'
サーバーの設定
サーバーをハイブリッド・アンボンド・モードに変換し、VLANをeth1に割り当てたら、サーバーのオペレーティング・システムでネットワークを設定し、VLAN上のIPアドレスを割り当てる必要があります。
注: 10.x.x.xで始まるサブネットをVLANトラフィックに使用することは推奨されません。これはサーバーのプライベートネットワークに使用するためで、同じサブネットを使用すると衝突が発生する可能性があります。
最初の例は eth1 に単一の VLAN を割り当てる設定、2 番目の例は eth1 に複数の VLAN を割り当てる設定、および/または bond0 に VLAN を割り当てる設定です。
eth1のシングルVLANの場合
VLANが1つしかない場合は、トラフィックにタグを付けず、VLAN IPアドレスを直接インターフェースに割り当てます。
次の例では、VLAN ID 1036とサブネット198.51.100.0/24を持つVLANを使用しています。
- iproute2
- nmcli
iproute2 は、Linux カーネルでネットワーク設定を管理するユーティリティです。ほとんどのLinuxオペレーティング・システム・ディストリビューションに含まれています。
私たちのOSイメージでは、インターフェースはeth1とeth0にエイリアスされません。この例では、コンソールの eth1 は OS の enp1s0f1 に対応します。
-
enp1s0f1インターフェイスをダウンします。ip link set down enp1s0f1 -
enp1s0f1がbond0から削除されていることを確認してください。ip -d link show enp1s0f1まだ取り外されていなければ、取り外してください。
ip link set enp1s0f1 nomaster -
enp1s0f1に VLAN 用の IP アドレスを設定します。この例では IP アドレス198.51.100.4/24を使用しています。ip addr add 198.51.100.4/24 dev enp1s0f1 -
インターフェイスを立ち上げ、復旧していることを確認する。
ip link set dev enp1s0f1 upip -d link show enp1s0f1
-
オプション:ネットワーク設定を永続的にし、サーバーの再起動に耐えるようにするには、
/etc/network/interfacesファイルのenp1s0f1を編集します。auto enp1s0f1iface enp1s0f1 inet manualaddress 192.168.1.2netmask 255.255.255.248pre-up sleep 4また、
bond0(切り捨てられた例)からenp1s0f1を削除することも忘れないでください。auto bond0iface bond0 inet static...bond-slaves enp1s0f0dns-nameservers 147.75.207.207 147.75.207.208...
nmcli は、Rocky Linux、RHEL、CentOS Streams のネットワーク設定を管理するユーティリティである Network Manager 用の CLI ツールです。
オペレーティング・システムのイメージ・インターフェースはeth1とeth0にエイリアスされません。この例では、コンソールの eth1 はオペレーティングシステムの enp1s0f1 に対応します。
-
bond0からenp1s0f1を削除します。nmcli connection delete "System enp1s0f1" -
タイプ
ethernetのenp1s0f1インターフェースの新しい接続を作成します。この例では便宜上「vlan-enp1s0f1」という名前を使用しています。nmcli connection add con-name vlan-enp1s0f1 type ethernet ifname enp1s0f1 -
VLAN用のIPアドレスで接続を設定します。この例ではIPアドレス
198.51.100.5/24を使用しています。nmcli connection modify vlan-enp1s0f1 ipv4.addresses 198.51.100.5/24nmcli connection modify vlan-enp1s0f1 ipv4.method manual -
接続を呼び出してください。
nmcli connection up vlan-enp1s0f1
VLANに接続するすべてのサーバーで同じ手順を実行し、それぞれに異なるIPアドレスを割り当てる必要があります。
eth1上の複数のVLANまたはbond0上のVLANの場合
eth1 で複数の VLAN を使用している場合、または bond0 に VLAN を追加している場合、IP パケットにはタグを付ける必要があり、各 VLAN 宛のパケットを受信するサブインターフェイスをセットアップする必要があります。タグ無しパケットのサポートが必要な場合は、タグ無しパケットを処理する VLAN を ネイティブ VLAN として設定します。
以下の例では eth1 と
- VLAN ID
1036とサブネット198.51.100.0/24を持つVLAN。 - VLAN ID
2025とサブネット203.0.113.0/24を持つVLAN。
- iproute2
- nmcli
iproute2 は、Linux カーネルでネットワーク設定を管理するユーティリティです。ほとんどのLinuxオペレーティング・システム・ディストリビューションに含まれています。
私たちのOSイメージでは、インターフェースはeth1とeth0にエイリアスされません。この例では、コンソールの eth1 は OS の enp1s0f1 に対応します。
-
まだの場合は、VLANの前提条件をインストールして設定します。
apt-get install vlanmodprobe 8021qecho "8021q" >> /etc/modules -
enp1s0f1がbond0から削除されていることを確認してください。ip -d link show enp1s0f1まだ取り外されていなければ、取り外してください。
ip link set dev enp1s0f1 nomaster -
enp1s0f1に新しいサブインターフェイスを追加して、タグ付きトラフィックを処理します。この例では VLAN ID1036と2025を使用しています。ip link add link enp1s0f1 name enp1s0f1.1036 type vlan id 1036ip link add link enp1s0f1 name enp1s0f1.2025 type vlan id 2025 -
サブインターフェイスにIPアドレスを割り当てます。この例では
198.51.100.2/24とを使用しています。ip addr add 198.51.100.2/24 dev enp1s0f1.1036ip addr add 203.0.113.2/24 dev enp1s0f1.2025 -
インターフェイスを表示し、表示されたことを確認する。
ip link set dev enp1s0f1.1036 upip -d link show enp1s0f1.2025ip link set dev enp1s0f1.1036 upip -d link show enp1s0f1.2025
-
オプション:ネットワーク設定を永続的なものにし、サーバーの再起動に耐えられるようにするには、
/etc/network/interfacesファイルに新しいサブインターフェイスを追加します。auto enp1s0f1.1036iface enp1s0f1.1036 inet staticaddress 198.51.100.2netmask 255.255.255.0vlan-raw-device enp1s0f1auto enp1s0f1.2025iface enp1s0f1.2025 inet staticaddressnetmask 255.255.255.0vlan-raw-device enp1s0f1また、
bond0(切り捨てられた例)からenp1s0f1を削除することも忘れないでください。auto bond0iface bond0 inet static...bond-slaves enp1s0f0dns-nameservers 147.75.207.207 147.75.207.208...
nmcli は、Rocky Linux、RHEL、CentOS Streams のネットワーク設定を管理するユーティリティである Network Manager 用の CLI ツールです。
:::note オペレーティングシステムのイメージでは、インターフェースはeth1とeth0のエイリアスではありません。この例では、コンソールの eth1 はオペレーティングシステムの enp1s0f1 に対応します。
:::
-
VLANとタグ付きインターフェイスのサポートを有効にします。
echo 8021q > /etc/modules-load.d/8021q.conf -
結合から
enp1s0f1を削除します。nmcli connection delete "System enp1s0f1" -
タグ付きトラフィックを処理するために
enp1s0f1にサブインターフェイスを追加する新しい接続を作成します。この例では、VLAN ID1036と2025を使用します。nmcli connection add type vlan con-name enp1s0f1.1036 ifname enp1s0f1.1036 vlan.parent enp1s0f1 vlan.id 1036nmcli connection add type vlan con-name enp1s0f1.2025 ifname enp1s0f1.2025 vlan.parent enp1s0f1 vlan.id 2025 -
VLANサブネットからIPアドレスを接続に割り当てます。この例では、IPアドレス
198.51.100.3と203.0.113.3を使用しています。nmcli connection modify enp1s0f1.1036 ipv4.addresses '198.51.100.3/24' ipv4.method manualnmcli connection modify enp1s0f1.1036 ipv4.addresses '203.0.113.3/24' ipv4.method manual -
両方の接続を表示
nmcli con up enp1s0f1.1036nmcli con up enp1s0f1.2025
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に戻す
デフォルトのレイヤ3ボンデッドモードに戻したい場合は、まず割り当てられたVLANをすべて削除してから、eth1をボンデッドインターフェースに追加し直す必要があります。
- Console
- CLI
- API
コンソールでVLANの割り当てを解除するには、サーバーの_Network_タブに移動します。レイヤー2」セクションで、ポートから割り当てを解除するVLANを選択します。Remove をクリックします。

VLANの割り当てを解除しても、プロジェクトからは削除されないことに注意してください。ポートからVLANの割り当てを解除しても、VLANは存在し続けます。
次に、レイヤ3に戻すには、[Convert To Other Network Type] をクリックし、[Layer 3] を選択します。レイヤ 3 に変換 をクリックして、処理を開始します。

metal port vlan コマンドで eth1 インターフェースから VLAN の割り当てを解除します。--port-id には eth1 の UUID を指定し、--unassign には割り当てを解除する VLAN を指定します。
metal port vlan --port-id <eth1_id> --unassign <vlan>
次に、メタル ポート変換 コマンドで eth1 をボンドに戻します。
metal port convert -i <eth1_id> --bonded=true
ポートから VLAN の割り当てを解除するには、/ports/{id}/unassign エンドポイントに POST リクエストを送信します。
パスにポート ID eth1 を指定し、リクエスト本文に VLAN の ID を指定する必要があります。これは VLAN の UUID またはコンソールにある VLAN ID のいずれかになります。
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/ports/{id}/unassign" \
-d '{
"vnid": "1173"
}'
非同期バッチ処理の一環として、ポートから複数の VLAN を一括して割り当て解除することもできます。POST リクエストを /ports/{id}/vlan-assignments/batches エンドポイントに送信し、リクエストの本文に VLAN 割り当ての配列、およびそれらの状態を "unassigned" に設定します。
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": "unassigned"
},
{
"vlan": "string",
"state": "unassigned"
}
]
}'
次に、ポートをレイヤ 3 ボンドに戻します。/ports/{id}/bond エンドポイントに POST リクエストを送信します。
curl -X POST \
-H "Content-Type: application/json"\
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/ports/{id}/bond" \
-d '{
"bulk_enable": false
}'