6.3. コマンドラインインターフェース (CLI) の使用

6.3.1. ブリッジングカーネルモジュールがインストールされているかの確認

Red Hat Enterprise Linux 7 では、ブリッジングモジュールはデフォルトで読み込まれています。必要な場合は、root で以下のコマンドを実行して、モジュールを読み込みます。
~]# modprobe --first-time bridge
modprobe: ERROR: could not insert 'bridge': Module already in kernel
モジュールについての情報を表示するには、以下のコマンドを実行します。
~]$ modinfo bridge
コマンドオプションについては、modprobe(8) man ページを参照してください。

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

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

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

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

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

以下の例は、イーサネットインターフェース設定ファイルをブリッジインターフェースに向けたものです。/etc/sysconfig/network-scripts/ifcfg-ethX の物理インターフェースを設定します。ここでの X は、特定のインターフェースに対応する一意の番号です。
DEVICE=ethX
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 アドレスを指定すると、デバイス命名手順に影響が出ます。これは「8章ネットワークデバイス命名における一貫性」で説明しています。

警告

リモートホスト上でブリッジ設定をしていて、そのホストへの接続に設定中の物理 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 ページを参照してください。

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

ボンディングされた 2 つ以上のイーサネットインターフェースで形成されたネットワークブリッジの例を示します。これは、仮想化環境でよくあるアプリケーションです。ボンディングされたインターフェースの設定ファイルに詳しくない場合は、「チャンネルボンディングインターフェースの作成」 を参照してください。
ボンディングする 2 つ以上のイーサネットインターフェース設定ファイルを以下のように作成もしくは編集します。
DEVICE=ethX
TYPE=Ethernet
SLAVE=yes
MASTER=bond0
BOOTPROTO=none
HWADDR=AA:BB:CC:DD:EE:FF

注記

インターフェース名には ethX が使われることが多いですが、ほぼどんな名前を使用して構いません。
インターフェース設定ファイル /etc/sysconfig/network-scripts/ifcfg-bond0 を以下のように作成もしくは編集します。
DEVICE=bond0
ONBOOT=yes
BONDING_OPTS='mode=1 miimon=100'
BRIDGE=brbond0
ボンディングモジュールの設定に関する指示およびアドバイスとボンディングパラメーターの一覧については、「チャンネルボンディングの使用」 を参照してください。
インターフェース設定ファイル /etc/sysconfig/network-scripts/ifcfg-brbond0 を以下のように作成もしくは編集します。
DEVICE=brbond0
ONBOOT=yes
TYPE=Bridge
IPADDR=192.168.1.1
PREFIX=24
これで MASTER=bond0 ディレクティブのある 2 つ以上のインターフェース設定ファイルができました。これらのファイルは、DEVICE=bond0 ディレクティブを含む /etc/sysconfig/network-scripts/ifcfg-bond0 という名前の設定ファイルに向けられています。この ifcfg-bond0 は、/etc/sysconfig/network-scripts/ifcfg-brbond0 設定ファイルに向けられています。これには IP アドレスが含まれ、ホスト内の仮想ネットワークへのインターフェースとして動作します。
新規または最近設定したインターフェースをアップにするには、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 ページを参照してください。