Show Table of Contents
2.2. ネットワーク設定ファイルの編集
2.2.1. ifcfg ファイルを使用したネットワークインターフェースの設定
インターフェース設定ファイルは、個々のネットワークデバイスのソフトウェアインターフェースを制御します。システムは、ブート時にこれらのファイルを使用して、どのインターフェースをアクティブにして、どのように設定するかを決定します。これらのファイルは、通常
ifcfg-name と命名されます。接尾辞 name は設定ファイルが制御するデバイス名を指します。ifcfg ファイルの接尾辞は慣習的に、設定ファイル自体で DEVICE ディレクティブが提供する文字列と同じものになります。
静的ネットワーク設定
たとえば、
ifcfg ファイルを使って eth0 という名前のインターフェースを静的ネットワークで設定するには、/etc/sysconfig/network-scripts/ ディレクトリー内に以下のような内容で ifcfg-eth0 という名前のファイルを作成します。
DEVICE=eth0 BOOTPROTO=none ONBOOT=yes PREFIX=24 IPADDR=10.0.1.27ネットワークまたはブロードキャストアドレスは、ipcalc が自動的に計算するので指定する必要はありません。
重要
Red Hat Enterprise Linux 7 では、「8章ネットワークデバイス命名における一貫性」で説明するようにネットワークインターフェースの命名規則が変更されています。
HWADDR ディレクティブを使ってハードウェアまたは MAC アドレスを指定すると、デバイスの命名手順に影響が出ます。
動的ネットワーク設定
たとえば、
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_HOSTNAME と DHCP_FQDN の両方を指定した場合には、後者だけが使用されます。
インターフェースが特定の
DNS サーバーを使用するよう設定するには、ifcfg ファイルに以下の行を追加します。
PEERDNS=no DNS1=ip-address DNS2=ip-addressここで、ip-address は
DNS サーバーのアドレスです。これにより、ネットワークサービスは指定した DNS サーバーで /etc/resolv.conf を更新します。指定する必要のある DNS サーバーのアドレスは 1 つだけで、その他はオプションです。
デフォルトでは、インターフェース設定ファイルの
BOOTPROTO が dhcp に設定され、アドレスを自動的に取得するようにプロファイルが設定されていると、NetworkManager は DHCP クライアントの dhclient を呼び出します。DHCP が必要な場合は、インターフェース上で、すべてのインターネットプロトコル (IPv4 および IPv6) に dhclient のインスタンスが開始されます。NetworkManager が実行中ではない場合、もしくはこれがインターフェースを管理していない場合は、必要に応じてレガシーのネットワークサービスが dhclient のインスタンスを呼び出します。詳細は、「動的ネットワークインタフェース設定を使用する場合」を参照してください。
重要
設定を適用するには、
nmcli c reload コマンドを入力する必要があります。
2.2.2. カーネルコマンドラインからのネットワークセッティングの設定
インターフェースから iSCSI ターゲット上のルートファイルシステムに接続する場合、インストールされたシステムにはネットワークセッティングが設定されません。この問題を回避するには、以下の手順を実施します。
- カーネルコマンドラインの
ipオプションを使用して、設定を定義します。ip<client-IP-number>:[<server-id>]:<gateway-IP-number>:<netmask>:<client-hostname>:<interface>:{dhcp|dhcp6|auto6|on|any|none|off}以下に例を示します。dhcp: DHCP 設定dhpc6: DHCP IPv6 設定auto6: 自動 IPv6 設定on、any: カーネルで利用可能な任意のプロトコル (デフォルト)none、off: 自動設定なし (静的ネットワーク設定)
ip=192.168.180.120:192.168.180.100:192.168.180.1:255.255.255.0::eth0:off
- ネームサーバーの設定を定義します。
nameserver=srv1 [nameserver=srv2 [nameserver=srv3 […]]]
dracut ユーティリティーによりネットワーク接続が設定され、新たな
ifcfg ファイルが生成されます。このファイルを /etc/sysconfig/network-scripts/ ファイルにコピーすることができます。
2.2.3. ip コマンドを使用したネットワークインターフェースの設定
ip ユーティリティーを使うと、インターフェースに
IP アドレスを割り当てることができます。コマンドは以下の形式になります。ip addr [ add | del ] address dev ifname
ip コマンドを使って静的アドレスを割り当てる
インターフェースに
IP アドレスを割り当てるには、root で以下のコマンドを実行します。
~]#ip address add 10.0.0.3/24 dev eth0The address assignment of a specific device can be viewed as follows: ~]#ip addr show dev eth02: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether f0:de:f1:7b:6e:5f brd ff:ff:ff:ff:ff:ff inet 10.0.0.3/24 brd 10.0.0.255 scope global global eth0 valid_lft 58682sec preferred_lft 58682sec inet6 fe80::f2de:f1ff:fe7b:6e5f/64 scope link valid_lft forever preferred_lft forever
ip-address(8) man ページでは、他の例やコマンドオプションが説明されています。
ip コマンドを使って複数のアドレスを設定する
ip ユーティリティーでは同一インターフェースへの複数のアドレス割り当てをサポートしているので、エイリアスインターフェースを使って複数アドレスを同一インターフェースにバインドする必要がありません。ip コマンドによるアドレスの割り当ては、複数のアドレス割り当てのために繰り返すことができます。例を示します。
~]#ip address add 192.168.2.223/24 dev eth1~]#ip address add 192.168.4.223/24 dev eth1~]#ip addr3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 52:54:00:fb:77:9e brd ff:ff:ff:ff:ff:ff inet 192.168.2.223/24 scope global eth1 inet 192.168.4.223/24 scope global eth1
ip ユーティリティーのコマンドは、
ip(8) man ページで確認することができます。
注記
コマンドライン上で実行される ip コマンドは、システム再起動後は維持されません。
2.2.4. 静的ルートおよびデフォルトゲートウェイ
静的ルートは、デフォルトゲートウェイを通過すべきでない、通過してはいけないトラフィックのためのものです。ルーティングは通常、ネットワーク上にあるルーティング専用のデバイスによって処理されます (ただし、どのデバイスもルーティングを実行するように設定可能です)。このため多くの場合、Red Hat Enterprise Linux サーバーやクライアントで静的ルートを設定する必要はありません。例外は、暗号化 VPN トンネルの通過が必要なトラフィックや、費用やセキュリティーのために特定のルートを通過すべきトラフィックなどです。デフォルトゲートウェイは、ローカルネットワークが宛先となっておらず、ルーティングテーブルに優先ルートが指定されていないすべてのトラフィックのためのものです。デフォルトゲートウェイは従来、専用ネットワークルーターでした。
注記
専門知識のさらなる拡充を図るには、Red Hat System Administration I (RH124) トレーニングコースもあります。
静的ルートが必要な場合は、
ip route add コマンドでルーティングテーブルに追加でき、削除したい時は ip route del コマンドを使います。頻繁に使用される ip route コマンドは、以下の形式で用います。ip route [ add | del | change | append | replace ] destination-address オプションおよび形式についての詳細は、ip-route(8) man ページを参照してください。
オプションなしで
ip route コマンドを実行すると、IP ルーティングテーブルが表示されます。例を示します。
~]$ ip route default via 192.168.122.1 dev ens9 proto static metric 1024 192.168.122.0/24 dev ens9 proto kernel scope link src 192.168.122.107 192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.126
ホストアドレス、つまり単一
IP アドレスに静的ルートを追加するには、root で以下のコマンドを実行します。
ip route add 192.0.2.1 via 10.0.0.1 [dev ifname]
ここでの 192.0.2.1 はドット形式 10 進法でのホストの IP アドレスに、10.0.0.1 はネクストホップアドレスに、ifname はネクストホップに進む終了インターフェースになります。
ネットワーク、つまり
IP アドレスの範囲を表す IP アドレスに静的ルートを追加するには、root で以下のコマンドを実行します。
ip route add 192.0.2.0/24 via 10.0.0.1 [dev ifname]
ここでの 192.0.2.0 はドット形式 10 進法での宛先ネットワークの IP アドレスに、/24 はネットワークプレフィックスになります。ネットワークプレフィックスは、サブネットマスク内の有効なビット数です。ネットワークアドレスにスラッシュ、ネットワークプレフィックス長を続けるこの形式は、classless inter-domain routing (CIDR) 表記と呼ばれることもあります。
静的ルート設定はインターフェースごとに、
/etc/sysconfig/network-scripts/route-interface ファイルに格納することができます。たとえば、eth0 インターフェースの静的ルートは、/etc/sysconfig/network-scripts/route-eth0 ファイルに格納されます。route-interface ファイルには ip コマンド引数とネットワーク/ネットマスクディレクティブの 2 つの形式があり、これらは後で説明されます。
ip route コマンドに関する詳細情報は、ip-route(8) man ページを参照してください。
デフォルトゲートウェイを設定する
デフォルトゲートウェイは、ネットワークスクリプトにより決定されます。このスクリプトは、まず
/etc/sysconfig/network ファイルを、その後に「up」の状態にあるインターフェースのネットワークインターフェースの ifcfg ファイルを解析します。ifcfg ファイルは数字の小さい順に解析され、最後に読み取られる GATEWAY ディレクティブがルーティングテーブルのデフォルトルートを作成するために使用されます。
つまりデフォルトルートは GATEWAY ディレクティブで指定することが可能で、グローバルかインターフェース固有の設定ファイルのいずれかで指定できます。ただし、Red Hat Enterprise Linux ではグローバルの
/etc/sysconfig/network ファイルの使用は非推奨となっており、ゲートウェイの指定はインターフェースごとの設定ファイルでのみ行ってください。
NetworkManager がモバイルホストを管理しているという動的なネットワーク環境では、ゲートウェイ情報はインターフェース固有である可能性が高く、
DHCP による割り当てに任せるのが最善です。NetworkManager においてゲートウェイに達する出口インターフェースの選択に影響を及ぼす必要がある特別なケースでは、デフォルトゲートウェイに進まないインターフェースに ifcfg ファイルの DEFROUTE=no コマンドを利用します。
2.2.5. ifcfg ファイルでの静的ルートの設定
コマンドプロンプトで ip コマンドを使って設定した静的ルートは、システムが終了したり再起動すると失われます。システム再起動後も維持される静的ルートを設定するには、
/etc/sysconfig/network-scripts/ ディレクトリー内のインターフェースごとの設定ファイルに格納する必要があります。ファイル名は、route-ifname という形式にします。設定ファイル内で使用するコマンドには、「IP コマンド引数形式を使用した静的ルート」で説明する ip コマンドと、「ネットワーク/ネットマスクディレクティブの形式」で説明する Network/Netmask 形式という 2 つのタイプがあります。
2.2.5.1. IP コマンド引数形式を使用した静的ルート
インターフェースごとの設定ファイル、たとえば
/etc/sysconfig/network-scripts/route-eth0 で必要な場合は、1 行目でデフォルトゲートウェイへのルートを定義します。これは、ゲートウェイが DHCP 経由で設定されておらず、かつ /etc/sysconfig/network ファイルでグローバルに設定されていない場合にのみ必要となります。
default via 192.168.1.1 dev interface
ここでの 192.168.1.1 は、デフォルトゲートウェイの
IP アドレスになります。interface は、デフォルトゲートウェイに接続されている、または到達可能なインターフェースになります。dev オプションは省略可能なオプションです。この設定は、/etc/sysconfig/network ファイル内の設定に優先することに注意してください。
リモートネットワークへのルートが必要な場合は、静的ルートは以下のように指定できます。各行は、個別のルートとして解析されます。
10.10.10.0/24 via 192.168.1.1 [dev interface]
ここでの 10.10.10.0/24 は、リモートもしくは宛先ネットワークのネットワークアドレスおよびプレフィックス長です。アドレス 192.168.1.1 は、リモートネットワークに続く
IP アドレスです。ネクストホップアドレス の方が好ましいですが、出口インターフェースのアドレスでも機能します。「ネクストホップ」とは、ゲートウェイやルーターなどリンクのリモート側を意味します。dev オプションを使うと出口インターフェース interface を指定できますが、これは必須ではありません。必要に応じた数の静的ルートを追加してください。
以下は、ip コマンド引数形式を使用した
route-interface ファイルの例です。デフォルトゲートウェイは 192.168.0.1 で、インターフェースは eth0、また専用回線または WAN 接続が 192.168.0.10 で利用可能です。2 つの静的ルートは、10.10.10.0/24 ネットワークおよび 172.16.1.10/32 ホストに到達するためのものです。
default via 192.168.0.1 dev eth0 10.10.10.0/24 via 192.168.0.10 dev eth0 172.16.1.10/32 via 192.168.0.10 dev eth0
上記の例では、ローカルの
192.168.0.0/24 ネットワークに向かうパケットはそのネットワークに接続されているインターフェースに移動します。10.10.10.0/24 ネットワークおよび 172.16.1.10/32 ホストに向かうパケットは、192.168.0.10 に移動します。既知でないリモートネットワークに向かうパケットはデフォルトゲートウェイを使用するので、デフォルトルートが適切でない場合は、静的ルートはリモートネットワークもしくはホスト用のみに設定すべきです。ここでのリモートとは、システムに直接繋がれていないネットワークやホストを指します。
出口インターフェースの指定は、オプションです。特定のインターフェースからトラフィックを強制的に締め出したい場合は、これが便利です。たとえば VPN の場合、tun0 インターフェースが宛先ネットワークにつながる別のサブネットにあったとしても、リモートネットワークへのトラフィックを強制的にこのインターフェース経由とさせることができます。
ip route の形式を使用して、送信元アドレスを指定することができます。以下に例を示します。
10.10.10.0/24 via 192.168.0.10 src 192.168.0.2あるいは、同じ形式で、既存のポリシーベースのルート設定を定義することもできます。この場合、複数のルーティングテーブルを指定します。以下に例を示します。
10.10.10.0/24 via 192.168.0.10 table 1 10.10.10.0/24 via 192.168.0.10 table 2
重要
DHCP がすでにデフォルトゲートウェイを割り当てており、設定ファイル内でこの同一ゲートウェイが同一メトリクスで指定されている場合、起動時またはインターフェースをアクティベートする際にエラーが発生します。"RTNETLINK answers: File exists" というエラーメッセージが表示される可能性がありますが、これは無視して構いません。
2.2.5.2. ネットワーク/ネットマスクディレクティブの形式
ネットワーク/ネットマスクディレクティブの形式を
route-interface ファイルに使用することも可能です。以下は、ネットワーク/ネットマスク形式のテンプレートで、後に説明が続きます。
ADDRESS0=10.10.10.0 NETMASK0=255.255.255.0 GATEWAY0=192.168.1.1
ADDRESS0=10.10.10.0は、到達するリモートネットワークまたはホストのネットワークアドレスです。NETMASK0=255.255.255.0は、ADDRESS0=10.10.10.0で定義されているネットワークアドレスのネットマスクです。GATEWAY0=192.168.1.1は、ADDRESS0=10.10.10.0への到達に使用可能なデフォルトゲートウェイまたはIPアドレスです。
以下は、ネットワーク/ネットマスクディレクティブの形式を使用した
route-interface ファイルの例です。デフォルトゲートウェイは 192.168.0.1 ですが、専用回線または WAN 接続が 192.168.0.10 で利用可能です。2 つの静的ルートは、10.10.10.0/24 および 172.16.1.0/24 のネットワークに到達するためのものです。
ADDRESS0=10.10.10.0 NETMASK0=255.255.255.0 GATEWAY0=192.168.0.10 ADDRESS1=172.16.1.10 NETMASK1=255.255.255.0 GATEWAY1=192.168.0.10
後に続く静的ルートは、順番に番号付けされる必要があり、いずれの値もスキップしてはいけません。たとえば、
ADDRESS0、ADDRESS1、ADDRESS2 というようになります。
デフォルトでは、パケットをあるインターフェースから別のインターフェースに転送することや、同じインターフェースから外部に送信することは、セキュリティー上の理由から無効になっています。これにより、システムが外部トラフィックのルーターとして機能するのを防ぐことができます。システムに外部トラフィックをルーティングさせる必要がある場合は (たとえば、接続を共有する場合や、VPN サーバーを設定する場合)、IP フォワーディングを有効にする必要があります。詳細は、『Red Hat Enterprise Linux 7 Security Guide』の『Enabling Packet Forwarding』を参照してください。
2.2.6. VPN の設定
Red Hat Enterprise Linux 7 で VPN を作成する推奨方法は、Libreswan が提供する IPsec になります。コマンドラインを使って IPsec VPN を設定する方法は、『Red Hat Enterprise Linux 7 セキュリティーガイド』で説明されています。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.