无法通过VPN连接SSH到服务器


12

我知道这很混乱。让我解释一下。

我在路由器上设置了动态DNS。我验证了端口转发后,我可以连接到所需的应用程序(如果我在端口1337上运行某些程序并将该端口转发到适当的机器,则可以从外部毫无问题地连接到它)。

现在,如果我将Macbook连接到VPN并如上所述运行某些程序,它将按预期工作。但是,如果我将运行Ubuntu Server 16.04的计算机连接到VPN并运行某些内容或想通过ssh连接,则它将失败。我在路由器上转发了用于SSH连接的端口。我还尝试托管Web服务器,但也失败了。

该问题我该怎么办?这对我来说没有意义。

关于Ubuntu Server机器:这是一个全新安装的操作系统,配置了openvpn客户端和ssh服务器,不运行防火墙,不编辑iptables,通过以太网连接到路由器。

编辑:这是路由表:http : //pastebin.com/ay6fpLcL


有和没有VPN的路由表有什么区别(仅适用于IPv4,ip -4 r在Ubuntu,netstat -f inet -rnMac上)?
user4556274 '17

@ user4556274表格如下:pastebin.com/ay6fpLcL
Krzysztof Kraszewski

Answers:


9

好的,我设法找到了解决方案。

使用openvpn没有任何包装的包装:

将这两行添加到.ovpn文件中(或者.conf如果您正在自动连接):

script-security 2
up /etc/openvpn/up.sh

然后,/etc/openvpn/up.sh以可执行权限创建(755/700):

#!/bin/sh
ip rule add from <your-server-ip> table 128
ip route add table 128 to <your-server-subnet> dev <your-interface>
ip route add table 128 default via <server-gateway>

例如,这是我的配置:

#!/bin/sh
ip rule add from 192.168.1.26 table 128
ip route add table 128 to 192.168.1.0/24 dev eno1
ip route add table 128 default via 192.168.1.1

使用不同的VPN客户端/不同的配置:

我无法预测所需的步骤,但是通常您up.sh每次建立VPN连接时都需要运行脚本(上述)。

希望它可以帮助遇到同样问题的人。干杯!


我在Ubuntu 18.04上使用NordVPN。使用此脚本之前的openvpn可以正常工作。但是,使用nordvpn二进制文件进行连接无法完成上述操作。
ma3oun19年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.