Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

11.2.6. ネットワークブリッジ

ネットワークブリッジは、MAC アドレスに基づいてネットワーク間のトラフィックを転送するリンク層デバイスであるため、レイヤー 2 デバイスとも呼ばれます。各ネットワークに接続されているホストを学習して、ビルドする MAC アドレスのテーブルに基づいて、転送の決定を行います。Linux ホスト内では、ソフトウェアブリッジを使ってハードウェアをエミュレートすることができます。たとえば、仮想化アプリケーション内で NIC を 1 つ以上の仮想 NIC と共有するなどです。このケースは例として示します。
ネットワークブリッジを作成するには、/etc/sysconfig/network-scripts/ ディレクトリーに ifcfg-brN という名前のファイルを作成し、N をそのインターフェースの番号 0 などに置き換えます。
ファイルのコンテンツは、イーサネットインターフェースなどブリッジされるインターフェースがどのようなタイプでも類似したものになります。相違点は、以下のとおりです。
  • DEVICE ディレクティブは、brN 形式の引数としてインターフェース名を指定しています。N はインターフェースの数に置き換えます。
  • TYPE ディレクティブには、引数 Bridge が指定されています。このディレクティブは、デバイスタイプと、引数が大文字/小文字を区別するかを決定します。
  • ブリッジインターフェースの設定ファイルに IP アドレスが追加され、物理インターフェースには MAC アドレスのみが含まれるようになりました。
  • 追加のディレクティブ DELAY=0 が加えられ、ブリッジがトラフィックを監視し、ホストの位置を学習し、フィルタリング機能の基になる MAC アドレステーブルを構築する間に、ブリッジが待機することを回避します。ルーティングループが可能でない場合は、デフォルトの 15 秒遅延は不要です。
  • NetworkManager がファイルを変更しないように、NM_CONTROLLED=no をイーサネットインターフェースに追加する必要があります。また、NetworkManager の今後のバージョンがブリッジ設定に対応している場合は、ブリッジ設定ファイルに追加することもできます。
以下は、静的 IP アドレスを使用したブリッジインターフェース設定ファイルの例です。

例11.4 ifcfg-br0 インターフェース設定ファイルの例

DEVICE=br0
TYPE=Bridge
IPADDR=192.168.1.1
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
NM_CONTROLLED=no
DELAY=0
ブリッジを完成するには、別のインターフェースを作成するか既存のインターフェースを修正して、これをブリッジインターフェースに向けます。以下は、ブリッジインターフェースを参照するイーサネットインターフェース設定ファイルの例です。/etc/sysconfig/network-scripts/ifcfg-ethXで物理インターフェースを設定します。X は、以下のように、特定のインターフェースに対応する一意の番号に置き換えます。

例11.5 ifcfg-ethX インターフェース設定ファイルのサンプル

DEVICE=ethX
TYPE=Ethernet
HWADDR=AA:BB:CC:DD:EE:FF
BOOTPROTO=none
ONBOOT=yes
NM_CONTROLLED=no
BRIDGE=br0
注記
DEVICE ディレクティブでは、デバイスの種類を判断しないため、ほとんどすべてのインターフェース名を使用できます。一般的に使用される他の名前に 、tapset、ダミーボンディング などが含まれます。TYPE=Ethernet は必須ではありません。TYPE ディレクティブが設定されていない場合、デバイスはイーサネットデバイスとして処理されます(その名前が別のインターフェース設定ファイルに明示的にマッチしていない限り)。
ネットワークインターフェースの設定ファイルで使用されるディレクティブとオプションを確認するには、「インターフェース設定ファイル」 を参照してください。
警告
リモートホストでブリッジを設定し、設定する物理 NIC 経由でそのホストに接続されている場合は、続行する前に接続が失われる影響を検討してください。サービスを再起動する際には接続が失われ、エラーが発生すると接続を再確立することができない場合があります。コンソールもしくは帯域外のアクセスが推奨されます。
以下のように、変更を有効にするために、ネットワークサービスを再起動します。
 service network restart 

11.2.6.1. ボンドを使ったネットワークブリッジ

ボンディングされた 2 つ以上のイーサネットインターフェースで形成されたネットワークブリッジの例を示します。ボンディングインターフェースの設定ファイルに慣れていない場合は、を参照してください。 「チャンネルボンディングインターフェース」
ボンディングする 2 つ以上のイーサネットインターフェースの設定ファイルを、以下のように作成または編集します。
DEVICE=ethX
TYPE=Ethernet
USERCTL=no
SLAVE=yes
MASTER=bond0
BOOTPROTO=none
HWADDR=AA:BB:CC:DD:EE:FF
NM_CONTROLLED=no
注記
ethX をインターフェース名として使用することは一般的ですが、ほとんどすべての名前を使用することもできます。tapdummybond などの名前は一般的に使用されます。
インターフェース設定ファイル /etc/sysconfig/network-scripts/ifcfg-bond0 を以下のように作成もしくは編集します。
DEVICE=bond0
ONBOOT=yes
BONDING_OPTS='mode=1 miimon=100'
BRIDGE=br0
NM_CONTROLLED=no
ボンディングモジュールの設定に関する指示およびアドバイスとボンディングパラメーターの一覧については、「チャンネルボンディングの使用」を参照してください。
以下のように、1 つのインターフェース設定ファイル /etc/sysconfig/network-scripts/ifcfg-br0 を作成または編集します。
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
IPADDR=192.168.1.1
NETMASK=255.255.255.0
NM_CONTROLLED=no

図11.1 2 つのボンディングされたイーサネットインターフェースで構成されるネットワークブリッジ。

2 つのボンディングされたイーサネットインターフェースで構成されるネットワークブリッジ。
MASTER=bond0 ディレクティブを持つ 2 つ以上のインターフェース設定ファイルができました。これは、DEVICE=bond0 ディレクティブを含む /etc/sysconfig/network-scripts/ifcfg-bond0 という名前の設定ファイルを参照します。次にこの ifcfg-bond0 は、IP アドレスを含む /etc/sysconfig/network-scripts/ifcfg-br0 設定ファイルをポイントし、ホスト内の仮想ネットワークのインターフェースとして機能します。
新しいインターフェースまたは最近設定されたインターフェースを起動するには、root で以下の形式のコマンドを実行します。
ifup device
または、以下のように Networking サービスを再起動して、変更を有効にします。
~]# service network restart