我正在为 ASA 使用 Cisco ASDM
我的内部网络叫做 soa。我的外部接口称为外部。假设我的 ISP isp 给我的外部 IP 是 yyyy 我的网络中有一个 Web 服务器,静态 IP 为 xxx110。我已经配置了 2 个静态 nat 规则(一个用于 http,另一个用于 https)。
来源是xxx110。接口在外部,服务(http 或 https)。
也许我做错了,但是当我运行数据包跟踪器时,我选择了外部接口,对于源 IP,我使用了 8.8.8.8,目标 IP 是我的外部 IP 地址,yyyy
当我运行它时,它显示数据包遍历成功,使用 9 个步骤。
对于我的其他测试,我切换到 soa 界面,输入该网络上的 ip,并保持目的地不变。此测试包含 2 个步骤,然后在我的访问列表中失败。
当我看到失败的规则时,这是我的全部捕获来源:任何目标:任何,服务:ip 操作:拒绝。
我需要制定什么规则来允许我的 soa 网络访问出去并通过我的外部 IP 地址返回(当然,在我的 dns 中使用附加到该 ip 的域名)?
不确定 Cisco,但在 Linux 和 *BSD 上这不会工作。即使您尝试从内部网络连接到外部地址,数据包也永远不会通过外部接口,因为内核太聪明了,它注意到了自己的地址并消耗了数据包。由于数据包从不通过您的外部接口传输,因此端口转发的 NAT 规则从不适用。
阅读http://www.openbsd.org/faq/pf/rdr.html#reflect以获得一些(BSD 偏向)文档。
来自内部 LAN 的外部 NAT 查找不适用于 BSD 或 LINUX。然而,有一种方法可以欺骗 Cisco ASA,尽管最佳实践建议不得这样做。如果您绝对需要它,请使用它。Cisco ASA 8.0.x 的命令语法为:
通过 NAT 路由器通过公共 IP 地址访问内部服务器通常称为 NAT 反射。
大多数路由器,从您的基本家用路由器到 1000 美元以上的路由器都支持此功能。思科没有。
最好的解决方案是拆分 DNS - 您可以在其中设置一个内部 DNS 服务器,该服务器具有您的服务器的私有 IP 地址而不是公共 IP 地址,因此 LAN 上的客户端仍然可以访问。