每隔几分钟,我们的 Cisco ASA 5505 防火墙就会记录错误,凭借我有限的 Cisco 经验,我无法弄清楚这些错误。
Severity Date Time Syslog ID Source IP Destination IP Description
3 Mar 25 2010 17:21:14 305006 8.8.8.8 regular translation creation failed for icmp src inside:10.10.0.206 dst outside:8.8.8.8 (type 3, code 3)
3 Mar 25 2010 17:18:37 305006 8.8.4.4 regular translation creation failed for icmp src inside:10.10.0.206 dst outside:8.8.4.4 (type 3, code 3)
记录的内部 IP 是我们的内部 DNS 服务器,外部 IP 是 Google 的公共 DNS 服务器,我们在本地 BIND 配置中将其用作转发器。ICMP 类型 3 代码 3 表示“端口不可达”。
已启用‘检查 DNS’、‘检查 ICMP’和‘检查 ICMP 错误’全局服务策略,并带有默认检查地图。
我们的“外部”接口具有固定 IP,而我们的“内部”接口位于 10.10.0.0/16 子网中。10.10.0.206 IP 是我们的内部 BIND DNS 服务器,DNS 解析正常。使用不同的 DNS 转发器(例如 OpenDNS)会产生相同的错误。
我花了好几天的时间试图解决这个问题,因此非常感谢大家的任何建议!
答案1
这看起来像是防火墙的 NAT 状态表超时和 DNS 服务器自身的超时不匹配。
您的 DNS 服务器返回了 ICMP 端口不可访问,可能是对延迟接收数据包的响应。BIND 会为每个出站查询选择一个随机端口,因此在 BIND 停止侦听该端口上的响应后很长时间,响应可能会延迟很长时间才到达。
这就引出了一个问题:为什么防火墙乐意允许(延迟的)返回的数据包进入,而不随后让 ICMP 错误退出。
答案2
您可以尝试以下操作(从最有可能到最不可能):
- 您可能需要启用“检查 ICMP”才能使 ICMP 回复正常工作 - 这是较新的 ASA 软件的情况(我相信是 8.2 版)
- 检查内部接口上是否有适当的 NAT 语句,外部接口上是否有 GLOBAL 语句
- 检查内部接口上的访问列表是否允许与此流量匹配的出站 ICMP
如果这些都不能解决问题,请尝试按如下方式设置捕获:
asa(config)# access-list test permit icmp host 10.10.0.200 8.8.0.0 255.255.0.0
asa(config)# access-list test permit icmp host <outside interface IP> 8.8.0.0 255.255.0.0
asa(config)# access-list test permit icmp 8.8.0.0 255.255.0.0 host 10.10.0.200
asa(config)# access-list test permit icmp 8.8.0.0 255.255.0.0 host <outside interface IP>
asa# capture test1 access-list test interface outside trace
asa# capture test2 access-list test interface inside trace
然后,记录了几个错误(如果我没记错的话,这是语法):
asa# show capture test1 trace
asa# show capture test2 trace
答案3
以下是我们在 ASA 中看到此消息的原因之一:
regular translation creation failed for icmp src inside:10.x.x.3 dst outside:19.13.123.16
当 PC/服务器运行 torrent 时,它会设置大量 NAT 会话。当用户关闭/终止 torrent 客户端时,我们会在很长一段时间内收到大量此类错误。
如何处理:不确定。为什么您会收到8.8.8.8
Google 公共 DNS 的此消息,不确定。这可能是一个在与 DNS 服务器保持开放会话时被终止的程序。