IP ルーティングにすべてのルートが表示されない

IP ルーティングにすべてのルートが表示されない

VPNクライアントが内部で実行されているDockerコンテナを起動しました。コンテナ内でVPNを使用するために、ホストルーティングテーブルにパスを追加しました。

$ sudo ip route add 123.123.123.123 via 172.17.0.2 mtu 1400 table 3

172.17.0.2コンテナのアドレスです。パスを追加した後、VPNを使用することに問題はありませんでした。

ただし、次の出力にパスは表示されませんip route

❯ ip route
default via 192.168.1.1 dev enp3s0 proto dhcp metric 100 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 
192.168.1.0/24 dev enp3s0 proto kernel scope link src 192.168.1.42 metric 100 
192.168.12.0/24 dev wlp0s20f0u1 proto kernel scope link src 192.168.12.1 

同じパスを再度追加するとエラーが発生します。これは、そのルートが実際にルーティングテーブルに追加されたことを意味します。

❯ sudo ip route add 123.123.123.123 via 172.17.0.2 mtu 1400 table 3
RTNETLINK answers: File exists

問題は次のとおりです。

  • ip route実際に、ルートテーブルに追加されたときに出力に追加されたルートが表示されないのはなぜですか?
  • 追加されたルートを確認するにはどうすればよいですか?

答え1

別のルートテーブルにルートを明示的に追加し、デフォルトではデフォルトip route showテーブルのみが表示されるためです。

ルーティングテーブルを台無しにしてから数年が経ちましたが、パスを追加したテーブルを表示するのは簡単だと思いましたip route show table 3

関連情報