【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アドレス指定・メトリック値指定)は以上となります。




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

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

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

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