Show Table of Contents
9.2.6. ネットワークブリッジ
ネットワークブリッジは、ネットワーク間のトラフィックを MAC アドレスに基づいて転送するリンク層デバイスで、このためレイヤー 2 デバイスとも呼ばれます。転送の決定は、MAC アドレスの表に基づいて行われ、この表はどのホストがどのネットワーク接続しているかをネットワークブリッジが学習することで構築されます。Linux ホスト内では、ソフトウェアブリッジを使ってハードウェアをエミュレートすることができます。例えば、仮想化アプリケーション内で NIC を 1 つ以上の仮想 NIC と共有するなどです。ここではこのケースを例として説明します。
ネットワークブリッジを作成するには、
/etc/sysconfig/network-scripts/ ディレクトリに ifcfg-brN という名前のファイルを作成し、N をそのインターフェースの番号 0 などに置き換えます。
ファイルのコンテンツは、イーサネットインターフェースなどブリッジされるインターフェースがどのようなタイプでも類似したものになります。相違点は、以下のとおりです。
DEVICE指示文はbrN形式でその引数としてインターフェース名を与えられ、この N はインターフェースの番号に置き換えられます。TYPE指示文には、引数BridgeまたはEthernetが与えられます。この指示文は、デバイスタイプと、引数が大文字/小文字を区別するかを決定します。- ブリッジインターフェース設定ファイルには IP アドレスがあり、物理インターフェースには MAC アドレスしかありません。
- 追加の指示文
DELAY=0が加わり、ブリッジがトラフィックを監視し、ホストの位置を学習し、フィルタリング機能の基になる MAC アドレス表を構築する間に、ブリッジが待機することを回避します。ルーティングループが可能でない場合は、デフォルトの 30 秒遅延は不要です。 NM_CONTROLLED=noをイーサネットインターフェースに追加して、NetworkManager によるファイル変更を回避することが推奨されます。NetworkManager の今後のバージョンがブリッジ設定に対応することに備えて、これをブリッジ設定ファイルに追加することもできます。
以下は、静的 IP アドレスを使用したブリッジインターフェース設定ファイルの例です。
例9.2 ifcfg-br0 インターフェース設定ファイルの例
DEVICE=br0 TYPE=Bridge IPADDR=192.168.1.1 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=static NM_CONTROLLED=no DELAY=0
ブリッジを完成するには、別のインターフェースを作成するか既存のインターフェースを修正して、これをブリッジインターフェースに向けます。以下の例は、イーサネットインターフェース設定ファイルをブリッジインターフェースに向けたものです。
/etc/sysconfig/network-scripts/ifcfg-ethX の物理インターフェースを設定します。ここでは X は、特定のインターフェースに対応する一意の番号です。
例9.3 ifcfg-ethX インターフェース設定ファイルの例
DEVICE=ethX TYPE=Ethernet HWADDR=AA:BB:CC:DD:EE:FF BOOTPROTO=none ONBOOT=yes NM_CONTROLLED=no BRIDGE=br0
注記
DEVICE 指示文では、インターフェース名はデバイスタイプを決定するわけではないので、ほぼいかなる名前でも使用できます。一般的に使われる名前の例は、tap、dummy、bond などです。TYPE=Ethernet 絶対に必要なわけではありません。TYPE 指示文が設定されていない場合、(名前が明確に異なるインターフェース設定ファイルと合致していなければ) そのデバイスはイーサネットデバイスとして扱われます。
指示文とネットワークインターフェース設定ファイルで使われているオプションの確認は、「インターフェース設定ファイル」 を参照してください。
警告
リモートホスト上でブリッジ設定をしていて、そのホストへの接続に設定中の物理 NIC を使用している場合、この先に進む前に接続が切断された場合の影響を検討してください。サービスを再起動する際には接続が失われ、エラーが発生すると接続を再確立することができない場合があります。コンソールもしくは帯域外のアクセスが推奨されます。
以下のようにネゴシエーションサービスを再起動して変更を反映させます
service network restart
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 をインターフェース名に使うのは一般的な方法ですが、ほとんどどんな名前でも使用できます。よくある例は、tap、dummy、bond などです。
インターフェース設定ファイル
/etc/sysconfig/network-scripts/ifcfg-bond0 を以下のように作成もしくは編集します。
DEVICE=bond0 ONBOOT=yes BONDING_OPTS='mode=1 miimon=100' BRIDGE=brbond0 NM_CONTROLLED=noボンディングモジュールの設定に関する指示およびアドバイスと、ボンディングパラメーターの一覧については、「チャンネルボンディングの使用」 を参照してください。
インターフェース設定ファイル
/etc/sysconfig/network-scripts/ifcfg-brbond0 を以下のように作成もしくは編集します。
DEVICE=brbond0 ONBOOT=yes TYPE=Bridge IPADDR=192.168.1.1 NETMASK=255.255.255.0 NM_CONTROLLED=no

図9.1 2 つのボンディングされたインターフェースインターフェースで構成されるネットワークブリッジ
これで
MASTER=bond0 指示文のある 2 つ以上のインターフェース設定ファイルができました。これらのファイルは、DEVICE=bond0 指示文を含む /etc/sysconfig/network-scripts/ifcfg-bond0 という名前の設定ファイルに向けられています。この ifcfg-bond0 は、/etc/sysconfig/network-scripts/ifcfg-brbond0 設定ファイルに向けられています。これには IP アドバイスが含まれ、ホスト内の仮想ネットワークへのインターフェースとして動作します。
以下のようにネゴシエーションサービスを再起動して変更を反映させます
service network restart 
Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.