作成したゲートウェイをテストしようとしています(コンテキストについては、ゲートウェイをテストする最も簡単な方法は何ですか?を参照してください)。入りたくない問題があるため、ゲートウェイと「送信者」は同じマシン上にある必要があります。ゲートウェイが到達できるレシーバー(たとえば9.9.9.9)があります。
そこで./sendStuff 9.9.9.9
、そのIPアドレスにいくつかのパケットを送信するアプリケーションを実行します。
問題は、9.9.9.9宛てのパケットをローカルホストのゲートウェイに送るにはどうすればよいですか?私はもう試した:
sudo route add -host 9.9.9.9 gw 127.0.0.1 lo
sudo route add -host 9.9.9.9 gw <machine's external IP address> eth0
しかし、どちらもゲートウェイを介してパケットを渡しません。に正しいIPが存在することを確認しましたsudo route
。私に何ができる?
リクエストごとに、2番目のコマンドを実行した後のルートテーブルを次に示します(質問に一致するようにIPアドレスを変更しました。xyztはこれを実行しているマシンのIPです):
Destination Gateway Genmask Flags Metric Ref Use Iface
9.9.9.9 x.y.z.t 255.255.255.255 UGH 0 0 0 eth0
x.y.z.0 0.0.0.0 255.255.254.0 U 0 0 0 eth0
0.0.0.0 <gateway addr> 0.0.0.0 UG 100 0 0 eth0