从网络内部访问外部IP?

从网络内部访问外部IP?

sub.example.com我已经在域名提供商的 DNS 记录中设置了一个子域名,并将其链接到我的外部的IP。然后我将路由器(Sitecom 宽带路由器 54G)中的端口 80 转发到网络中我的计算机的 IP。现在我可以使用子域从外部访问计算机上的 Apache 服务器。

但从里面网络,我无法访问子域。我猜这与我无法从网络内部访问外部 IP 有关,路由器似乎阻止了这些请求。

我不想使用内部 IP,因为在所有情况下使用子域名都更容易设置(我在网络内外都使用笔记本电脑)。我也不想更改文件hosts,因为我猜这在网络内外都行不通。

有什么办法可以解决这个问题,还是我应该买一个新的路由器?

答案1

最多苏荷路由器不支持发夹型NAT(又名NAT 环回),即在同一个局域网内,通过外部IP访问内部的机器。

您需要更好的路由器。如果您的路由器支持第三方DD-WRT固件,你可能想尝试一下。要在 DD-WRT 中配置发夹 NAT,你可以参考其他 SU 问题,例如:

DD-WRT:如何允许端口转发应用于来自 LAN 内部的请求?

答案2

已经有一个答案解释了为什么它不起作用,但有两个解决方案。另一个答案只提到了一个,所以这个答案是为了给你提供一个替代方案。

确实,您需要的是 NAT 发夹技术,但您的路由器似乎不支持此功能。

除了将路由器更换为支持它的路由器之外,您还可以在网络中设置 DNS 服务器。这可以位于服务器上,但您也可以下载 DNS 服务器程序并在本地运行。在路由器中,对于 DNS 服务器,您可以配置运行此 DNS 服务器的计算机/服务器的 IP 地址,并在 DNS 服务器中为您的 FQDN(域)添加手动条目(例如,sub.example.com将其指向internalIP 地址)。

使用这个新 DNS 服务器的每个人都可以再次访问网站,但您将无法检测到在线部分的问题。然而,在现实世界中,公司就是这样做的。他们有一个运行 DNS 服务器的内部服务器,他们用于内部事务的域是在 DNS 服务器上配置的。

相关内容