理解Cisco ASA防火墙上的alias命令

本文介绍Cisco ASA防火墙中Alias的应用方法,包括利用DNSDoctoring修正外部DNS服务器回复及转换目标IP地址的DNAT。通过具体实例展示如何配置内部客户端通过内部IP地址连接内部服务器,以及如何实现内部客户端调用外部地址访问DMZ区。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于在DMZ或INSIDE区服务器发布的问题,从互联网访问inside或dmz的服务器都很正常,从inside可以访问互联网,但就是不能通过互联网域名访问inside和dmz的服务器。有些朋友提到alias和alias的资料,但都没有详细的解说,其实cisco官方网站有针对这种情况的资料,最终能圆满解决此问题,特将其翻译以供大家参考。


本文档阐述alias在Cisco ASA防火墙中的用法

Alias的两个功能:
      1、利用DNS Doctoring修正外部DNS服务器回复:
       利用DNS Doctoring,ASA 将"改变" 外部DNS响应的地址到另一个IP,这个地址不同于DNS服务器上真实提供的域名-IP记录,此功能实现从内部客户端通过内部IP地址连接到内部服务器上。

2、转换目标IP地址的dnat(Destination NAT)到另一个IP:
      用dnat改变应用程序的标地址,此功能实现从内部客户端调用外部地址访问周边网络(例如DMZ区),不修改DNS回复,用DNS Doctoring转换内部地址。


例1: web服务器地址10.10.10.10,对应的外部IP为99.99.99.99。
       注意:DNS在防火墙外.在dos提示窗输入nslookup验证一下DNS服务器是如何解析你的web服务器的外部IP,客户端PC应该返回的是内部地址10.10.10.10,因为DNS请求经过ASA已经被它改变了。如果你为DNS fixup使用alias命令,要让DNS fixup正常工作,需禁止proxy-arp功能,用列命令禁止proxy-arp:
       sysopt noproxyarp inside
       如果你想用10.10.10.25这台机器通过www.mydomain.com访问你的web服务器,只需要实现以下alias命令:
       alias (inside) 10.10.10.10 99.99.99.99 255.255.255.255

设置inside端口的DNS Doctoring,一旦监测到发往inside端口的DNS,回复里IP内容为99.99.99.99,则用10.10.10.10替换掉,再发到客户端PC。

接下来,必须为web服务器做静态地址转换,为所有人提供web服务器的80端口访问权(http):
static(inside,outside) 99.99.99.99 10.10.10.10 netmask 255.255.255.255
此命令建立web服务器真实地址10.10.10.10和外部地址99.99.99.99的转换。

用access list命令赋予访问权:
access-list 101 permit tcp any host 99.99.99.99 eq www
access-group 101 in interface outside
允许来自outside的任何用户访问web服务器的80端口。

用目标NAT(dnat)转换DMZ地址,如果web服务器在ASA的DMZ区,必须用alias作Destination NAT (dnat)。

例2:web服务器在DMZ的地址为192.168.100.10,外部地址99.99.99.99。要用dnat转换99.99.99.99为web服务器的真实地址192.168.100.10,从inside客户端发出的DNS请求和回复不会改变,从inside的PC上看来就象访问外部地址99.99.99.99一样,所以DNS回复并未被ASA修改。

想从10.10.10.0 /24网络通过外部域名www.mydomain.com访问DMZ里的web服务器,并不想让ASA修改我们的DNS回复,让ASA作dnat把外部IP地址转为DMZ里web服务器真实地址192.168.100.10。

注意: 当然了,如果从inside访问dmz里的192.168.100.10都不能够,光作这个也是不能访问的,前提是inside用户能够外访,也能访问到DMZ内部地址:
       global (outside) 1 interface
       global (dmz) 1 interface
       nat (inside) 1 0 0

如果不想利用interface占的地址,也可以另指定你相应端口网络里的地址:
       global (outside) 1 99.99.99.3
       global (dmz) 1 192.168.100.2
       nat (inside) 1 0 0

现在,用alias命令作dnat:
       alias(inside) 99.99.99.99 192.168.100.10 255.255.255.255

此句设置dnat,DNS回复不会被ASA修改,因为外部地址99.99.99.99不匹配第二个地址(192.168.100.10),由于发往客户端的DNS回复里有与目标地址99.99.99.99匹配,请求会“dnat-ed”。
       注意::此例中IP地址与上面DNS Doctoring的例子中顺序相反。

接下来做web服务器的静态转换,允许所有人访问其80端口(http):
       static(dmz,outside) 99.99.99.99 192.168.100.10 netmask 255.255.255.255
      建立dmz区服务器地址192.168.100.10与外部地址99.99.99.99间静态转换。

赋予访问权,access list命令如下:
       access-list 101 permit tcp any host 99.99.99.99 eq www
       access-group 101 in interface outside
      允许所有来自outside用户访问web服务器80端口。

配置中的说明:
       1)alias命令里的interface应该是发出请求的客户端所在那个端口.。
       2)如果DMZ里也有客户端PC,需专门为dmz设置的alias命令 (也就是DNS doctoring),例如:你想让DMZ的其他客户端用外部域名访问DMZ的web服务器,其实做法已跟例1没什么区别,为DMZ增加一条alias,做一个DNS Doctoring修改它DNS回复就行了:
        alias (dmz) 192.168.100.10 99.99.99.99 255.255.255.255
        3)如果ASA有更多的端口,可以为不同的端口作多条alias命令。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值