我正在使用 NetworkManager (Gnome) 来处理我的所有网络连接。我正在使用 OpenVPN 连接到 VPN。我的防火墙 (nftables) 会丢弃 tun0 接口之外的所有流量。
现在我想通过 ssh 连接到服务器(具有静态 IP),但在 VPN 隧道之外,所以我想告诉我的机器:对于到此 IP 的每个连接,不要使用 VPN,而是直接连接。
到目前为止我所做的:允许连接到防火墙中的服务器。
我真正无法弄清楚的是:如何使我的机器正确连接到 VPN“外部”的服务器?我已经尝试阅读这个问题,我找到的答案是路由,所以我应该通过不同的网络接口为所有到服务器的流量创建一条路由,而不是让这些包通过 tun0 ,它们应该经过 wlp2s0 或 enp1s0,具体取决于我在给定时刻的连接方式。
所以我做了例如
ip route add IP-ADDRESS dev wlp2s0
这似乎暂时有效(但我什至不知道是否应该)。我不确定这是否是正确的方法。如果这是正确的想法,我想对其进行配置,以便“自动”完成此路由 - 因此每当我的网络连接发生变化(例如我从 WiFi 切换到有线连接)时,我希望路由仍然是那里。我该如何正确地做到这一点?
我的系统(不确定这是否相关)是 Archlinux,安装了所有最新的软件包。
我想要这样做的原因是因为我想要连接的服务器阻止了来自我的 VPN 提供商的所有 IP。不过,我确实信任该服务器,因此我不需要使用 VPN 来连接到该服务器。