Red Hat Training

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

11.4. 静的ルートおよびデフォルトのゲートウェイ

静的ルートは、デフォルトゲートウェイを通過するべきでないか、そうでないトラフィック用です。ルーティングは、しばしば、ルーティング専用のネットワーク上で、デバイスにより処理されます (ただし、デバイスはルーティングを行うように設定できます)。したがって、Red Hat Enterprise Linux サーバーまたはクライアントで静的ルートを設定する必要がない場合もしばしばあります。例外は、暗号化された VPN トンネルを通過する必要があるトラフィックや、コストやセキュリティー上の理由から、特定のルートを通過する必要があるトラフィックが含まれます。デフォルトゲートウェイは、ローカルネットワーク宛ではなく、ルーティングテーブルで優先ルートが指定されていないすべてのトラフィックに適用されます。デフォルトゲートウェイは、従来は専用のネットワークルーターです。

コマンドラインを使用した静的ルートの設定

静的ルートが必要な場合は、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 eth0  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-インターフェース ファイルに保存できます。たとえば、次は静的ルートです。 eth0 インターフェースは /etc/sysconfig/network-scripts/route-eth0 ファイルに保存されます。route-interface ファイルには、ip コマンド引数と network/netmask ディレクティブの 2 つの形式があります。これについては、以下で説明します。
ip route コマンドに関する詳細情報は、ip-route(8) man ページを参照してください。

デフォルトゲートウェイの設定

デフォルトゲートウェイは、ネットワークスクリプトにより決定されます。これは、最初に /etc/sysconfig/network を解析し、up 状態のインターフェースについてネットワークインターフェイス ifcfg ファイルを解析します。ifcfg ファイルは数字の小さい順に解析され、最後に読み取られる GATEWAY ディレクティブがルーティングテーブルのデフォルトルートを作成するために使用されます。
そのため、デフォルトのルートは GATEWAY ディレクティブを使用して示され、グローバルに、またはインターフェース固有の設定ファイルで指定できます。ゲートウェイをグローバルに指定すると、静的ネットワーク環境では、特に複数のネットワークインターフェースが存在する場合には、いくつかの利点があります。一貫して適用されると、障害検索が簡単になります。グローバルオプションである GATEWAYDEV ディレクティブもあります。複数のデバイスで GATEWAY を指定し、1 つのインターフェースが GATEWAYDEV ディレクティブを使用している場合は、そのディレクティブが優先されます。このオプションは、インターフェースがダウンし、障害検出が複雑になる可能性がある場合に予期しない結果をもたらす可能性があるため、推奨されません。
NetworkManager がモバイルホストを管理しているという動的なネットワーク環境では、ゲートウェイ情報はインターフェース固有である可能性が高く、DHCP による割り当てに任せるのが最善です。NetworkManager においてゲートウェイに達する出口インターフェースの選択に影響を及ぼす必要がある特別なケースでは、デフォルトゲートウェイに進まないインターフェースに ifcfg ファイルの DEFROUTE=no コマンドを利用します。
グローバルデフォルトゲートウェイ設定は /etc/sysconfig/network ファイルに保存されます。このファイルは、すべてのネットワークインターフェースのゲートウェイおよびホスト情報を指定します。このファイルおよび許可されるディレクティブの詳細は、「/etc/sysconfig/network」 を参照してください。