使用外部ip访问内部服务器

使用外部ip访问内部服务器

如果我有一个典型的家用路由器(例如 Net Gear),其中某些端口转发到内部服务器,是否有办法调整路由器,让我使用同一网络内的外部 IP 地址访问该内部服务器?是否有可以处理此类事情的非企业级路由器?

如果措辞很奇怪,让我用一个例子重新表述一下。

我的外部 IP 是 1.2.3.4。我的内部服务器是 10.4.3.100,端口 1178 正在从路由器转发到 10.4.3.100。

我希望能够使用外部 IP 1.2.3.4 从内部 IP 10.4.3.10 访问 10.4.3.100。可以吗?

答案1

这被称为发夹弯 (hairpinning),虽然一些家用路由器可以做到这一点,但这种情况很少见 - 这是有待研究的问题。

使用拆分 DNS 通常是解决此类问题的更好方法。通常,当需要从网络内部访问公共 IP 地址时,是因为有设备需要从网络外部和内部访问内部资源。它配置为在外部时使用公共地址,但随后需要重新配置为在内部时使用私有地址。

使用拆分 DNS 可以解决此问题,方法是对外部地址使用公共 DNS 服务,然后运行为同一 DNS 条目提供内部 IP 地址服务的内部 DNS 服务器。

假设您的 1.2.3.4 IP 地址的 DNS 名称为myserver.domain.com,该名称在您的网络外部有效。然后,您可以在内部网络(可能在服务器上)上安装转发 DNS 服务器10.4.3.100。它将有一个区域文件myserver.domain.com,将地址解析myserver.domain.com10.4.3.100。将其设置为较低的 TTL,以便它不会被长时间缓存。

您将使用内部 DNS 服务器在您的网络内进行任何名称解析,并将任何无法自行解析的请求转发给您的 ISP。

然后,您可以将任何应用程序配置为不使用1.2.3.4而是使用myserver.domain.com,它们将在网络内部和外部运行。

答案2

该功能有多个名称,其中包括“NAT 发夹”和“NAT 反射”等。

不幸的是,太多的消费级家庭网关在其工厂固件映像中不支持它。

确保您拥有制造商提供的最新固件,查看是否有可以打开的类似名称的选项,如果没有,请考虑在路由器上安装售后第三方/开源固件,或购买支持该固件的更高质量的路由器。

答案3

简单方法-您的服务器需要通过端口转发通过防火墙或路由器进行配置-

  1. 您需要公共 IP 地址才能实现此目的。

相关内容