【Linux】スタティックルートの応用(送信元IPアドレス指定とメトリック値)

Linux系OSのスタティックルートの設定の応用として、送信元IPを指定、メトリック値の設定方法をまとめました。

「スタティックルート(Static)応用」送信元IP指定とメトリック値

前回、Linux系OSのスタティックルートの設定を書きました。

今回は、スタティックルートにおける応用編をまとめます。
以下では、送信元IPアドレスの指定、Metricを付与した設定となります。

送信元IPアドレス指定

送信元IPアドレスの指定では複数のインターフェースがある場合、該当のインターフェースを送信元とした設定をするときに利用します。

以下ではインターフェース「ens192」に設定したIPアドレス(192.168.1.10)をもとにスタティックルートを設定します。

$ ip addr show

2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:81:da:68 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.10/24 brd 192.168.1.255 scope global noprefixroute ens192
       valid_lft forever preferred_lft forever
    inet6 fe80::ada9:3065:359d:f57a/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

上記をもとにソース元IPアドレス(192.168.1.10)を指定してスタティックルートを設定した例となります。

$ ip route add 10.0.0.0/24 via 192.168.1.1 src 192.168.1.10

ルーティングテーブルに設定したルートが反映されていることが確認できます。

$ ip route
10.0.0.0/24 via 192.168.1.1 dev ens192 src 192.168.1.10

メトリック(metric)値付与

メトリック値は同じ宛先ルートが複数ある場合、メトリック値が小さい経路を最適なルートとする方法となります。
同じ宛先で、ネクストホップが異なるルートが2つある場合、メトリック値の小さなルートが優先ルートとなります。

以下ではメトリック値を100として設定した例となります。

$ ip route add 10.0.0.0/24 via 192.168.1.1 src 192.168.1.10 metric 100

ルーティングテーブルにメトリック値が付与されたルートが表示されていることが確認できます。

$ ip route
10.0.0.0/24 via 192.168.1.1 dev ens192 src 192.168.1.10 metric 100

ルート削除

ルートを削除する場合は以下のコマンドで削除可能です。

$ ip route delete 10.0.0.0/24

スタティックルートを永続的に設定する

スタティックルートはOS再起動後などは消えてしまいます。
永続的にルートを残しておきたい場合は以下のように設定します。

$ vi /etc/sysconfig/network-scripts/route-ens192
10.0.0.0/24 via 192.168.1.1 src 192.168.1.10 metric 100

これは、上記フォルダに該当のファイルを作成してルートを記載する例となります。
設定後は、ネットワークの再起動が必要となります。
※今はあまり使わないようになっています。

「nmcli」コマンドを使用し永続的に設定する

CentOS7もしくは8では「nmcli」コマンドを実施し、スタティックルートを永続的に設定する方法が主流になってきています。

「nmcli」を使用したスタティックルートの設定方法は以下となります。

$ nmcli connection modify ens192 +ipv4.routes "10.0.0.0/24 192.168.1.1" ipv4.route-metric 100

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

$ nmcli connection down ens192; nmcli connection up ens192
接続 'ens192' が正常に非アクティブ化されました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/4)
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/5)

以下、確認コマンドでルートが追加されていることが確認できます。

$ nmcli device show ens192
GENERAL.DEVICE:                         ens192
~
IP4.ROUTE[5]:                           dst = 10.0.0.0/24, nh = 192.168.1.1, mt = 100

LinuxOSにおけるスタティックルート応用(送信元IPアドレス指定・メトリック値指定)は以上となります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US

blank
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!