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

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

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

たとえば、ifcfg ファイルを使って enp1s0 という名前のインターフェースを静的ネットワークで設定するには、/etc/sysconfig/network-scripts/ ディレクトリー内に以下のような内容で ifcfg-enp1s0 という名前のファイルを作成します。
  • IPv4 設定の場合
    DEVICE=enp1s0
    BOOTPROTO=none
    ONBOOT=yes
    PREFIX=24
    IPADDR=10.0.1.27
  • IPv6 設定の場合
    DEVICE=enp1s0
    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 という名前のインターフェースを設定するには、以下を行います。
  1. /etc/sysconfig/network-scripts/ ディレクトリーに、ifcfg-em1 という名前のファイルを作成します。これには、以下が含まれます。
    DEVICE=em1
    BOOTPROTO=dhcp
    ONBOOT=yes
  2. インターフェースが DHCP サーバーに異なるホスト名を送信するよう設定するには、ifcfg ファイルに以下の行を追加します。
    DHCP_HOSTNAME=hostname
    インターフェースが DHCP サーバーに異なる完全修飾ドメイン名 (FQDN) を送信するよう設定するには、ifcfg ファイルに以下の行を追加します。
    DHCP_FQDN=fully.qualified.domain.name

    注記

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

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

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