Red Hat Training

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

9.3.2. ネットワークブリッジの作成

ネットワークブリッジを作成するには、/etc/sysconfig/network-scripts/ ディレクトリーに ifcfg-brN という名前のファイルを作成し、N をそのインターフェースの番号 0 などに置き換えます。
ファイルのコンテンツは、イーサネットインターフェースなどブリッジされるインターフェースがどのようなタイプでも類似したものになります。相違点は、以下のとおりです。
  • DEVICE ディレクティブは、brN 形式の引数としてインターフェース名を指定しています。N はインターフェースの数に置き換えます。
  • TYPE ディレクティブには、引数 Bridge が指定されています。このディレクティブは、デバイスタイプと、引数が大文字/小文字を区別するかを決定します。
  • ブリッジインターフェース設定ファイルには IP アドレスが与えられますが、物理インターフェース設定ファイルには MAC アドレスのみとします。(下記参照)
  • 追加のディレクティブ DELAY=0 が加えられ、ブリッジがトラフィックを監視し、ホストの位置を学習し、フィルタリング機能の基になる MAC アドレステーブルを構築する間に、ブリッジが待機することを回避します。ルーティングループが可能でない場合は、デフォルトの 15 秒遅延は不要です。

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

以下の例では、静的 IP アドレスを使ったブリッジインターフェースの設定ファイルを示しています。
DEVICE=br0
TYPE=Bridge
IPADDR=192.168.1.1
PREFIX=24
BOOTPROTO=none
ONBOOT=yes
DELAY=0
ブリッジを完成するには、別のインターフェースを作成するか既存のインターフェースを修正して、これをブリッジインターフェースに向けます。

例9.2 ifcfg-enp1s0 インターフェース設定ファイルの例

以下の例は、イーサネットインターフェース設定ファイルをブリッジインターフェースに向けたものです。/etc/sysconfig/network-scripts/ifcfg-device_name で物理インターフェースを設定します。ここでの device_name は、特定のインターフェースの名前です。
DEVICE=device_name
TYPE=Ethernet
HWADDR=AA:BB:CC:DD:EE:FF
BOOTPROTO=none
ONBOOT=yes
BRIDGE=br0
オプションで、NAME ディレクティブを使って名前を指定することもできます。名前が指定されない場合は、NetworkManager プラグインである ifcfg-rh が、Type Interfaceという形式で接続プロファイルの名前を作成します。この例では、ブリッジが Bridge br0 と命名されます。別の方法では、NAME=bridge-br0ifcfg-br0 ファイルに追加されると、接続プロファイル名は bridge-br0 になります。
注記
DEVICE ディレクティブでは、デバイスの種類を判断しないため、ほとんどすべてのインターフェース名を使用できます。TYPE=Ethernet は必須ではありません。TYPE ディレクティブが設定されていない場合、(名前が明確に異なるインターフェース設定ファイルと合致していなければ) そのデバイスはイーサネットデバイスとして扱われます。
ディレクティブでは、大文字と小文字は区別されます。
HWADDR ディレクティブを使ってハードウェアまたは MAC アドレスを指定すると、デバイス命名手順に影響が出ます。これは「11章ネットワークデバイス命名における一貫性」で説明しています。
警告
リモートホスト上でブリッジ設定をしていて、そのホストへの接続に設定中の物理 NIC を使用している場合、この先に進む前に接続が切断された場合の影響を検討してください。サービスを再起動する際には接続が失われ、エラーが発生すると接続を再確立することができない場合があります。コンソールもしくは帯域外のアクセスが推奨されます。
新規または最近設定したインターフェースを開くには、次の形式で root で以下のコマンドを発行します。
ifup device
このコマンドは、NetworkManager が実行中かどうかを検出し、nmcli con load UUID を呼び出して、nmcli con up UUID を呼び出します。
もしくは、すべてのインターフェースをリロードします。root で以下のコマンドを実行します。
~]# systemctl restart network
このコマンドはネットワークサービスを停止してから再度、これを開始します。その後、ONBOOT=yes となっている ifcfg ファイルで ifup を呼び出します。
注記
デフォルトでは NetworkManager は、インターフェースが次回にアップになるまで ifcfg ファイルへの変更を認識せず、変更前の設定データの使用を継続します。これは、NetworkManager.conf ファイルの monitor-connection-files オプションで設定されます。詳細情報は、NetworkManager.conf(5) man ページを参照してください。