通过 OpenVPN 使用 NordVPN 服务器连接到 VPN 服务器后,如何允许 SSH 进入终端?

通过 OpenVPN 使用 NordVPN 服务器连接到 VPN 服务器后,如何允许 SSH 进入终端?

我使用的是 Linux CentOS 7 服务器,并且已经安装了 OpenVPN 和 NordVPN 服务器,我用它们来连接我的 Linux。

建立 VPN 连接后,我的 SSH 访问立即断开。

如何在连接到 VPN Server 时允许 SSH 访问服务器?以及如何让它在服务器重新启动时工作?

我在我的设置中使用了本教程:https://nordvpn.com/tutorials/linux/openvpn/

答案1

使用 NordVPN Linux 客户端时,iptables用于更改流量而不是修改路由。为了允许SSH通过,需要将SSH端口列入白名单。

nordvpn whitelist add port 22

答案2

我能够通过以下方式找到问题的解决方案:

当您通过公共 IP 地址连接到服务器时,返回数据包将通过 VPN 进行路由。您需要强制这些数据包通过公共 eth0 接口路由。这些路由命令应该可以解决问题:

ip rule add from x.x.x.x table 128
ip route add table 128 to y.y.y.y/y dev eth0
ip route add table 128 default via z.z.z.z

其中 xxxx 是您的服务器公共 IP,yyyy/y 应该是您的服务器公共 IP 地址的子网,eth0 应该是您的服务器公共以太网接口,zzzz 应该是默认网关。

答案3

++αԋɱҽԃ αмєяιcαη的回答:

ip rule add from x.x.x.x table 128
ip route add table 128 to y.y.y.y/y dev eth0
ip route add table 128 default via z.z.z.z

如何计算x.x.x.x(公共IP):

curl ifconfig.me

如何找出y.y.y.y(子网掩码)和z.z.z.z(本地IP)...

  1. 安装net-tools以便您可以使用ifconfig
sudo apt-get install net-tools

  1. 打印出您的IP信息:
sudo ifconfig | grep -i mask

输出示例:

ifconfig 输出


  1. 确定您的子网掩码(即255.255.255.0-> 255.255.255.0/24子网掩码

  1. 把它们放在一起: 示例命令

相关内容