Linux で複数NICを指している場合に、ネットワーク経路の優先度を指定するコマンドです。
ifmetric を使います。
Ubuntu では次のコマンドでインストールします。
apt-get install ifmetric
次の書式で実行します。
メトリック値が小さいルートが、優先経路となります。
ifmetric インタフェース名 メトリック値
例えば、次のような場合、インタフェース enx803ebbdf3748 の経路を enp1s0 より優先させたいとします。
# route カーネルIP経路テーブル 受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース default _gateway 0.0.0.0 UG 101 0 0 enp1s0 default _gateway 0.0.0.0 UG 20100 0 0 enx803ebbdf3748 10.8.2.128 0.0.0.0 255.255.255.192 U 100 0 0 enx803ebbdf3748 link-local 0.0.0.0 255.255.0.0 U 1000 0 0 enx803ebbdf3748 192.168.1.0 0.0.0.0 255.255.255.0 U 101 0 0 enp1s0 192.168.4.0 0.0.0.0 255.255.255.0 U 101 0 0 enp1s0
上の routeコマンドの実行結果では enp1s0 のメトリック値は 101 なので、それより小さいメトリック値を enx803ebbdf3748 に指定します。
# ifmetric enx803ebbdf3748 99
これで、enx803ebbdf3748 の方が優先経路となります。
# route カーネルIP経路テーブル 受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース default _gateway 0.0.0.0 UG 99 0 0 enx803ebbdf3748 default _gateway 0.0.0.0 UG 101 0 0 enp1s0 10.8.2.128 0.0.0.0 255.255.255.192 U 99 0 0 enx803ebbdf3748 link-local 0.0.0.0 255.255.0.0 U 99 0 0 enx803ebbdf3748 192.168.1.0 0.0.0.0 255.255.255.0 U 101 0 0 enp1s0 192.168.4.0 0.0.0.0 255.255.255.0 U 101 0 0 enp1s0
コメント
しばらくすると戻ってしまいません?当方RaspberryPi4[Raspbian GNU/Linux 10 (buster)]でこの設定をしたんですがしばらくすると戻ってしまうんですよね。。
Ubuntu 20.04でしたが、1か月以上動作させていても戻ることはありませんでした。
代替案ですが、指定の接続(NIC)がデフォルトルートにならないように指定するのはどうでしょう。次の記事の内容で設定できます。
Ubuntu でデフォルトルートが勝手に変わるのを防止する
https://pcvogel.sarakura.net/2021/09/15/32856