我在 OpenVPN 网络中有一个机器网络。我可以从本地机器连接到该网络,没有任何问题:
openvpn --config ./myconfig.ovpn --auth-user-pass ./mycredentials
问题是我正尝试将另一台远程机器(基于云的 VPS)作为客户端连接。在 VPS 上使用相同的配置文件和凭据将不起作用。
基本上,机器会冻结。我当前的 shell 会话停止响应。我唯一的解决方法是重启机器。更糟糕的是,如果我将其作为服务运行(service openvpn start
带有配置文件/etc/openvpn
),我根本无法回到机器。即使重启后也是如此。
也许正在建立连接,它正在切断我的 SSH?我真的不确定。但我真正需要弄清楚的是如何将 VPS 设置为我的 VPN 的客户端,同时仍然能够控制该机器。
答案1
因此,经过大量工作后...我发现我确实可以进入机器(尽管不是通过 SSH)。当我关闭 openvpn 时,我能够像往常一样通过 SSH 重新登录。怀疑得到了证实。
那么,问题就变成了:如何通过 SSH 进入 OpenVPN 客户端?
对于遇到此问题的其他任何人,我也在这里提供解决方案:
ip rule add from x.x.x.x table 128
ip route add table 128 to y.y.y.y/y dev ethX
ip route add table 128 default via z.z.z.z
其中 xxxx 是您的公共 IP,yyyy/y 应该是您的公共 IP 地址的子网,ethX 应该是您的公共以太网接口,zzzz 应该是默认网关。