强制环回流量退出接口

强制环回流量退出接口

以下是我想做的事情:

系统:Windows 10

VPN TUN NIC IP 为 10.2.3.4

我有一个在 10.2.3.4:567 上监听的服务,我想从同一台机器建立到此服务的连接。但是,我希望流量退出网络接口,而不是通过软件环回发送。基本上,我希望流量退出 VPN 适配器到达 VPN 服务器,然后路由回我。

答案1

这可能是一个坏主意,可能会以微妙的方式破坏事情,但从技术上来说应该是可行的。

首先,我们可以通过查看 Wireshark 来验证 Windows 是否不会将发往已配置 IP 的流量发送到本地系统之外。在我的系统上,我的 IP 是192.168.88.100,我的路由器/默认网关是。如果我在过滤 Wireshark 流量的同时192.168.88.1运行,则看不到返回任何结果。ping 192.168.88.100ip.dst == 192.168.88.100 && ip.proto == ICMP

Wireshark 输出

我们可以做的是添加一条路由,将系统中所有发往10.2.3.4VPN 网络默认网关的流量发送到该网关。打开管理员命令提示符并查看 的输出route print。很有可能,您会在路由表中看到类似以下内容:

192.168.88.100 255.255.255.255 On-link 192.168.88.100 281

这意味着所有发往 的流量192.168.88.100都将由 处理192.168.88.100。这就是我们的软件环回!数据包实际上从未离开接口,因此 Wireshark 看不到它们。

那么,如果我明确添加一条路由,说明发往 的流量192.168.88.100应由我的路由器处理,会发生什么情况192.168.88.1

命令是route add (destination) mask (netmask) (router)

所以我照做了route add 192.168.88.100 mask 255.255.255.255 192.168.88.1,并重试了我的 ping......

路由命令后的 Wireshark 输出

好了。现在流量明显到达了路由器192.168.88.1- 事实上,它用一个 ICMP 重定向数据包回复我的系统“嘿,这不是一个最佳路由”。

我们可以更加确定,因为尽管 IMCP 回复数据包的源和目标为192.168.88.100,但回复数据包上的 MAC 地址来自不同的 MAC:

Src: HewlettP_93:61:44 (ac:16:2d:93:61:44), Dst: ASUSTekC_68:58:db (2c:4d:54:68:58:db)(我的路由器有一个 HP NIC)。

因此,无论您在这里做什么,请弄清楚您的 VPN 连接的默认网关是什么,然后在命令中输入适当的 IP 地址route add

相关内容