我正在尝试让我的一个朋友访问我为他开发的网站。我在一台 Ubuntu 16.04 台式机上运行 Flask (python) 网络服务器,并且我正在使用沃达丰 R216-Z 4G WiFi路由器。他(我的朋友)正在使用 Android 智能手机。
从这个答案,我了解到我可以通过 ssh 为网站提供服务,所以我安装了openssh
。此外,在同一个答案中,我被告知从路由器转发端口 22。我不确定如何执行此操作以及后续步骤。
我偶然发现了路由器的“NAT设置”会话,该会话(根据这次讨论) 允许我转发端口 22。但我不知道要输入什么作为“目标 IP”。我尝试使用ifconfig
从终端启动命令时找到的 ip(据我所知这是我的私有 IP),并将端口 22 作为源端口和目标端口。
然后我在手机上下载了一个 ssh 客户端,并尝试将其配置为与“服务器 IP”相同的 IP 地址、在终端会话中找到的用户名(@ 符号后)和端口 22。什么也没发生。
我不知道现在该做什么:
- 我应该从终端(服务器端)输入什么作为 ssh 命令来“启动”该服务(如果它尚未启动)?
- 我是否需要使用我的私有 IP 或公共 IP(我在谷歌上找到的,但它也显示“它可以被代理隐藏,也可以是路由器的 IP”)?
编辑1
以下是以下情况汤姆·尤斯建议。
我在我的 Ubuntu 桌面上设置了一个静态 IP,现在它是 192.168.0.100。
然后,我按照建议如下图所示设置路由器的 NAT 设置。
现在,当我启动 Flask 网络服务器时,我可以通过执行 来从自己的笔记本电脑上按预期看到页面localhost:5000
,但我无法从连接到同一网络的另一台设备上看到它192.168.0.100:5000
(在设置静态 IP 之前它可以工作,但 IP 显然不同)。奇怪的是,我可以从网络服务器调试器中看到该设备正在尝试连接,但它收到 404 状态。
另外,当尝试从不在我的本地网络中的设备访问同一页面(我的最终目标)时,我插入在类似的 URL(不带端口)中找到的 IP www.whatismyip.com
,但浏览器说无法显示该页面。
再提供一条信息,如果有意义的话:我的路由器设置为启用 DHCP,我需要停用它吗?再次感谢您的帮助!
答案1
我不确定为什么 SSH 答案,但我认为这可以用一种更简单的方式来完成:
在路由器中找到 NAT 设置(不是 NAS!),有时也称为端口转发。按如下方式设置:
您的桌面(目标)的 IP 和端口 80
源端口 80
接下来,访问 www.whatismyip.com 找到路由器的公共 IP,并将其提供给您的朋友。
您可以测试一切是否正常,首先在您自己的浏览器中输入您的桌面的 IP - 您应该可以访问该网站,接下来输入上一步中找到的您的路由器的 IP,您应该可以再次访问该网站。
针对您的特定路由器的完整指南是这里