11.4. 静的ルートおよびデフォルトのゲートウェイ
静的ルートは、デフォルトゲートウェイを通過するべきでないか、そうでないトラフィック用です。ルーティングは、しばしば、ルーティング専用のネットワーク上で、デバイスにより処理されます (ただし、デバイスはルーティングを行うように設定できます)。したがって、Red Hat Enterprise Linux サーバーまたはクライアントで静的ルートを設定する必要がない場合もしばしばあります。例外は、暗号化された VPN トンネルを通過する必要があるトラフィックや、コストやセキュリティー上の理由から、特定のルートを通過する必要があるトラフィックが含まれます。デフォルトゲートウェイは、ローカルネットワーク宛ではなく、ルーティングテーブルで優先ルートが指定されていないすべてのトラフィックに適用されます。デフォルトゲートウェイは、従来は専用のネットワークルーターです。
コマンドラインを使用した静的ルートの設定
静的ルートが必要な場合は、ip route add コマンドを使用してルーティングテーブルに追加し、ip route del コマンドを使用して削除します。より頻繁に使用される ip route コマンドには以下の形式が使用されます。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
オプションおよび形式の詳細は、
ip route [ add | del | change | append | replace ] destination-address
ip route [ add | del | change | append | replace ] destination-address
ip-route(8)
man ページを参照してください。
オプションを指定せずに ip route コマンドを使用して、
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
IP
ルーティングテーブルを表示します。以下に例を示します。
ip route
~]$ 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
ホストアドレス(つまり単一の
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
192. 0.2.1 はドット付き 10 進数表記のホストの
IP
アドレス)に静的ルートを追加するには、root
でコマンドを実行します。
ip route add 192.0.2.1 via 10.0.0.1 [dev ifname]
~]# ip route add 192.0.2.1 via 10.0.0.1 [dev ifnamedev ifnamedev ifname]
IP
アドレスで、10.0.0.1 は次のホップアドレス、ifname は終了インターフェースであり、次のホップになります。
ネットワークに静的ルートを追加するには、つまり
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
ここでの 192.0.2.0 はドット形式 10 進法での宛先ネットワークの
IP
アドレスの範囲を表す IP
アドレスに静的なルートを追加するには、root
で以下のコマンドを発行します。
ip route add 192.0.2.0/24 via 10.0.0.1 [dev ifname]
~]# ip route add 192.0.2.0/24 via 10.0.0.1 [dev ifnamedev ifnamedev ifname]
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」 を参照してください。