第 13章ネットワークスクリプト

Red Hat Linuxを使用したすべてのネットワーク通信は、インターフェイス間で行われ、これらのインターフェイスやは、システムに接続された物理的なネットワークデバイスで、ある特定の方法で設定されており、ほかのシステムとデータを交換するためにプロトコルを1つ以上利用しています。さまざまなタイプのインターフェイスが存在し、インターフェイスをサポートする物理的デバイスと同様に多岐にわたります。

各種ネットワークインターフェイス用の設定ファイルとインターフェイスをアクティブ/非アクティブにするスクリプトは/etc/sysconfig/network-scriptsディレクトリにあります。個々のインターフェイスファイルが存在するかどうかはシステムごとに異なりますが、3種類のファイルがこのディレクトリに存在し、それらはインターフェイス設定ファイルインターフェイス制御スクリプトネットワーク機能ファイルで、協調して機能し、Red Hat Linuxが用意されている各種ネットワークデバイスを使用できるようにします。

この章では、これらのファイル間の関係と、どのように使われるのかについて説明します。

インターフェイス設定ファイル

インターフェイス設定ファイルは、個々のネットワークインターフェイスデバイスの動作を制御しています。Red Hat Linuxシステムはブートするときに、これらのファイルを使用してアップするインターフェイスとそれらのインターフェイスが適正に動作するように設定する方法を知ります。これらのファイルは通常、ifcfg-<device>と命名されています。<device> は設定ファイルが制御するデバイスの名前です。

イーサネットインターフェイス

最も一般的なインターフェイスファイルの1つはifcfg-eth0で、これはシステム内の最初のネットワークインターフェースカードまたはNICを制御します。システム内に多数のNICがある場合は、複数のifcfg-ethファイルを用意し、それぞれのファイル名の末尾に番号を付けます。各デバイスには独自の設定ファイルがあるので、各インターフェイスの動作を制御できます。

固定IPアドレスを使用したシステムのifcfg-eth0は、以下のようなものになります。

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
BROADCAST=10.0.1.255
NETWORK=10.0.1.0
NETMASK=255.255.255.0
IPADDR=10.0.1.27
USERCTL=no

インターフェイス設定ファイルで要求される値はほかの値によって変わることがあります。たとえば、DHCPを利用するインターフェイスのifcfg-eth0ファイルは、次のように少し異なっていますが、それはIP情報がDHCPサーバーより供給されるためです。

DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

ほとんどの場合、Network Configuratorredhat-config-network)のGUIユーティリティを使用してさまざまなインターフェイス設定ファイルを変更したくなります。このツールの使用方法については、オフィシャル Red Hat Linux カスタマイズガイドを参照してください。

手動でネットワークインターフェースの設定ファイルを編集することもできます。以下に、インターフェース設定ファイルで設定できるパラメータを列挙します。

個々のインターフェイス設定ファイル内では、以下の値が共通です。

これらのオプションを使用する共通のインターフェイス設定ファイルには、ほかにifcfg-lo(IPプロトコルのローカルループバックデバイスを制御します)、ifcfg-irlan0(最初の赤外線デバイスの設定値を配列します)、ifcfg-plip0(最初のPLIPデバイスを制御します)、ifcfg-tr0(最初のToken Ringデバイスと併用されます)などがあります。

ローカルループバックインターフェイスはテストによく使用されるだけでなく、同一システムをポイントバックするIPアドレスを必要とする各種アプリケーションでもよく使用されます。ループバックデバイスに送られたデータはただちにホストのネットワーク層に戻されます。赤外線インターフェイスを使用すれば、ラップトップコンピュータ、プリンタ間などデバイス間の情報を赤外線リンクに流すことができ、このリンクはイーサネットデバイスと同様に機能しますが、一般にピアツーピア接続に限定されます。

PLIP(Parallel Line Interface Protocol)接続はほとんど同じように機能しますが、パラレルポートを使用する点が異なります。

Token Ringトポロジーは、LANでは一頃のようには使用されておらず、イーサネットによってその影が薄くなっています。

ダイアルアップインターフェイス

PPPダイアルアップ接続によりインターネットに接続するときは、そのインターフェイスの設定ファイルが必要になります。

RP3Kpppを使用してダイアルアップアカウントを作成すると、このファイルが自動的に作成されます。さらに、ダイアルアップアカウントの設定値を変更すると、その結果はすべてこれらのインターフェイス設定ファイルに反映されます。オフィシャル Red Hat Linux 入門ガイドにはGUIベースのこれらのダイアルアップ接続ツールを使用する手順が記載されています。また、このファイルを手作業で作成/編集することもできます。典型的な、ifcfg-ppp0ファイルは次のようなものになります。

DEVICE=ppp0
NAME=test
WVDIALSECT=test
MODEMPORT=/dev/modem
LINESPEED=115200
PAPNAME=test
USERCTL=true
ONBOOT=no
PERSIST=no
DEFROUTE=yes
PEERDNS=yes
DEMAND=no
IDLETIMEOUT=600

SLIP(Serial Line Internet Protocol)はもう1つのダイアルアップインターフェイスですが、一般には使用されなくなっています。SLIPファイルのインターフェイス設定ファイル名には、ifcfg-sl0などがあります。

まだ説明していないオプションの中に、次のようにこれらのファイルで使用されるものがあります。

エイリアスファイルとクローンファイル

使用頻度の少ない2種類のインターフェイス設定ファイルが/etc/sysconfig/network-scriptsにありますが、それらはエイリアスファイルクローンファイルで、インターフェイス名の後ろにファイル名の要素が追加されています。

エイリアスインターフェイス設定ファイルにはifcfg-<if-name>:<alias-value>の書式の名前を使用することで、エイリアスがインターフェイスを指すことができます。たとえば、ifcfg-eth0:0ファイルならば、DEVICE=eth0:0と静的IPアドレス10.0.0.2を指定するように設定でき、ifcfg-eth0のDHCPよりIP情報を受け取るようにすでに設定されているイーサネットインターフェイスのエイリアスとして機能します。そのとき、eth0デバイスは動的IPアドレスにバインドされますが、そのシステム上では固定IPアドレス10.0.0.2を介していつも参照できます。

クローンインターフェイス設定ファイルにはifcfg-<if-name>-<clone-name>に類似した名前があります。エイリアスファイルは既存のインターフェイス設定ファイルを参照する別の方法ですが、クローンファイルはインターフェイスを指定する際に追加オプションの指定に使用します。たとえば、eth0という標準のDHCPイーサネットインターフェイスの場合は、次のようなものになります。

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp

USERCTLyesに設定されていないので、ユーザーがこのインターフェイスをアップ/ダウンすることはできません。この操作をユーザーができるようにするには、ユーザーがeth0インターフェイスのアップ/ダウンをできるようにするifcfg-eth0からuserと呼ばれるクローンを作成します。作成されたクローンの名前はifcfg-eth0-userとなり、次の1行で済みます。

USERCTL=yes

ifup eth0-userコマンドを使用してユーザーがeth0インターフェイスをアップする措置を講じると、ifcfg-eth0ifcfg-eth0-userからの設定オプションが一緒に使用されます。これは非常に基本的な例ですが、この方法はさまざまなオプションとインターフェイスで使用できます。

インターフェイス設定のエイリアスファイルとクローンファイルを作成する最も簡単な方法はGUIベースのNetwork Configuratorredhat-config-network)ツールを使用することです。