インターフェース設定ファイルは、個々のネットワークデバイス用のソフトウェア インターフェイスを制御します。システムはブートする時、これらのファイルを 使用してどのインターフェースを立ち上げるか、及びそれらをどのように構成するか を決定します。これらのファイルは通常、ifcfg-<name> と名付けられ、<name>の 部分には設定ファイルが制御するデバイスの名前が入ります。
最も一般的なインターフェースファイルの1つは ifcfg-eth0で、これはシステム内の最初のイーサネットネットワークインターフェースカード すなわちNICを制御します。システム内に複数の NIC がある場合は、複数の ifcfg-eth<X>ファイル (<X>は特定のインターフェースに対する独自の番号)を用意します。各デバイスには独自の設定ファイルがあるので、管理者はそれぞれのインターフェース機能を別々に制御できます。
以下に固定 IPアドレスを使用する ifcfg-eth0 ファイルのサンプルを示します:
DEVICE=eth0 BOOTPROTO=none ONBOOT=yes 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 |
ネットワーク管理ツール(redhat-config-network)を使用すると各種ネットワークインターフェース設定ファイルの変更が簡単に実行できます(このツールの使用法に関する詳細はRed Hat Enterprise Linux システム管理ガイドのネットワーク設定の章を参照してください)。
但し、任意のネットワークインターフェースの設定ファイルは手動で編集することもできます。
イーサネットインターフェースの設定ファイル内の設定可能なパラメータを一覧で以下に示します:
BOOTPROTO=<protocol>, ここで<protocol>は次のいずれかです:
none — 起動時プロトコルを使用してはいけません。
bootp — BOOTPプロトコルを使用しなければいけません。
dhcp — DHCPプロトコルを使用しなければいけません。
BROADCAST=<address>, ここで <address>は ブロードキャストアドレスです。値が ifcalcで自動的に算出されますので、このディレクティブは古いものになります。
DEVICE=<name>, ここで <name>は、 物理デバイスの名前です(論理名である動的割り当て PPPデバイスを除く)。
DHCP_HOSTNAME — IPアドレスを受信する前に、 DHCPサーバーがクライアントにホスト名を指定するよう要求する場合にのみこのオプションを 使用します。(Red Hat Enterprise LinuxにあるDHCPサーバーのデーモンはこの機能をサポートしていません。)
DNS{1,2}=<address>, ここで<address>は ネームサーバアドレスで、もしPEERDNSディレクティブが yesにセットされている場合は、/etc/resolv.confに 配置されます。
>ETHTOOL_OPTS=<options>、 ここで<options>は ethtoolでサポートされる以下のいずれかのデバイス特有の オプションです。例えば、100Mb と全duplex を強制したい場合、:
ETHTOOL_OPTS="autoneg off speed 100 duplex full" |
速度又は duplex 設定の変更は、ほとんどいつもautoneg offのオプションを使用して自動交渉を無効にする必要があることに注意して下さい。 オプションエントリは順番に影響されるため、これを最初に示します。
GATEWAY=<address>, ここで <address>はネットワーク ルーターか、又はゲートウェイデバイスのIPアドレスです。
HWADDR=<MAC-address>で、 <MAC-address>はAA:BB:CC:DD:EE:FF形式でのイーサネットデバイスのハードウェアドレスです。 このディレクティブは、複数のNICを持つマシンが各NICのモジュールの設定された ロード順序に関係なく、インターフェースが正しいデバイス名を割り当てられていることを 確認するのに役立ちます。このディレクティブは、MACADDRとは 一緒に使用しないでください。
IPADDR=<address>, ここで <address>は IPアドレスです。
MACADDR=<MAC-address>で、 <MAC-address>はAA:BB:CC:DD:EE:FF形式でのイーサネットデバイスのハードウェアアドレスです。このディレクティブは、MACアドレスをインターフェースに割り当てるために使用され、物理 NICに割り当てられたものを上書きします。このディレクティブは、HWADDRとは一緒に使用しないでください。
MASTER=<bond-interface> ここで<bond-interface>は、リンクされるイーサネットインターフェースに対するチャンネルボンディングインターフェースです。
このディレクティブは、SLAVEディレクティブと共に使用されます。
チャンネルボンディングインターフェースについての詳細は、 項8.2.3を参照してください。
NETMASK=<mask>, ここで <mask>は ネットマスク値です。
NETWORK=<address>, ここで <address>はネットワークアドレスです。値が自動的にifcalcで算出されますので、 このディレクティブは古い物になります。
ONBOOT=<answer>, ここで<answer>は 以下のいずれかです:
yes — このデバイスは起動時に有効にする必要があります。
no — このデバイスは起動時に有効にしてはいけません。
PEERDNS=<answer>, ここで <answer>は 次のいずれかになります:
yes — DNSディレクティブがセットしてある場合は、 /etc/resolv.confを変更します。DCHPを使用する場合、 yesがデフォルトです。
no — /etc/resolv.confを変更しません。
SLAVE=<bond-interface>、ここで <bond-interface>は 以下のいずれかです。
yes — このデバイスは、MASTERディレクティブ で指定されるチャンネルボンディングインターフェースにより制御されます。
no — このデバイスは、MASTERディレクティブ で指定されるチャンネルボンディングインターフェースで制御されません。
このディレクティブは、MASTERディレクティブと共に使用されます。
チャンネルボンドインターフェースについての詳細は、 項8.2.3を参照してください。
SRCADDR=<address>, ここで <address>は 送信パケット用の指定されたソースIPアドレスです。
USERCTL=<answer>, ここで <answer>は 以下のいずれかです:
yes — rootでないユーザーは、このデバイスを制御できます。
no — rootでないユーザーは、このデバイスを制御できません。
Red Hat Enterprise Linuxで、IPsec と呼ばれる安全な IP 接続を使用した他のホストやネットワークへの 接続が可能になります。ネットワーク管理ツール (redhat-config-network)を使った IPsec を設定する方法に関する説明は、 Red Hat Enterprise Linux システム管理ガイドにあるネットワーク設定の章を参照してください。IPsec を手動で設定する方法に関する説明は、 Red Hat Enterprise Linux セキュリティガイドにあるVPN (Virtual Private Network)の章を参照してください。
次の例は、LAN A 用ネットワーク間 IPsec 接続のifcfgファイルを示します。 この例では接続を識別するための固有名はipsec1になっていますので、 結果として出るファイル名は/etc/sysconfig/network-scripts/ifcfg-ipsec1となります。
TYPE=IPsec ONBOOT=yes IKE_METHOD=PSK SRCNET=192.168.1.0/24 DSTNET=192.168.2.0/24 DST=X.X.X.X |
上記の例で、X.X.X.Xは パブリックにルート可能な目的地IPsecルータのIPアドレスです。
以下は、IPsecインターフェース用の設定可能なパラメータ一覧です。
DST=<address>の <address>は、IPsec目的ホストまたはルータ のIPアドレスになります。 これはホスト間IPsec設定とネットワーク間IPsec設定のいずれでも使用されます。
DSTNET=<network>の <network>は、 IPsec目的ネットワークのネットワークアドレスです。 これはネットワーク間IPsec設定にのみ使用されます。
SRC=<address>の <address>は、IPsec発信元ホストまたはルータ のIPアドレスです。この設定はオプションで、ホスト間IPsec設定にのみ使用されます。
SRCNET=<network>の <network>は、IPsec発信元ネットワークの ネットワークアドレスです。これはネットワーク間IPsec設定にのみ使用されます。
TYPE=<interface-type>の <interface-type>はIPSECです。このアプリケーションの両方ともipsec-toolsパッケージの 一部です。
IPsecで手動のキー暗号化を使用する場合は、 設定パラメータを/usr/share/doc/initscripts-<version-number>/sysconfig.txtで参照してください (<version-number>には インストールしているinitscriptsパッケージのバージョンを入れます)。
racoon IKEv1 キー管理用デーモンは 交渉して IPSec のパラメータセットの設定をします。これは、事前共用のキーである RSA 署名、又は GSS- API を使用できます。racoonがキーの自動暗号化を管理する為に 使用される場合、次のオプションが必要になります:
IKE_METHOD=<encryption-method>の<encryption-method>は、PSK、X509、GSSAPI のいずれかになります。PSKを指定する場合は、 IKE_PSKパラメータも設定する必要があります。 X509を指定する場合は、 IKE_CERTFILEパラメータも設定する必要があります。
IKE_PSK=<shared-key>の <shared-key>は、 PSK (preshared キー) 方法に対し共有している機密の値です。
IKE_CERTFILE=<cert-file>の<cert-file>は、 ホスト用の有効なX.509 証明書ファイルです。
IKE_PEER_CERTFILE=<cert-file>の<cert-file>は、 リモートホスト用の有効なX.509証明書ファイルです。
IKE_DNSSEC=<answer>の <answer>はyesです。 racoonデーモンはDNSからリモートホストのX.509証明書を回収します。IKE_PEER_CERTFILEを指定する場合は、 このパラメータを含ませないでください。
IPsecに使用できる暗号化アルゴリズムに関する詳細は、 setkeyのmanページを参照してください。 racoonに関する詳細は、racoon及び racoon.confのmanページを参照してください。
Red Hat Enterprise Linux では、bondingカーネルモジュールと チャンネルボンディングインターフェースと呼ばれる特殊なネットワークインターフェースを使用して、 単一チャンネルに複数のネットワークインターフェースを結合することができます。 チャンネルボンディングで複数のネットワークインターフェースを 1つのネットワークインターフェース として動作させることが可能で、同時にバンド幅を広げ冗長性を持たせることができます。
チャンネルボンディングインターフェースを作成するには、 /etc/sysconfig/network-scripts/ディレクトリ内に ifcfg-bond<N>という ファイルを作成します。<N>の部分には、 0など、インターフェースの数を入れます。
ファイルの内容は、イーサネットインターフェースなど、結合されるインターフェースの タイプがどれであっても、そのタイプと酷似しています。唯一の違いは、DEVICE=ディレクティブ がbond<N>にする必要があります。 <N>にはインターフェースの数が入ります。
以下は、チャンネルボンディング設定ファイルの例です。
DEVICE=bond0 BOOTPROTO=none ONBOOT=yes NETWORK=10.0.1.0 NETMASK=255.255.255.0 IPADDR=10.0.1.27 USERCTL=no |
チャンネルボンディングインターフェースを作成したら、結合するネットワークインターフェース をMASTER= と SLAVE=ディレクティブをその設定ファイルに 追加して設定する必要があります。結合されたインターフェースの各チャンネルの設定ファイルは ほぼ同一のものになります。
例えば、チャンネルボンディングした 2つのイーサネットインターフェース、 eth0 と eth1はいずれも 次の例のようになります。
DEVICE=eth<N> BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes USERCTL=no |
この例にある<N>にはインターフェースの数値を入れます。
チャンネルボンディングインターフェースを有効にするために、 カーネルモジュールがロードされる必要があります。 チャンネルボンディングインターフェースが立ち上がるときにモジュールがロードされるのを 確実にするために、次の行を/etc/modules.confに追加します。
alias bond<N> bonding |
<N>には、0などの インtなーフェース番号を入れます。設定された各チャンネルボンディングインターフェースには、 対応するエントリが/etc/modules.confに必要です。
/etc/modules.confを設定してチャンネルボンディングインターフェースとネットワークインターフェースが設定されると、チャンネルボンディング インターフェースを立ち上げるためにifupコマンドを使用します。
![]() | 重要 |
---|---|
チャンネルボンディングインターフェースで重要な部分がカーネルモジュールを介して制御されます。 bondingモジュールの制御方法についての詳細は、 項A.3.2を参照してください。 |
使用頻度の少ない2種類のインターフェース設定ファイルがエイリアスとクローンです。
複数のアドレスを単一インターフェースにバインドするために使われるエイリアス インターフェース設定ファイルは、この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 経由で要求を受け取ることができます。
![]() | 注意 |
---|---|
エイリアスインターフェースはDHCPをサポートしません。 |
クローンインターフェース設定ファイルはifcfg-<if-name> -<clone-name>の命名 慣習に従います。エイリアスファイルは、既存のインターフェースに対して複数のアドレスを許可しますが、クローンファイルはインターフェースに追加オプションを指定するのに使用します。たとえば、eth0という標準のDHCPイーサネットインターフェースの場合は、次のようなものになります:
DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp |
設定されていない場合、USERCTLディレクティブのデフォルト値は noになっているので、ユーザーはこのインターフェースを アップ/ダウンすることはできません。ユーザーがインターフェースを操作できるようにするには、 ifcfg-eth0を ifcfg-eth0-user にコピーしてクローンを作成し、以下の行をifcfg-eth0-userに追加します。
USERCTL=yes |
これで、ifcfg-eth0 と ifcfg-eth0-user からの設定オプションが結合されるので、ユーザーは</sbin/ifup eth0-user コマンドを使用してeth0インターフェースを立ち上げることができます。 これは非常に基本的な例ですが、この方法はさまざまなオプションとインターフェースで使用できます。
エイリアスインターフェース設定ファイルとクローンインターフェース設定ファイルを作成する 最も簡単な方法は、グラフィカルなネットワーク管理ツールを使用することです。このツールの使用に関する詳細はRed Hat Enterprise Linux システム管理ガイドのネットワーク設定 の章を参照してください。
ダイヤルアップ接続を通してインターネットに接続する場合、インターフェース の設定ファイルが必要です。
PPP インターフェースファイルは次の形式、ifcfg-ppp<X> を使用して名前が付いています。(<X> は特定のインターフェースに対する独自の番号です。)
PPPインターフェース設定ファイルは、wvdial、 ネットワーク管理ツール、又はKpppがダイヤルアップアカウントの作成に使用された時に、自動的に作成されます。また、このファイルは手動で作成、編集が可能です。
以下に標準的な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 などがあります。
まだ説明されていない他のオプションの中で、これらのファイルで使用できるものを 以下に示します:
DEFROUTE=<answer>, ここで <answer>は 以下のいずれかです:
yes — このインターフェースをデフォルトルートとして設定します。
no — このインターフェースをデフォルトルートとして設定しません。
DEMAND=<answer>, ここで <answer>は 以下のいずれかです:
yes — このインターフェースにより、接続を 試みられたときにpppdはその接続を開始します。
no — このインターフェースの接続は手動で 確立する必要があります。
IDLETIMEOUT=<value>、ここで <value>は インターフェイスが自己切断するまで活動停止している秒数です。
INITSTRING=<string>、ここで<string>は モデムデバイスに渡されるinit文字列です。このオプションは主にSLIPインターフェースと併用されます。
LINESPEED=<value>、ここで <value>は デバイスのボーレートです。取り得る標準値には57600、38400、19200、9600 があります。
MODEMPORT=<device>, ここで <device>は このインターフェイスの接続を確立するために使用するシリアルデバイスの名前です。
MTU=<value>、ここで <value>は このインターフェースのMTU(Maximum Transfer Unit)設定値です。 MTUはヘッダー情報を除いた、1フレームが転送できるデータの最大バイト数を表します。 ダイアルアップの場合、MTUの値を576に設定すると、脱落するパケットが 減り、接続のスループットが若干改善されます。
NAME=<name>, ここで <name>は 一連のダイアルアップ接続設定に与えられているタイトルの合同参照名です。
PAPNAME=<name>、ここで <name>は リモートシステムに接続できるようにするために行われるPAP (Password Authentication Protocol)交換時に与えられるユーザー名です。
PERSIST=<answer>, ここで <answer>は 次のいずれかになります:
yes — このインターフェースは、たとえモデムが ハングアップした後に停止されても、常にアクティブのままにする必要があります。
no — このインターフェースは常にアクティブの ままにしてはいけません。
REMIP=<address>, ここで <address>は リモートシステムのIPアドレスです。これは、通常、指定しないでおきます。
WVDIALSECT=<name>, ここで<name>は /etc/wvdial.confのダイアラ設定とこのインターフェースを 関連付けます。ダイアラ設定には、ダイアルする電話番号、インターフェースの 重要情報などが含まれています。
他の一般的なインターフェイス設定ファイルは次の項目を含みます:
ifcfg-lo — ローカルのループバック インターフェイスはよくテストで使用されるだけでなく、同じシステムを 指定し直すIPアドレスを必要とするさまざまなアプリケーションでも使用されます。 ループバックデバイスに送信されたデータはすぐにホストのネットワーク層に 戻されます。
![]() | 警告 |
---|---|
絶対に、ループバックインターフェースのスクリプトである /etc/sysconfig/network-scripts/ifcfg-loは手動で編集しないで下さい。 編集するとシステムの正常な動作が妨害される可能性があります。 |
ifcfg-irlan0 —赤外線インターフェースに よって、ラップトップとプリンタなどデバイス間の情報を赤外線リンク上で流すことができます。 これは、通常ピアツーピア接続で可能という事以外はイーサネットと同じような方法で動作します。
ifcfg-plip0 —PLIP (Parallel Line Interface Protocol)接続も、パラレル ポートを使用すること以外は、 殆んど同様な方法で動作します。
ifcfg-tr0 — トークンリング トポロジーは以前程LAN (Local Area Networks)上で一般的ではありません。 イーサネットのよって取り残されています。