Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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 設定オプションの詳細は、『nm-settings-ifcfg-rh(5)』 の man ページを参照してください。
重要
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-address は、DNS サーバーのアドレスです。これにより、ネットワークサービスは指定した DNS サーバーで /etc/resolv.conf を更新します。DNS サーバーアドレスは 1 つだけ必要ですが、もう 1 つの DNS サーバーアドレスは任意です。
  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 以外のユーザーがこのデバイスを制御できます。
  • を設定し ない と、root 以外のユーザーはこのデバイスを制御でき ません