使用域名指向外部 IP 访问内部网络服务器

网络工程 纳特 域名解析
2021-07-06 14:24:44

我们的局域网上有一个网络服务器。在外部,我们可以使用公共域名(比方说 business.com)来访问该网站。在内部,我们需要使用本地 IP。我们还想在内部使用公共域名。

当我们使用公网域名时,它指向公网IP,无法访问。

以下是 cisco 路由器中的一些(我认为的)相关配置行。

     interface Vlan10
     ip address 192.9.200.253 255.255.255.0
     ip nat inside
     ip virtual-reassembly in
     ip tcp adjust-mss 1412
    !
    interface Vlan20
     ip address *external ip 1* 255.255.255.248
     ip nat outside
     ip virtual-reassembly in



ip domain name business.com
    ip host www.business.com. *external ip 1*
    ip name-server 8.8.8.8
    ip name-server 195.238.2.21
    ip name-server 4.4.4.4
    ip name-server 195.238.2.22


    ip dns server
    ip nat inside source list nat-list interface Vlan20 overload
    ip nat inside source static tcp 192.9.200.175 80 *external ip 1* 80 extendable

    ip route 0.0.0.0 0.0.0.0 *external ip 0*
    !
    ip access-list extended nat-list
     deny   ip 192.9.200.0 0.0.0.255 host 192.9.200.90
     deny   ip 192.9.200.0 0.0.0.255 host 192.9.200.94
     permit tcp any any
     permit udp any any
     permit icmp any any
     deny   ip 192.9.200.0 0.0.0.255 host 192.9.200.175

一些额外的信息:

VLAN10 = LAN 侧,VLAN20 = WAN 侧。

192.9.200.253 = 路由器 IP

192.9.200.175 = 网络服务器 IP

我试过改变

ip domain name cisco.business.com
        ip host www.business.com. *external ip 1*

ip domain name business.com
        ip host www.business.com. 192.9.200.175

但这并没有解决问题。

如果需要更多信息,请告诉我。

2个回答

根据防火墙类型,发夹可能会变得非常混乱。如果您的 LAN 客户端尝试访问公共 IP 地址(实际上是您的路由器的,而不是您的服务器的),则它们的会话将绑定到 Internet - 它们是由路由器进行 NAT 的源,然后急剧转向(“发夹”曲线)通过目标 NAT 规则又名端口转发,然后向内连接。

通常,这种两级NAT需要通过路由器的CPU而不是其硬件进行转发,因此在路由器资源方面成本很高,而且速度很慢因此,发夹通常需要显式激活,通常不推荐使用。许多设备甚至根本不支持它。

一个更简洁的解决方案是使用裂脑 DNS - 在内部 DNS 服务器上,您只需将服务器的名称解析为私有LAN IP 地址。这样,本地用户可以直接连接到内部服务器,而无需涉及防火墙。几乎总是这样,这要快得多,而且成本要低得多。

您需要确保每个客户端都将主机名解析为私有 IP 地址,即。使用带有裂脑设置的 DNS 服务器。如果没有可以为裂脑设置的 DNS 服务器,则可以使用本地主机文件中的条目来解决该问题(当然,这不容易扩展)。

如果在浏览器中点击url解析初始流量,检查一次域名是否正在解析,并检查路由器上的流量是否有流量。如果到达检查 sh ip nat 翻译,是否到达路由器。

确保目标端口正在侦听服务器。