我目前在 Linux 上使用“strongSwan”ipsec VPN 客户端。
我可以连接到我的 VPN 服务器,默认路由自动设置为 10.10.10.1。
我可以通过以下方式访问我的本地网络ip route add 192.168.7.0/24 dev ens33
ip route list
输出:
默认通过 192.168.7.1 dev ens33 proto static src 10.10.10.1
172.17.0.0/16 dev docker0 scope link
192.168.7.0/24 dev ens33 scope link
一切顺利!
但!
现在我需要从“我的真实 IP”连接到另一台服务器,而不是 VPN 服务器。
(例如服务器 IP1.2.3.4
地址为)
我可以ping 1.2.3.4
忍受 300ms 的延迟,但由于 IP 错误而无法连接。
没有连接 VPN,ping 时间将是 2~6ms。
1.2.3.4
问题:默认路由设置为VPN,如何指定路由到
我尝试过ip route add 1.2.3.4 dev ens33
但失败了,提示“目标主机无法访问”
答案1
ip route add 1.2.3.4 via 192.168.7.1 dev ens33
如果需要,请192.168.7.1
用正确的互联网网关路由器 IP 地址替换(如果不是,192.168.7.1
则可能是192.168.7.254
答案2
我真的不明白您是否需要通过 VPN 或直接连接到 1.2.3.4。如果您需要通过 VPN 连接,我担心如果您无权配置 VPN 服务器和/或 1.2.3.4 服务器,则可能无法实现。因为您需要设置反向路由才能使其工作。VPN 和 1.2.3.4 服务器都需要知道如何通过 VPN 链接返回到您。如果您的路由不对称,则数据包很可能会丢失,因为 1.2.3.4 不知道如何路由到 10.10.10.0/24 网络。
但是,如果您不介意直接连接(不使用 VPN 和加密)到 1.2.3.4,则可以添加一条路由,以便直接通过 Internet 连接进行连接,而无需 VPN。请务必记录您的默认网关前使用命令连接到 VPN ip route
。例如:
default via 123.123.123.123 dev eth1
所以后连接到VPN你可以添加路由:
ip route add 1.2.3.4 via 123.123.123.123 dev eth1
这将直接添加到 1.2.3.4 的路由,无需 VPN。