ルーティングにはBGPを使用して2つのISPに接続されているルーター(Linuxを実行)がありますが、各接続を個別にping /追跡したいと思います。
標準のTracerouteコマンドはこれを行うことができるように見えますが(発信インターフェイス、送信元IPの選択を許可する)、ゲートウェイの選択は許可されません。コマンドラインオプション(-g)がありますが、ここで行うことは単にパケットを送信するのではなく、IPルーティングオプションを設定するだけです。
私が望むものは次のとおりです。私のルーターには、10.0.0.1(最初のISPで提供)、10.1.0.1(2番目のISPで提供)という2つのIPがあるとします。最初のISPのデフォルトゲートウェイ(次のホップ)は10.0.0.254、2番目のISPのデフォルトゲートウェイは10.1.0.254です。そのうちの1つが現在デフォルトゲートウェイ(BGP経由)として選択されていますが、他のゲートウェイでもトレース/ピングを使用できるようにしたいと思います。ルーティングテーブルを変更することはできません(特に他のISPに問題がある場合は切断されません)。
Traceroute_oth --nexthop 10.0.0.254 8.8.8.8 は以下を提供する必要があります。
1 10.0.0.254
2 some-iother-ip.first-isp.com
...
x 8.8.8.8
Traceroute_oth --nexthop 10.1.0.254 8.8.8.8 は以下を提供しなければなりません。
1 10.1.0.254
2 some-ip.second-isp.com
...
x 8.8.8.8
編集:ルーターが他のゲートウェイについて知らないため、「traceroute -i」は機能しません。デフォルトでは、ルーティングテーブルは次のとおりです(単純化)。
0.0.0.0/0 gw 10.0.0.254 eth0
明示的に指定しないと、プログラムは他のISPに接続されているeth1のデフォルトゲートウェイが何であるかを知りません。
ベストアンサー1
マニュアルページを読みましたか?
-i interface, --interface=interface
Specifies the interface through which traceroute should send
packets. By default, the interface is selected according to the
routing table.