これはUNIX環境です。ホストに複数のルートがあります( 'ip route show'コマンドで表示されます)。アドレスをpingしている場合、どのゲートウェイがトラフィックのルーティングに使用されているのかを確認するにはどうすればよいですか。
Tracerouteコマンドを使用してみましたが、直接のゲートウェイは表示されません。
下の出力から、10.58.227.1が私のデフォルトゲートウェイです。
# ip r l
10.58.227.0/24 dev front_eth1 proto kernel scope link src 10.58.227.231
169.254.0.0/17 dev bond0 proto kernel scope link src 169.254.0.4
default via 10.58.227.1 dev front_eth1 proto gated
外部アドレスにtracerouteを実行すると、使用されているゲートウェイ(デフォルトゲートウェイ10.58.227.1)が出力に表示されません。
# traceroute -n -I 10.63.21.118
traceroute to 10.63.21.118 (10.63.21.118), 30 Hops max, 40 byte packets
1 10.58.112.1 0.507 ms 1.008 ms 1.017 ms
2 10.63.21.118 0.228 ms 0.233 ms 0.234 ms
Tracerouteコマンドと同じ情報を表示するためのオプションはありますか?ルーティングに使用されるゲートウェイを含みますか?
ip route get <address>
コマンドを使用して、指定されたアドレスにパケットを送信するために使用する経路をカーネルに報告するように依頼できます。
$ ip route get 4.2.2.1
4.2.2.1 via 192.168.0.1 dev eth0 src 192.168.0.121
cache
$
私のデフォルトルートは192.168.0.1
です。デフォルトルートを経由しないアドレスを要求した場合
$ ip route get 192.168.0.116
192.168.0.116 dev eth0 src 192.168.0.121
cache
$