RHEL でスタティック(静的)ルートを追加する4つの方法

linux-static-route
  • URLをコピーしました!

今回は、Linuxルーティングテーブルに対して、スタティック静的ルート追加する方法をいくつかご紹介します。
と言うのも、場合によってはコマンドがなかったり、設定した結果が思うように返ってこないこともあるので、どのような状況にも対応できるように、知っていても損はないと思います。

目次

スタティック(静的)ルートとは?

スタティックルートとは、管理者が宛先ネットワークへの最適なルートを手動で設定したルートのことで、ネットワークの状態に変化があった場合でも、他に有効な宛先ルートがあっても、自動的にそのルートに切り替わることはありません。

ルーティング設定内容の確認方法

ipコマンドを利用して、ルーティングの設定内容を確認します。

すると、このように表示されます。

上の2行はデフォルトで設定されているものですね。
3行目のルーティング設定例を見ると、以下のように設定されています。

  • IPアドレス:192.168.100.0
  • サブネット:255.255.255.0
  • ゲートウェイ:192.168.100.254
  • インターフェース:ens160
  • メトリック:101

次に、以下のネットワークデバイスの情報を見てみましょう。

このように表示されるはずです。

これを見れば、IPアドレスとそれに紐付くインターフェースが確認できます。

一時的なスタティックルートの追加

スタティックルートの追加は、OSネットワークサービス再起動すると消えてしまう一時的な設定と、永続的恒常的)に反映される2種類の設定方法があります。

ipコマンドでスタティックルートを追加

基本的には、ip route addコマンドで追加することができます。

しかし、インターフェース複数ある場合は、オプションを使用して明示的に指定することもできます。

もし前述した通り、メトリックも含めた設定内容の確認と同じ結果を望むのであれば、単純に頭にip route addコマンドをつければ良いです。

一時的に追加する場合は、この方法が最善だと思われます。

routeコマンドでスタティックルートを追加

こちらも同じように、route add -netコマンドで追加します。
REHL 7以降はrouteコマンドが非推奨になっていますので、どうしても使いたい場合はyumで追加する必要があります。

routeコマンドには、メトリックを指定する方法がないようですが、インターフェースを指定するとこのようになります。

ただし、メトリックは表示されませんので、意図する結果になっているか疑問です。

一時的な追加の注意点

著者が行った検証結果では、どちらもインターフェースメトリックを指定しなくても意図した動きになりますが、ルーティングテーブルには表示されないので気持ち悪いです。
ip aコマンドの結果のように、上から順にインターフェースを見ているのか、ゲートウェイから判断しているのか謎です。
なので上記のように、ip route addコマンドを使って、全部指定する方法がベストだと思います。

永続的(恒常的)なスタティックルートの追加

前述の通り、永続的恒常的)なスタティックルートの設定を追加するには、ネットワーク再起動が必要になりますが、一度設定すると消えることがないので、本来ならこちらの設定をお勧めします。

route設定ファイルを作成する

まずは、network-scriptsフォルダに移動します。

その直下に、route-[インターフェース]ファイルを作成します。
インターフェースは、ip aで確認した通りです。
これまでの例で「route-ens160」というファイル名になります。

書き方は以下の2パターンありますので、お好きな方で記述してください。
ただし、混在はできません。

スタティックルートを1行で追加する方法

以下は、1つのルーティング設定を1行で書く方法です。
3つほど例を記載します。

非常にスッキリとして分かりやすいですね!
ちなみに、インターフェースはファイル名に書いてあるから指定しなくても大丈夫なんだと思います。(メトリックは…知らねw)

スタティックルートを3行で追加する方法

次に、1つのルーティング設定を3行で書く方法です。

どちらも結果は同じですが、こちらは見づらいですね。
上記のように複数ルーティングを設定する場合は、必ず0から始まり、〜0〜1〜2…と追加するルールになっております。
反映させるには、下記のいずれかのコマンドネットワーク再起動します。

または、

これでスタティックルートの設定は完了です。
再びip rコマンドで確認してみてください。

nmcliコマンドでスタティックルートを追加

最後にnmcliコマンドでの追加方法です。
このコマンドを実行すると、上記と同じroute設定ファイルが書き方1で作成されます。

設定が完了したら、こちらもnmcliコマンドネットワーク再起動してあげます。

ちなみに、nmcliコマンドでの確認方法もご紹介しておきます。

IP4.ROUTE[〜]が追加されているはずです。

【余談】スタティックルートの削除も同じ

一時的スタティックルート削除したい場合は、コマンドaddの部分をdelに変更すると削除ができます。
永続的恒常的)に削除したい場合は、route設定ファイルから設定を削除する必要があります。

著:平 初, 著:できるシリーズ編集部
¥2,772 (2024/04/25 21:48時点 | Amazon調べ)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次