Red Hat Training

A Red Hat training course is available for RHEL 8

第11章 ネットワークブリッジの設定

ネットワークブリッジは、MAC アドレスのテーブルに基づいてネットワーク間のトラフィックを転送するリンク層デバイスです。ブリッジは、ネットワークトラフィックをリッスンし、どのホストが各ネットワークに接続しているかを把握して、MAC アドレステーブルを構築します。たとえば、Red Hat Enterprise Linux ホストでソフトウェアブリッジを使用して、ハードウェアブリッジまたは仮想化環境で仮想マシンをホストと同じネットワークに統合できます。

ブリッジには、ブリッジが接続する必要がある各ネットワークにネットワークデバイスが必要です。ブリッジを設定する場合には、ブリッジは コントローラー と呼ばれ、ポート を使用するデバイスです。

以下のように、さまざまなタイプのデバイスにブリッジを作成できます。

  • 物理および仮想イーサネットデバイス
  • ネットワークボンディング
  • ネットワークチーム
  • VLAN デバイス

Wi-Fi で効率的に使用するために、Wi-Fi で 3-address フレームの使用を指定する IEEE 802.11 規格により、Ad-Hoc モードまたは Infrastructure モードで稼働している Wi-Fi ネットワークにはブリッジを設定できません。

11.1. nmcli コマンドによるネットワークブリッジの設定

本セクションは、nmcli ユーティリティーを使用してネットワークブリッジを設定する方法を説明します。

前提条件

手順

  1. ブリッジインターフェースを作成します。

    # nmcli connection add type bridge con-name bridge0 ifname bridge0

    このコマンドにより bridge0 という名前のブリッジが作成されます。以下を入力します。

  2. ネットワークインターフェースを表示し、ブリッジに追加するインターフェースの名前を書き留めます。

    # 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 には既存の接続プロファイルがあります。これらのデバイスをポートとして使用するには、次の手順でプロファイルを変更します。
  3. インターフェースをブリッジに割り当てます。

    1. ブリッジに割り当てるインターフェースが設定されていない場合は、それらのブリッジに新しい接続プロファイルを作成します。

      # 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 接続に追加します。

    2. 既存の接続プロファイルをブリッジに割り当てるには、以下の接続の master パラメーターを bridge0 に設定します。

      # nmcli connection modify bond0 master bridge0
      # nmcli connection modify bond1 master bridge0

      これらのコマンドは、bond0 および bond1 という名前の既存の接続プロファイルを bridge0 接続に割り当てます。

  4. ブリッジの IP 設定を構成します。このブリッジを他のデバイスのポートとして使用する場合は、この手順を省略します。

    1. IPv4 設定を構成します。たとえば、bridge0 接続の静的 IPv4 アドレス、ネットワークマスク、デフォルトゲートウェイ、DNS サーバー、および DNS 検索ドメインを設定するには、次のコマンドを実行します。

      # nmcli connection modify bridge0 ipv4.addresses '192.0.2.1/24'
      # nmcli connection modify bridge0 ipv4.gateway '192.0.2.254'
      # nmcli connection modify bridge0 ipv4.dns '192.0.2.253'
      # nmcli connection modify bridge0 ipv4.dns-search 'example.com'
      # nmcli connection modify bridge0 ipv4.method manual
    2. IPv6 設定を構成します。たとえば、bridge0 接続の静的 IPv6 アドレス、ネットワークマスク、デフォルトゲートウェイ、DNS サーバー、DNS 検索ドメインを設定するには、次のコマンドを実行します。

      # nmcli connection modify bridge0 ipv6.addresses '2001:db8:1::1/64'
      # nmcli connection modify bridge0 ipv6.gateway '2001:db8:1::fffe'
      # nmcli connection modify bridge0 ipv6.dns '2001:db8:1::fffd'
      # nmcli connection modify bridge0 ipv6.dns-search 'example.com'
      # nmcli connection modify bridge0 ipv6.method manual
  5. 必要に応じて、ブリッジのその他のプロパティーを設定します。たとえば、bridge0 の STP (Spanning Tree Protocol) の優先度を 16384 に設定するには、次のコマンドを実行します。

    # nmcli connection modify bridge0 bridge.priority '16384'

    デフォルトでは STP が有効になっています。

  6. 接続をアクティベートします。

    # nmcli connection up bridge0
  7. ポートが接続されており、CONNECTION コラムがポートの接続名を表示していることを確認します。

    # nmcli device
    DEVICE   TYPE      STATE      CONNECTION
    ...
    enp7s0   ethernet  connected  bridge0-port1
    enp8s0   ethernet  connected  bridge0-port2

    Red Hat Enterprise Linux は、システム起動時にコントローラーとポートをアクティブにします。ポート接続をアクティベートすると、コントローラーもアクティベートされます。ただし、この場合、ポート接続は 1 つだけアクティブになります。デフォルトでは、コントローラーを有効にしても、自動的にポートはアクティベートされません。ただし、この動作は、以下の設定で有効にできます。

    1. ブリッジ接続の connection.autoconnect-slaves パラメーターを有効にします。

      # nmcli connection modify bridge0 connection.autoconnect-slaves 1
    2. ブリッジを再度アクティブにします。

      # nmcli connection up bridge0

検証手順

  • 特定のブリッジのポートであるイーサネットデバイスのリンクステータスを表示します。

    # 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 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 コマンドを使用します。

関連情報

  • 接続テストの詳細は、「基本的なネットワーク設定のテスト」を参照してください。
  • 接続にデフォルトゲートウェイがない場合は、「NetworkManager の設定」を参照して、特定のプロファイルを使用してデフォルトゲートウェイが指定されないようにします。
  • nmcli の例は、man ページの nmcli-examples(7) を参照してください。
  • 設定可能なすべてのブリッジプロパティーは、man ページの nm-settings(5)bridge settings セクションを参照してください。
  • 設定可能なすべてのブリッジポートプロパティーは、man ページの nm-settings(5)bridge-port settings セクションを参照してください。
  • bridge ユーティリティーの詳細は、man ページの bridge (8) を参照してください。
  • ディスクの設定がデバイスの設定と一致しない場合は、NetworkManager の起動または再起動により、デバイスの設定を反映するインメモリー接続が作成されます。詳細と、この問題を回避する方法は、「NetworkManager duplicates a connection after restart of NetworkManager service」を参照してください。