我正在尝试测试我编写的网关(有关上下文,请参阅测试网关的最简单方法是什么?)。由于一个我不想进入的问题,网关和“发件人”必须在同一台机器上。我有一个网关可以访问的接收器(比如说 9.9.9.9)。
所以我将运行一个应用程序./sendStuff 9.9.9.9
,它将一些数据包发送到该 IP 地址。
问题是:如何让发往 9.9.9.9 的数据包到达 localhost 上的网关?我试过了:
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
. 我能做些什么?
根据请求,这是路由表,在运行第二个命令后(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