ADSL 路由器 - 内部访问外部 IP

ADSL 路由器 - 内部访问外部 IP

当我使用托管在另一台服务器上的 DNS 进行访问时遇到问题,该 DNS 会重定向到我的内部网络。

例子:

用户尝试访问内部 DNS:intranet.site.com:8090 (182.12.1.1:8090> 192.168.1.151:80)

我的路由器不允许访问。

我尝试过 NAT,但没有成功...

用iptables可是我公司这里直接就是ADSL Router坏了!

答案1

你的问题的主题使你遇到的问题看起来很明显,但问题本身却很不清楚......所以我不完全确定我是否回答了正确的问题。

听起来您已将 DNS 设置为返回站点的外部 IP,并且当从网络外部访问时,它可以通过调制解调器+路由器的 NAT(PAT)配置正常运行,但是当从内部访问时,内部机器无法以相同的方式访问服务器。

根据我的经验,相当多的消费级(以及一些更复杂的)路由器不理解这样的概念:发送到外部 IP 端口的内部请求是需要通过路由器“发夹”回去,然后重新回到网络中。

因此,您的问题的答案可能是“您无法使用现有的设备做到这一点。”

不过,您可以通过几种方法解决这个问题。

我在家里使用的路由器是旧的 Westell 路由器。配置 > 高级 LAN > DNS 将我带到一个名为“静态主机分配”的屏幕,我可以输入任何主机名(真实的或虚假的)以及我想要与该主机名关联的 IP 地址。我的内部机器使用路由器作为它们的 DNS 服务器 - 它将请求代理到 ISP 的 DNS 服务器 - 但对于我在此表中输入的条目,我输入的地址是当我的内部机器尝试访问其中一个主机时返回到它们的地址。

例如,如果我在 DSL 调制解调器/路由器中输入“google.com”->“192.168.1.2”,那么每当有人输入“google.com”时,我内部网络中的任何计算机都会尝试连接到 192.168.1.2 的服务器。

如果您的路由器具有类似的功能,您可以将内部服务器的主机名和地址放入路由器的 DNS 设置中,内部机器将解析该内部地址。当然,这不会帮助您进行端口映射...我不确定您所说的 8090 -> 80 是什么意思。内部机器将直接连接到另一台内部机器,因此如果您尝试转换端口,就不会发生这种情况。

或者,如果您的机器不使用路由器作为 DNS 服务器,并且您有一个内部 DNS 服务器,则可以使用那里的静态条目来解决这个问题。或者,您可以设置一个内部 DNS 服务器,然后重新阅读上一句话。:)

另一个选项是在您的个人机器上的/etc/hostsC:\Windows\System32\Drivers\etc\hosts文件中设置静态条目。 hosts 文件会覆盖 DNS,允许您为某些主机名设置静态 IP 地址。当然,这种方法的扩展性不是很好,但这也是一种可行的方法。我使用这种方法一段时间后,才发现我的 DSL 路由器配置中隐藏着一个意想不到的选项。

相关内容