>我想绕过路由表,通过特定的网络接口发送数据包(icmp 或其他)。
上下文:我通过多个接口连接到各种终结点。如果我向他们添加路由,他们中的一些人能够将我的流量路由到互联网。我不想触摸路由表(因为它是一项全局系统功能,并且出于速度原因,我正在并行测试设备)。
最初,我认为一个简单的ping -I DEVICE -r ANY_IP_ONINTERNET
就可以了。但它没有:数据包没有像我预期的那样发送到选定的设备,并且命令失败...... 另一端的tcpdump
没有捕获任何数据包:尽管我发出了明确的命令,但数据包似乎甚至没有首先发送到接口。
当我在ping之前添加路由时,一切都按预期工作。但我想避免这种情况...然后,不再需要-I DEVICE -r
。
- 有人可以解释为什么它不起作用吗?
- 在什么情况下,使用
-I DEVICE
或-r
实际上有效并且有用?
注意:我正在使用具有tapX
和tunX
设备的不同VPN进行测试。
编辑:我尝试使用/不使用-r
和使用-I DEVICE
或-I IP_ADDR_DEVICE
的组合。没有更多的成功。
我建议将选项-I
与设备的IP地址一起使用。