使用NAT规则将80/443stream量转换为Web服务器,但内部用户无法使用外部IP /域名访问它

我正在使用Cisco ASDM for ASA

我有我的内部networking叫soa。 我的外部接口被称为外部。 假设我的ISP的isp给我的外部IP是yyyy我的networking中有一个web服务器,它的静态ip是xxx110。 我configuration了2个静态nat规则(一个用于http,另一个用于https)。

来源是xxx110。 接口在外面,服务(http或https)。

也许我这样做是错误的,但是当我运行数据包跟踪器时,我select外部接口和源IP我使用8.8.8.8和目标ip是我的外部IP地址,yyyy

当我运行它,它显示数据包遍历成功,使用9个步骤。

对于我的其他testing,我切换到soa接口,在该networking上input一个IP,并保持目的地相同。 这个testing出现了2个步骤,然后在我的访问列表中失败。

当我看到失败的规则,就是我所有的来源:任何desitnation:any,service:ip action:deny。

我需要做什么规则来允许我的soanetworking访问通过我的外部IP地址返回(当然,在我的dns中使用附加到该ip的域名)?

不知道思科,但在Linux和* BSD这不会工作。 即使当你尝试连接到来自内部networking的外部地址时,数据包也不会通过外部接口,因为内核太聪明,会注意到他自己的地址并使用数据包。 由于数据包永远不会穿越您的外部接口,因此端口转发的NAT规则从不适用。

请阅读http://www.openbsd.org/faq/pf/rdr.html#reflect对于一些(BSD偏见)文档。

来自内部局域网的外部NAT查找不适用于BSD或LINUX。 但是,有一种方法可以欺骗思科ASA,尽pipe最佳实践表明这不能做到。 如果你绝对需要使用它。 Cisco ASA 8.0.x的命令语法是:

static (dmz,outside) <YOUR-PUBLIC-IP-ADDR> <YOUR-DECLARED-HOST-NAME> netmask 255.255.255.255 static (dmz,inside) <YOUR-PUBLIC-IP-ADDR> <YOUR-DECLARED-HOST-NAME> netmask 255.255.255.255 

通过NAT路由器通过公共IP地址访问内部服务器通常称为NATreflection。

大多数路由器,从您的基本家庭高达$ 1000 +的支持这一点。 思科没有。

最好的解决scheme是拆分DNS – 在这里你设置一个内部的DNS服务器,这个服务器的私有IP地址代替了公有服务器,所以局域网上的客户端仍然可以访问。