可以访问我的网络服务器...但在我的内联网内除外

可以访问我的网络服务器...但在我的内联网内除外

这是路由器的问题吗?

我有一个TP-LINK TD-W8960N 无线路由器。今天我在家里的一台 ubuntu 12.04 机器上设置了一个 apache2 网络服务器。我让路由器将端口 8041 上的 TCP 数据包转发到 ubuntu 机器端口 8041,让 apache 在端口 8041 上监听,我给路由器的 IP 地址指定了一个域名,比如说“example.com”,我希望一切都能正常工作。

但事实并非如此相当http://example.com:8041工作正常。如果我从不在我的内联网中的计算机访问,它工作正常。在我的内联网中,我也可以使用访问 Web 服务器http://192.168.1.25:8041,其中 192.168.1.25 是我的路由器为 ubuntu Web 服务器提供的本地 IP 地址。

但是,如果我从内部网中的计算机访问http://example.com:8041,它就不起作用:我收到“无法连接”错误 :-/

我尝试将所有内容移至端口 80。端口 80 是我的路由器使用的端口,因此我将路由器的端口更改为 8080,并通过端口 80 在所有地方运行 apache。这次它在内联网外部工作正常,在内联网中工作http://192.168.1.25正常,但http://example.com将我带到路由器登录页面,尽管路由器声称正在监听端口 8080 :-/

谷歌搜索带我到了 —— 那个人似乎遇到了和我完全一样的问题,但没有得到答案(但也许他把它发布在了错误的地方)。

这是路由器的作用吗?我真的很想能够使用正确的外部地址在本地访问网页(这样我就可以编写既可以在我的内联网上也可以在外联网的机器上运行的脚本;目前我没有一个可以在我可以访问的每台计算机上运行的选项,包括我工作时不在我的内联网上的计算机)。

答案1

你的路由器无法发夹型NAT,又称“环回NAT”等等。

解决方案通常是购买更好的路由器,或者尝试使用第三方售后嵌入式 Linux 固件发行版(如 DD-WRT)使您的路由器变得更好。

Apple 一直非常擅长让其 AirPort 基站固件始终支持发夹式 NAT。我没有经验证明其他品牌也支持发夹式 NAT。

相关内容