本文档介绍如何在自适应安全设备(ASA)上使用DNS修正来更改域名系统(DNS)响应中的嵌入式IP地址,以便客户端可以连接到服务器的正确IP地址。
DNS修正要求在ASA上配置网络地址转换(NAT),并启用DNS检查。
本文档中的信息基于自适应安全设备。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
nat (inside,outside) source static 10.1.1.100 198.51.100.100 dns ! policy-map global_policy class inspection_default inspect dns
在图1中,DNS服务器由本地管理员控制。DNS服务器应该分发私有IP地址,它是分配给应用服务器的实际IP地址。这允许本地客户端直接连接到应用服务器。
遗憾的是,远程客户端无法访问具有私有地址的应用服务器。因此,ASA上配置了DNS修正,以更改DNS响应数据包中的嵌入式IP地址。这可确保当远程客户端向www.abc.com发出DNS请求时,它们获得的响应是针对应用服务器的转换后地址。如果NAT语句中没有DNS关键字,远程客户端会尝试连接到10.1.1.100,但此操作不起作用,因为此地址无法在Internet上路由。
nat (inside,outside) source static 10.1.1.100 198.51.100.100 dns ! policy-map global_policy class inspection_default inspect dns
在图2中,DNS服务器由ISP或类似服务提供商控制。DNS服务器应该分发公共IP地址,即应用服务器的转换 IP地址。这允许所有Internet用户通过Internet访问应用服务器。
很遗憾,本地客户端无法使用公有地址访问应用服务器。因此,ASA上配置了DNS修正,以更改DNS响应数据包中的嵌入式IP地址。这可确保当本地客户端向www.abc.com发出DNS请求时,收到的响应是应用服务器的实际地址。如果NAT语句中没有DNS关键字,本地客户端会尝试连接到198.51.100.100。此操作不起作用,因为此数据包会被发送到ASA,ASA会丢弃数据包。
考虑网络重叠的情况。在这种情况下,地址10.1.1.100同时存在于远程端和本地端。因此,您需要在本地服务器上执行NAT,以便远程客户端仍然可以使用IP地址192.1.1.100访问它。为了使其正常工作,需要DNS修正。
无法在此功能中执行DNS修正。DNS关键字只能添加到对象NAT或源NAT的末尾。两次NAT不支持DNS关键字。有两种可能的配置,但都失败了。
失败的配置1:如果配置底线,则它将10.1.1.1转换为192.1.1.1,不仅对于远程客户端,而且对于Internet上的每个人。由于192.1.1.1不可路由到Internet,因此Internet上的任何人都无法访问本地服务器。
nat (inside,outside) source static 10.1.1.100 192.168.1.100 dns nat (inside,outside) source static 10.1.1.100 192.168.1.100 destination REMOTE_CLIENT REMOTE_CLIENT
失败配置2:如果在必要的两次NAT线路之后配置DNS修正NAT线路,则会导致DNS修正从不工作的情况。因此,远程客户端会尝试使用IP地址10.1.1.100访问www.abc.com,但此操作不起作用。
nat (inside,outside) source static 10.1.1.100 192.168.1.100 destination REMOTE_CLIENT REMOTE_CLIENT nat (inside,outside) source static 10.1.1.100 64.1.1.100 dns
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
19-Dec-2012 |
初始版本 |