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 つのアドレスは任意です。
  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 以外のユーザーがこのデバイスを制御することはでき ません