第6章 ネットワークブリッジの設定
ネットワークブリッジは、MAC アドレスのテーブルに基づいてネットワーク間のトラフィックを転送するリンク層デバイスです。ブリッジは、ネットワークトラフィックをリッスンし、どのホストが各ネットワークに接続しているかを把握して、MAC アドレステーブルを構築します。たとえば、Red Hat Enterprise Linux ホストのソフトウェアブリッジを使用して、ハードウェアブリッジまたは仮想環境をエミュレートし、仮想マシンをホストと同じネットワークに統合できます。
ブリッジには、ブリッジが接続する必要がある各ネットワークにネットワークデバイスが必要です。ブリッジを設定する場合には、ブリッジは コントローラー
と呼ばれ、ポート
を使用するデバイスです。
以下のように、さまざまなタイプのデバイスにブリッジを作成できます。
- 物理および仮想イーサネットデバイス
- ネットワークボンド
- ネットワークチーム
- VLAN デバイス
Wi-Fi で効率的に使用するために、Wi-Fi で 3-address フレームの使用を指定する IEEE 802.11 規格により、Ad-Hoc モードまたは Infrastructure モードで稼働している Wi-Fi ネットワークにはブリッジを設定できません。
6.1. nmcli
を使用したネットワークブリッジの設定
コマンドラインでネットワークブリッジを設定するには、nmcli
ユーティリティーを使用します。
前提条件
- サーバーに、2 つ以上の物理ネットワークデバイスまたは仮想ネットワークデバイスがインストールされている。
- ブリッジのポートとしてイーサネットデバイスを使用するには、物理または仮想のイーサネットデバイスをサーバーにインストールする必要があります。
ブリッジのポートにチーム、ボンディング、または VLAN デバイスを使用するには、ブリッジの作成時にこれらのデバイスを作成するか、次の説明に従って事前にデバイスを作成することができます。
手順
ブリッジインターフェイスを作成します。
# nmcli connection add type bridge con-name bridge0 ifname bridge0
このコマンドにより
bridge0
という名前のブリッジが作成されます。以下を入力します。ネットワークインターフェイスを表示し、ブリッジに追加するインターフェイスの名前を書き留めます。
# nmcli device status DEVICE TYPE STATE CONNECTION enp7s0 ethernet disconnected -- enp8s0 ethernet disconnected -- bond0 bond connected bond0 bond1 bond connected bond1 ...
この例では、以下のように設定されています。
-
enp7s0
およびenp8s0
は設定されません。これらのデバイスをポートとして使用するには、次のステップに接続プロファイルを追加します。 -
bond0
およびbond1
には既存の接続プロファイルがあります。これらのデバイスをポートとして使用するには、次の手順でプロファイルを変更します。
-
インターフェイスをブリッジに割り当てます。
ブリッジに割り当てるインターフェイスが設定されていない場合は、それらのブリッジに新しい接続プロファイルを作成します。
# nmcli connection add type ethernet slave-type bridge con-name bridge0-port1 ifname enp7s0 master bridge0 # nmcli connection add type ethernet slave-type bridge con-name bridge0-port2 ifname enp8s0 master bridge0
これらのコマンドにより、
enp7s0
およびenp8s0
のプロファイルが作成され、それらをbridge0
接続に追加します。既存の接続プロファイルをブリッジに割り当てるには、以下を実行します。
これらの接続の
master
パラメーターをbridge0
に設定します。# nmcli connection modify bond0 master bridge0 # nmcli connection modify bond1 master bridge0
これらのコマンドは、
bond0
およびbond1
という名前の既存の接続プロファイルをbridge0
接続に割り当てます。接続を再度アクティブにします。
# nmcli connection up bond0 # nmcli connection up bond1
IPv4 を設定します。
このブリッジデバイスを他のデバイスのポートとして使用する場合は、次のように実行します。
# nmcli connection modify bridge0 ipv4.method disabled
- DHCP を使用するために必要な操作はありません。
静的 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
IPv6 設定を行います。
このブリッジデバイスを他のデバイスのポートとして使用する場合は、次のように実行します。
# nmcli connection modify bridge0 ipv6.method disabled
- ステートレスアドレス自動設定 (SLAAC) を使用する場合、アクションは必要ありません。
静的 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
必要に応じて、ブリッジのその他のプロパティーを設定します。たとえば、
bridge0
の STP (Spanning Tree Protocol) の優先度を16384
に設定するには、次のコマンドを実行します。# nmcli connection modify bridge0 bridge.priority '16384'
デフォルトでは STP が有効になっています。
接続をアクティベートします。
# nmcli connection up bridge0
ポートが接続されており、
CONNECTION
コラムがポートの接続名を表示していることを確認します。# nmcli device DEVICE TYPE STATE CONNECTION ... enp7s0 ethernet connected bridge0-port1 enp8s0 ethernet connected bridge0-port2
接続のいずれかのポートをアクティブにすると、NetworkManager はブリッジもアクティブにしますが、他のポートはアクティブにしません。ブリッジが有効な場合には、Red Hat Enterprise Linux がすべてのポートを自動的に有効にするように設定できます。
ブリッジ接続の
connection.autoconnect-slaves
パラメーターを有効にします。# nmcli connection modify bridge0 connection.autoconnect-slaves 1
ブリッジを再度アクティブにします。
# nmcli connection up bridge0
検証
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
bridge
ユーティリティーを使用して、任意のブリッジデバイスのポートであるイーサネットデバイスの状態を表示します。# bridge link show 3: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge0 state forwarding priority 32 cost 100 4: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge0 state listening priority 32 cost 100 5: enp9s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge1 state forwarding priority 32 cost 100 6: enp11s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge1 state blocking priority 32 cost 100 ...
特定のイーサネットデバイスのステータスを表示するには、
bridge link show dev <ethernet_device_name>
コマンドを使用します。
関連情報
-
システム上の
bridge(8)
およびnm-settings(5)
man ページ - NetworkManager duplicates a connection after restart of NetworkManager service (Red Hat ナレッジベース)
- VLAN 情報を使用して、ブリッジを設定する方法(Red Hat ナレッジベース)