3.5. ifcfg ファイルを使用した IP ネットワークの設定

システム管理者は、ifcfg ファイルを使用して、ネットワークインターフェースを手動で設定できます。
インターフェース設定ファイル (ifcfg) は、個々のネットワークデバイスのソフトウェアインターフェースを制御します。システムは、ブート時にこれらのファイルを使用して、どのインターフェースをアクティブにして、どのように設定するかを決定します。これらのファイルは、通常 ifcfg-name と命名されます。接尾辞 name は設定ファイルが制御するデバイス名を指します。ifcfg ファイルの接尾辞は慣習的に、設定ファイル自体で DEVICE ディレクティブが提供する文字列と同じものになります。

ifcfg ファイルを使用した静的ネットワーク設定によるインタフェースの設定

たとえば、ifcfg ファイルを使って eth0 という名前のインターフェースを静的ネットワークで設定するには、/etc/sysconfig/network-scripts/ ディレクトリー内に以下のような内容で ifcfg-eth0 という名前のファイルを作成します。
  • IPv4 設定の場合
    DEVICE=eth0
    BOOTPROTO=none
    ONBOOT=yes
    PREFIX=24
    IPADDR=10.0.1.27
  • IPv6 設定の場合
    DEVICE=eth0
    BOOTPROTO=none
    ONBOOT=yes
    IPV6INIT=yes
    IPV6ADDR=2001:db8::2/48
    ネットワークまたはブロードキャストアドレスは、ipcalc が自動的に計算するので指定する必要はありません。
    IPv6 の ifcfg 設定オプションの詳細は、man ページの 『nm-settings-ifcfg-rh(5)』 を参照してください。

重要

Red Hat Enterprise Linux 7 では、11章ネットワークデバイス命名における一貫性で説明されるように、ネットワークインターフェースの命名規則が変更されています。HWADDR ディレクティブを使用してハードウェアまたは MAC アドレスを指定すると、デバイスの命名手順に影響が出ます。

ifcfg ファイルを使用した動的ネットワーク設定によるインタフェースの設定

ifcfg ファイルを使用して、em1 という名前のインターフェースを動的ネットワークで設定するには、/etc/sysconfig/network-scripts/ ディレクトリーに以下のような内容で、ifcfg-em1 という名前のファイルを作成します。
DEVICE=em1
BOOTPROTO=dhcp
ONBOOT=yes
インターフェースが DHCP サーバーに異なるホスト名を送信するよう設定するには、ifcfg ファイルに以下の行を追加します。
DHCP_HOSTNAME=hostname
インターフェースが DHCP サーバーに異なる完全修飾ドメイン名 (FQDN) を送信するよう設定するには、ifcfg ファイルに以下の行を追加します。
DHCP_FQDN=fully.qualified.domain.name

注記

指定した ifcfg ファイルでは、DHCP_HOSTNAME または DHCP_FQDN ディレクティブのどちらか 1 つしか使用しないでください。DHCP_HOSTNAMEDHCP_FQDN の両方を指定した場合には、後者だけが使用されます。
インターフェースが特定の DNS サーバーを使用するよう設定するには、ifcfg ファイルに以下の行を追加します。
  PEERDNS=no
  DNS1=ip-address
  DNS2=ip-address
ここで、ip-addressDNS サーバーのアドレスです。これにより、ネットワークサービスは指定した DNS サーバーで /etc/resolv.conf を更新します。指定する必要のある DNS サーバーのアドレスは 1 つだけで、その他はオプションです。
ifcfg ファイルで静的ルートを設定するには、「ifcfg ファイルでの静的ルートの設定」を参照してください。
デフォルトでは、インターフェース設定ファイルの BOOTPROTOdhcp に設定され、アドレスを自動的に取得するようにプロファイルが設定されていると、NetworkManagerDHCP クライアントの dhclient を呼び出します。DHCP が必要な場合は、インターフェース上で、すべてのインターネットプロトコル (IPv4 および IPv6) に dhclient のインスタンスが開始されます。NetworkManager が実行中ではない場合、もしくはこれがインターフェースを管理していない場合は、必要に応じてレガシーのネットワークサービスが dhclient のインスタンスを呼び出します。動的な IP アドレスの詳細は、「静的 IP アドレス指定と動的 IP アドレス指定の比較」を参照してください。

重要

設定を適用するには、nmcli c reload コマンドを入力する必要があります。

3.5.1. ifcfg ファイルを使用したシステム全体およびプライベート接続プロファイルの管理

パーミッションは、ifcfg ファイルの USERS ディレクティブに対応します。USERS ディレクティブが表示されない場合は、ネットワークプロファイルがすべてのユーザーに利用できます。たとえば、ifcfg ファイルにある以下のコマンドは、記載されているユーザーにのみ利用可能になります。
USERS="joe bob alice"
また、USERCTL ディレクティブを設定して、デバイスを管理できます。
  • yes に設定すると、root ユーザー以外のユーザーがこのデバイスを制御できます。
  • no に設定すると、root ユーザー以外のユーザーがこのデバイスを制御 できなくなります