我一直在通过“route add”和“route del”来操作Linux路由表。现在给出一个IP,我怎么知道(通过输入一些命令)它将通过哪个网关/设备?
例如,如果我已经运行:
route add -net 192.57.66.0 netmask 255.255.255.0 dev eth0
是否有一个命令可以告诉我,如果我访问192.57.66.42,它将通过eth0?
答案 0 :(得分:12)
你应该停止使用网络工具,因为你在那里找不到答案。但对于iproute:
ip route add 192.57.66.0/24 dev eth0
ip route get 192.57.66.42
答案 1 :(得分:3)
netstat -rn
当您键入此命令时,系统将打印一个表:
内核IP路由表
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
现在您需要做的就是了解哪些数据包将通过eth0
正在使用“longest prefix match”主体。