第5章 ネットワークブリッジの設定
ネットワークブリッジは、MAC アドレステーブルを使用してネットワーク間のトラフィックを転送するリンク層デバイスです。たとえば、ソフトウェアブリッジを使用して、仮想マシンをホストと同じネットワークに接続できます。
ブリッジには、ブリッジが接続する必要がある各ネットワークにネットワークデバイスが必要です。ブリッジを設定する場合、ブリッジは controller と呼ばれ、ブリッジが使用するデバイスは ports と呼ばれます。
以下のように、さまざまなタイプのデバイスにブリッジを作成できます。
- 物理および仮想イーサネットデバイス
- ネットワークボンド
- VLAN デバイス
Wi-Fi で効率的に使用するために、Wi-Fi で 3-address フレームの使用を指定する IEEE 802.11 規格により、Ad-Hoc モードまたは Infrastructure モードで稼働している Wi-Fi ネットワークにはブリッジを設定できません。
Red Hat Enterprise Linux は、管理者にブリッジデバイスを設定するためのさまざまなオプションを提供します。以下に例を示します。
-
nmcliを使用し、コマンドラインを使用して VLAN のタグ付けを設定します。 - RHEL Web コンソールを使用し、Web ブラウザーを使用して VLAN のタグ付けを設定します。
-
nmtuiを使用し、テキストベースのユーザーインターフェイスで VLAN のタグ付けを設定します。 -
nmstatectlを使用して、Nmstate API を介して接続を設定します。 - RHEL システムロールを使用して、1 つまたは複数のホストで VLAN 設定を自動化します。
5.1. nmcli を使用したネットワークブリッジの設定 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインでネットワークブリッジを設定するには、nmcli ユーティリティーを使用します。
前提条件
- サーバーに、2 つ以上の物理ネットワークデバイスまたは仮想ネットワークデバイスがインストールされている。
- イーサネットデバイスをブリッジのポートとして使用するために、物理または仮想イーサネットデバイスがサーバーにインストールされている。
ブリッジのポートにボンディングまたは VLAN デバイスを使用するには、ブリッジの作成時にこれらのデバイスを作成するか、次の説明に従って事前にデバイスを作成することができます。
手順
ブリッジインターフェイスを作成します。
nmcli connection add type bridge con-name bridge0 ifname bridge0
# nmcli connection add type bridge con-name bridge0 ifname bridge0Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドにより
bridge0という名前のブリッジが作成されます。ネットワークインターフェイスを表示し、ブリッジに追加するインターフェイスの名前を書き留めます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、以下のように設定されています。
-
enp7s0およびenp8s0は設定されません。これらのデバイスをポートとして使用するには、次のステップに接続プロファイルを追加します。 -
bond0およびbond1には既存の接続プロファイルがあります。これらのデバイスをポートとして使用するには、次の手順でプロファイルを変更します。
-
インターフェイスをブリッジに割り当てます。
ブリッジに割り当てるインターフェイスが設定されていない場合は、それらのブリッジに新しい接続プロファイルを作成します。
nmcli connection add type ethernet port-type bridge con-name bridge0-port1 ifname enp7s0 controller bridge0 nmcli connection add type ethernet port-type bridge con-name bridge0-port2 ifname enp8s0 controller bridge0
# nmcli connection add type ethernet port-type bridge con-name bridge0-port1 ifname enp7s0 controller bridge0 # nmcli connection add type ethernet port-type bridge con-name bridge0-port2 ifname enp8s0 controller bridge0Copy to Clipboard Copied! Toggle word wrap Toggle overflow これらのコマンドにより、
enp7s0およびenp8s0のプロファイルが作成され、それらをbridge0接続に追加します。既存の接続プロファイルをブリッジに割り当てるには、以下を実行します。
これらの接続の
masterパラメーターをbridge0に設定します。nmcli connection modify bond0 master bridge0 nmcli connection modify bond1 master bridge0
# nmcli connection modify bond0 master bridge0 # nmcli connection modify bond1 master bridge0Copy to Clipboard Copied! Toggle word wrap Toggle overflow これらのコマンドは、
bond0およびbond1という名前の既存の接続プロファイルをbridge0接続に割り当てます。接続を再度アクティブにします。
nmcli connection up bond0 nmcli connection up bond1
# nmcli connection up bond0 # nmcli connection up bond1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
IPv4 を設定します。
静的 IPv4 アドレス、ネットワークマスク、デフォルトゲートウェイ、および DNS サーバーを
bridge0接続に設定するには、次のように実行します。nmcli connection modify bridge0 ipv4.addresses '192.0.2.1/24' ipv4.gateway '192.0.2.254' ipv4.dns '192.0.2.253' ipv4.dns-search 'example.com' ipv4.method manual
# nmcli connection modify bridge0 ipv4.addresses '192.0.2.1/24' ipv4.gateway '192.0.2.254' ipv4.dns '192.0.2.253' ipv4.dns-search 'example.com' ipv4.method manualCopy to Clipboard Copied! Toggle word wrap Toggle overflow - DHCP を使用するために必要な操作はありません。
- このブリッジデバイスを他のデバイスのポートとして使用する予定の場合は、特に必要な操作はありません。
IPv6 設定を行います。
静的 IPv6 アドレス、ネットワークマスク、デフォルトゲートウェイ、および DNS サーバーを
bridge0接続に設定するには、次のように実行します。nmcli connection modify bridge0 ipv6.addresses '2001:db8:1::1/64' ipv6.gateway '2001:db8:1::fffe' ipv6.dns '2001:db8:1::fffd' ipv6.dns-search 'example.com' ipv6.method manual
# nmcli connection modify bridge0 ipv6.addresses '2001:db8:1::1/64' ipv6.gateway '2001:db8:1::fffe' ipv6.dns '2001:db8:1::fffd' ipv6.dns-search 'example.com' ipv6.method manualCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ステートレスアドレス自動設定 (SLAAC) を使用する場合、アクションは必要ありません。
- このブリッジデバイスを他のデバイスのポートとして使用する予定の場合は、特に必要な操作はありません。
必要に応じて、ブリッジのその他のプロパティーを設定します。たとえば、
bridge0の STP (Spanning Tree Protocol) の優先度を16384に設定するには、次のコマンドを実行します。nmcli connection modify bridge0 bridge.priority '16384'
# nmcli connection modify bridge0 bridge.priority '16384'Copy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトでは STP が有効になっています。
接続をアクティベートします。
nmcli connection up bridge0
# nmcli connection up bridge0Copy to Clipboard Copied! Toggle word wrap Toggle overflow ポートが接続されており、
CONNECTIONコラムがポートの接続名を表示していることを確認します。nmcli device DEVICE TYPE STATE CONNECTION ... enp7s0 ethernet connected bridge0-port1 enp8s0 ethernet connected bridge0-port2
# nmcli device DEVICE TYPE STATE CONNECTION ... enp7s0 ethernet connected bridge0-port1 enp8s0 ethernet connected bridge0-port2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 接続のいずれかのポートをアクティブにすると、NetworkManager はブリッジもアクティブにしますが、他のポートはアクティブにしません。ブリッジが有効な場合には、Red Hat Enterprise Linux がすべてのポートを自動的に有効にするように設定できます。
ブリッジ接続の
connection.autoconnect-portsパラメーターを有効にします。nmcli connection modify bridge0 connection.autoconnect-ports 1
# nmcli connection modify bridge0 connection.autoconnect-ports 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow ブリッジを再度アクティブにします。
nmcli connection up bridge0
# nmcli connection up bridge0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ipユーティリティーを使用して、特定のブリッジのポートであるイーサネットデバイスのリンクステータスを表示します。ip link show master bridge0 3: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:62:61:0e brd ff:ff:ff:ff:ff:ff 4: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:9e:f1:ce brd ff:ff:ff:ff:ff:ff# ip link show master bridge0 3: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:62:61:0e brd ff:ff:ff:ff:ff:ff 4: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:9e:f1:ce brd ff:ff:ff:ff:ff:ffCopy to Clipboard Copied! Toggle word wrap Toggle overflow bridgeユーティリティーを使用して、任意のブリッジデバイスのポートであるイーサネットデバイスの状態を表示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 特定のイーサネットデバイスのステータスを表示するには、
bridge link show dev <ethernet_device_name>コマンドを使用します。