Redhat Enterprise Linux8でルーティングを追加・永続化する方法をまとめました。
※RHEL8のルーティング設定に関しては以下のRedHat公式サイトを参考にしてください。
25.2. nmcli ユーティリティーを使用して静的ルートを設定する方法 | Red Hat Product Documentation
25.2. nmcli ユーティリティーを使用して静的ルートを設定する方法 | Red Hat Documentation
RHEL8にスタティックルートを設定する方法
RHEL8でスタティックルートを設定するには以下のコマンドを使用します。
nmcli connection modify connection_name ipv4.routes "ip[/prefix] [next_hop] [metric] [attribute=value] [attribute=value] ..."
RHEL8でスタティックルートを追加するには以下のコマンドを使用します。
nmcli connection modify connection_name +ipv4.routes "<route>"
RHEL8でスタティックルートを削除するには以下のコマンドを使用します。
nmcli connection modify connection_name -ipv4.routes "<route>"
追加したルーティング設定を反映させる
以下は追加したルーティング設定の反映例です。enp0s8は環境ごとに異なります。
# nmcli connection up enp0s8
一時的にルーティング設定を追加する
以下のコマンドを実行することで一時的にルーティング設定を追加することができます。
ip route add <宛先ネットワークアドレス>/<プレフィックス> via <ルータIPアドレス> dev <ネットワークデバイス名>
# ip route add 192.168.100.0/24 via 192.168.100.254 dev enp0s8
使用可能なオプション
以下のオプションを設定可能です。
このコマンドは、次のルート属性に対応します。
cwnd=n: パケット数で定義された輻輳ウィンドウ (CWND) サイズを設定します。
lock-cwnd=true|false: カーネルが CWND 値を更新できるかどうかを定義します。
lock-mtu=true|false: カーネルが MTU をパス MTU ディスカバリーに更新できるかどうかを定義します。
lock-window=true|false: カーネルが TCP パケットの最大ウィンドウサイズを更新できるかどうかを定義します。
mtu=n: 宛先へのパスに沿って使用する最大転送単位 (MTU) を設定します。
onlink=true|false: ネクストホップがどのインターフェイス接頭辞とも一致しない場合でも、このリンクに直接接続されるかどうかを定義します。
scope=n: IPv4 ルートの場合、この属性は、ルート 接頭辞によってカバーされる宛先の範囲を設定します。値を整数 (0〜255) として設定します。
src=address: ルート接頭辞の対象となる宛先にトラフィックを送信するときに優先する送信元アドレスを設定します。
table=table_id: ルートを追加するテーブルの ID を設定します。このパラメーターを省略すると、NetworkManager は main テーブルを使用します。
tos= <type_of_service_key> : サービスタイプ (TOS) キーを設定します。値を整数 (0〜255) として設定します。
type= <route_type> : ルートタイプを設定します。NetworkManager は、unicast、local、blackhole、unreachable、prevent、および throw ルートタイプをサポートします。デフォルトは unicast です。
window=n: これらの宛先にアドバタイズする TCP の最大ウィンドウサイズをバイト単位で設定します。
参照:https://docs.redhat.com/ja/documentation/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/how-to-use-the-nmcli-command-to-configure-a-static-route_configuring-static-routes
RHEL8のネットワーク設定保存場所
RHEL8では以下のディレクトリにネットワークの設定が保存されます。
/etc/sysconfig/network-scripts/
以下の手順で保存されているネットワークの設定を確認できます。
まずは以下のコマンドを実行します。
# cd /etc/sysconfig/network-scripts/
# ls -la
ls -laで確認したファイルに対してcatコマンドで中身を確認します。
追加したスタティックルートの確認
追加したスタティックルートは以下のコマンドで確認できます。
ip route show
RHEL9との違い
RHEL9でのルーティング設定のやり方は以下の記事でまとめています。