添加本地网络路由以绕过 VPN 不起作用

添加本地网络路由以绕过 VPN 不起作用

我正在使用 VPN,它使用位掩码创建隧道。我想访问我的本地网络,因此使用以下命令添加了一条路由ip route add

ip route add 172.16.0.0/16 via 172.16.46.1

我使用在另一个 Stackexchange 答案中找到的网关获取了该网关ip route show | grep default。但是,这不起作用。我也指定了设备,但也没有用。

这是输出ip route show

0.0.0.0/1 via 10.41.0.1 dev tun1 
default via 172.16.46.1 dev enp3s0 proto dhcp metric 20100 
10.41.0.0/21 dev tun1 proto kernel scope link src 10.41.0.89 
10.41.0.0/21 dev tun0 proto kernel scope link src 10.41.0.37 
37.218.241.7 via 172.16.46.1 dev enp3s0 
128.0.0.0/1 via 10.41.0.1 dev tun1 
169.254.0.0/16 dev enp3s0 scope link metric 1000 
172.16.0.0/16 via 172.16.46.1 dev enp3s0 
172.16.46.0/23 dev enp3s0 proto kernel scope link src 172.16.46.104 metric 100 
198.252.153.28 via 172.16.46.1 dev enp3s0 
212.83.143.67 via 172.16.46.1 dev enp3s0 

我的路由似乎确实被添加到了路由表中。但是,我仍然无法访问本地网络中的网站,也无法 ping 通它们。route add 172.16.0.0 MASK 255.255.0.0 172.16.46.1在 Windows 上执行类似操作 ( ) 效果很好。

输出的路由顺序是否ip route show会影响最终选择的路由?默认路由 (0.0.0.0) 通过 tun1,这是 VPN 软件创建的接口。会首先选择该路由吗?我做错了什么?

谢谢。

答案1

如何通过两个步骤解决您的问题:

  1. 使用 检查到站点 IP 地址的实际路由ip route get <dst-ip>

  2. 运行tcpdump -ni enp3s0 'ip host <site-ip>'并检查流量。运行 ping 时,您应该会看到传出的 ICMP 回显请求。如果看到它们,您应该检查远程端 - 问题出在其他地方,而不是您的主机上。在 Windows 上运行 wireshark,然后比较结果。

相关内容