我安装了 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) 我认为每个接口(内部/外部)都需要一条规则。如有疑问,请使用接口名称列表更新问题。