无法使用公共 IP 地址从同一 LAN 上的主机连接到 NAT 服务器

无法使用公共 IP 地址从同一 LAN 上的主机连接到 NAT 服务器

我有一台使用已注册 IP 地址进行静态 NAT 的服务器,可以从外部访问。问题是,我无法使用已注册 IP 地址从内部访问我的服务器,因为主机与我的服务器连接在同一个 LAN 上。

我尝试停用 ACL 和 CBAC,也尝试创建一些路由图,但就是无法让它发挥作用。

我是思科的新手,现在我开始认为这可能是一种想要的行为,所以我需要知道使用公共地址从我的 NAT 服务器上的同一个 LAN 进行连接是否可行,但这也是一个坏主意。

谢谢。

PS:我使用私有地址连接服务器没有任何问题。

答案1

请记住,当你的防火墙/路由器/其他设备正在执行 NAT 时,具有公共 IP 的内部设备会通过 NAT 连接到它对 NAT 地址一无所知

所以,为了使其正常工作,您的数据包必须离开内部 LAN,传出到外部网络,然后通过防火墙/路由器/任何进行 NAT 的设备返回,最后交给内部设备(同样,内部设备通常对 NAT 一无所知)。

有一些可行的解决方法(alias如果您使用 Cisco,请参阅 Cisco 命令),但一般来说,这并不是您真正想要做的事情。

这就是为什么大多数包含内部主机和外部可访问(公共)主机的网络将为内部和外部主机维护单独的 DNS 服务器。您可以设置外部 DNS 服务器,以便 www.example.com 指向您的外部 IP,并设置内部 DNS 服务器,以便 www.example.com 指向您的内部 IP。如果您使用 BIND,那么views这很容易做到。

答案2

您需要使用“别名”命令才能使其工作。

看:http://www.cisco.com/en/US/products/hw/vpndevc/ps2030/products_tech_note09186a0080094aee.shtml

注意!:ASDM 确实不是支持此命令,您必须通过 CLI 执行此操作。

答案3

这个答案更清楚为什么它不起作用。


这是标准行为。防火墙将网络地址转换理解为跨网络接口,并且通常根据流量方向进行配置。换句话说,防火墙配置为将入站流量转换为在外部接口接收的地址,并将其发送。

保斯卡著名的如果需要,您可以采用一种方式来实现这一点。我们在这里所做的是通过名称进行访问,并让内部 DNS 提供服务器的内部地址,而外部 DNS 提供外部地址。

相关内容