无法通过端口转发访问华为路由器后面的 Ubuntu 服务器

无法通过端口转发访问华为路由器后面的 Ubuntu 服务器

我安装了 Ubuntu 12.10 服务器,并且从我的 ISP 那里获得了一个静态 IP。ping IP 成功。我还有一个华为 Echo-Life HG-521 调制解调器。我按照以下说明设置了端口转发本网站。我也和华为的人核实过这个问题。问题是当我在浏览器中输入我的静态 IP 时,我总是卡在调制解调器/路由器登录界面。

转到分配给我的 Ubuntu 服务器的 IP 地址(在我的网络上),我可以看到 nginx 正确地提供页面。另一件事是,只有通过我的本地网络才能获取我的调制解调器/路由器接口。我让一个朋友尝试我的静态 IP,但他说他得到的是一个空白页。我认为这意味着网关无法从外部世界访问。

知道为什么我会遇到这个问题吗?我该如何解决这个问题?

答案1

您永远不会说要将哪个外部端口转发到 Ubuntu 服务器,也永远不会说您的 Ubuntu Web 服务器在哪个端口上运行。对于这两种情况,我假设端口80和/或。443

尽管有端口转发规则,调制解调器的 Web 管理页面仍可能停留在端口上80,并在转发规则生效之前拦截流量。我在低端路由器和调制解调器中看到过这种情况。您可能需要将调制解调器的管理端口更改为除端口以外的其他端口80。端口8080是一种流行的替代方案。

答案2

您有两个不同的问题。我将逐一解决。

为了方便阅读,我们做一些假设

Router external IP : xxx.xxx.xxx.xxx
Router internal IP : 192.168.0.1
Server IP          : 192.168.0.10
Your Desktop IP    : 192.168.0.100

问题 1 - 通过路由器端口转发访问内部站点

这不仅是家庭办公室设置的常见问题,也是许多中小型办公室的常见问题。

在这种情况下,端口 80(用于 Web 流量)应该从路由器转发到 192.168.0.10。但是,由于路由器配置 Web 界面也在端口 80 上。这会产生冲突。

第一步是登录路由器界面,并将界面更改为使用另一个端口,例如 8000。

这将消除路由器内部接口的端口 80 冲突。您应该(不是 100%)能够通过路由器内部 IP 访问您的服务器(http://192.168.0.1或者http://xxx.xxx.xxx.xxx)。

这是假设您的端口转发规则正确且有效。

PS:即使正确设置了端口转发,您仍然无法通过路由器从内部网络访问服务器,这种可能性很小。在这种情况下,路由器缺少端口反射,或者需要额外配置才能实现端口反射。希望您不会遇到这种情况。

问题 2 - 端口转发和外部访问

从外部 Ping 失败可能不是真正的问题,因为许多路由器/调制解调器默认设置为忽略 Ping。这可以从 Web 界面进行更改。

无法从外部 IP 访问你的 Web 服务器有多种可能性

  • 外部 IP 错误。要进行快速验证,请从内部桌面转到http://whatismyip.com
  • 由于问题 1,端口转发规则处于非活动状态
  • 端口转发规则未设置或设置错误。请在路由器 Web 界面中检查规则。

PS:如果您需要通过 Web 界面进行配置的帮助或指示,请使用路由器型号更新问题。

配置端口转发

我查看了 OP 的 portforward.com 链接。还有官方手册。因为后者根本没有关于端口转发的信息。我不得不依靠网站上的屏幕截图。

端口转发配置如下

Type: Customization
Interface: <See (1) below>
Remote Host: <I believe it should be leave empty>
External Start Port: 80
External End Port: 80
Internal Host: 192.168.0.10
Internal Port: 80
Mapping Name: Seerver-Ext80

(1) 我认为每个接口(内部/外部)都需要一条规则。如有疑问,请使用接口名称列表更新问题。

相关内容