如何在我的 LAN 之外访问 openvpn

如何在我的 LAN 之外访问 openvpn

我刚刚在运行 ubuntu server 18.04 LTS 的机器上安装了 OpenVpn。我用 nmap 扫描了我的端口,似乎是我的 ISP 过滤了所有端口,所以我无法进行端口转发。有没有办法在不进行端口转发的情况下在我的 LAN 之外访问 OpenVpn。

答案1

您需要从公共 IP 地址转发端口。没有其他方法可以从外部连接。与您的 ISP 讨论端口转发问题。一些 ISP 免费提供端口转发,而额外的公共 IP 地址则需要付费。

答案2

我不相信你用来确定 ISP 的方法“过滤所有端口,因此您无法进行端口转发”。如果您尚未设置端口转发,则您的 IP 地址上不会打开任何端口,这并不一定意味着您的 ISP 正在执行任何操作。

要进行端口转发,您需要登录路由器(很可能由您的 ISP 提供),然后谷歌搜索“如何在 上设置端口转发<router name/make/model>”。例如,对于 SuperHub 3:

https://www.google.co.uk/search?q=How+to+set+up+port+forwarding+on+the+SuperHub+3

将哪些端口转发到 Ubuntu 18.04 服务器以访问 OpenVPN 取决于您如何设置 OpenVPN。如果您使用默认的 OpenVPN 服务器配置,则必须将 UDP 端口 1994 转发到 Ubuntu 18.04 服务器的 IP 地址。

你可以通过运行以下命令来查看 OpenVPN 正在运行的端口:

$ sudo ss -plntu
Netid   State     Recv-Q    Send-Q        Local Address:Port       Peer Address:Port                                                  
udp     UNCONN    21504     0             127.0.0.53%lo:53              0.0.0.0:*        users:(("systemd-resolve",pid=603,fd=12))    
udp     UNCONN    768       0                   0.0.0.0:1194            0.0.0.0:*        users:(("openvpn",pid=831,fd=7))             
tcp     LISTEN    0         128           127.0.0.53%lo:53              0.0.0.0:*        users:(("systemd-resolve",pid=603,fd=13))    
tcp     LISTEN    0         128                 0.0.0.0:22              0.0.0.0:*        users:(("sshd",pid=852,fd=3))                
tcp     LISTEN    0         128                    [::]:22                 [::]:*        users:(("sshd",pid=852,fd=4)) 

从上面可以看出,OpenVPN 正在使用 UDP 端口 1194(在这种特定情况下)。

答案3

您用来测试端口的方法并不表明它们被您的 ISP 阻止。

首先,附加一个应用程序来监听要测试的端口。您可以使用网猫来自存储库。

$ sudo apt install netcat

现在运行此命令来测试您要验证的端口是否未被 ISP 阻止。在此示例中,我将使用默认的openvpn port 1194

$ netcat -l 1194

有多种方法可以测试。你可以用手机测试这个网站的 IP 地址,关闭 wifi,这样你就可以从外面进入。

http://你的公共IP地址:1194

当您从网络访问它时,您将在网络浏览器查询它时在屏幕上看到活动。

您还可以使用以下网络工具开放端口检查

回答您想要检查的端口的提示,然后单击按钮Check Port

您可以使用此命令查看您已打开了哪些端口(您有服务连接到):

$ netstat -tulnp | grep "LISTEN"

输出将包含类似如下的内容:

(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
 tcp        0      0 0.0.0.0:1729            0.0.0.0:*               LISTEN      -
 tcp        1      0 0.0.0.0:1194            0.0.0.0:*               LISTEN      5454/netcat
 tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      -
 tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      -
 tcp        0      0 127.0.0.1:5037          0.0.0.0:*               LISTEN      3851/adb
 tcp        0      0 0.0.0.0:32400           0.0.0.0:*               LISTEN      -
 tcp        0      0 127.0.0.1:32401         0.0.0.0:*               LISTEN      -
 tcp        0      0 127.0.0.1:5556          0.0.0.0:*               LISTEN      4884/chrome

请务必使用路由器手册来进行正确的端口转发配置。

将所有流量定向到本地计算机 IP 的快速方法(用于快速测试...如果不加以处理,可能会造成严重的安全问题

暂时打开应用程序和游戏 DMZ。 然后运行上面描述的端口测试。

您可以使用这些选项从外部访问您的 LAN。如果这些选项失败,您必须与您的 ISP 沟通以解锁您想要使用的端口。

笔记:
这种情况可能时有发生,但我从未见过,也无法想象 ISP 会封锁通往其客户的所有端口。他们可能会封锁某些端口(如端口 25),以保护其客户免受病毒攻击。有些 ISP 还会封锁通常用于大流量文件共享(通常用于盗版软件)的端口。他们经常封锁端口 80,以防止其客户运行大流量 Web 服务器。我在评论中给了您错误的端口进行测试。

使用上述方法查找未阻塞的端口应该不会遇到任何问题。

相关内容