否认ICMPtypes3代码4stream量 – 好还是坏?

调查到远程办公室的慢速VPN连接(思科ASA IPSec),我注意到我们的防火墙有很多访问规则匹配:

Denied ICMP type=3, code=4 from *ip_address* on interface outside 

我注意到远程站点的traceroute包含相同的IP地址,在我们的ISP和远程站点使用的ISP之间。

之前我也看到一条消息

 No matching connection for ICMP error mesage: icmp src outside *ip_address* dst identity:*firewall_outside_ip_address* (type 3, code 4) on outside interface. Original IP payload: protocol 50 src *firewall_outside_ip_address* dst *remote_site_ip_address* 

思科build议,这可能是一个攻击的症状 ,但我不这么认为。

协议50是ESP,它是IPSec的一部分。 远程站点通过IPSec VPN使用远端的Cisco ASA 5505和总部的ASA 5510连接到HQ。

ICMPtypes= 3,代码= 4表示需要碎片并且不设置碎片。

设置不分段对于IPSec ESP数据包来说是正常的。

我认为发生的事情是数据包正在离开我们的ASA 5510,默认MTU为1500.当它使用ip_address命令时 ,路由器无法将stream量传递到使用较小MTU的下一跳,因此需要分段。 路由器正在发送一个ICMP数据包,但是我们的防火墙阻止了这个,不是因为访问规则,而是因为某些原因,我们的ASA 5510不期望这个ICMP消息。

我试图找出问题是否与我们的总部ASA 5510(虽然我们有另外36个网站都工作正常)的configuration,远程ASA 5505(这是configuration与我们的其他远程ASA 5505s统一)或之间的东西他们俩。

接下来我应该做什么?

更新根据要求,这里是来自总部ASA 5510的ICMP线路:

 icmp unreachable rate-limit 1 burst-size 1 icmp permit any echo-reply outside icmp permit any time-exceeded outside icmp permit any unreachable outside 

尝试crypto ipsec df-bit clear-df outside设置crypto ipsec df-bit clear-df outside 。 这不会解决直接的问题,但可能会解决这个问题。

就目前的问题而言,ASA似乎没有意识到需要将ICMP数据包用作其隧道的pathMTU发现。 检查show crypto ipsec sa显示的PMTUD计数器中是否有任何内容?

ICMP types3代码4消息是“需要分段但不分段”。 这意味着您的设备发送的数据包比发送ICMP消息的设备的MTU大。 通常情况下,数据包可能被分割,但DF位已被设置。 由于您拒绝入站ICMP消息,因此ASA不会收到通知其数据包未送达。 丢弃这些ICMP消息通常对性能不利,因为它本质上会导致数据包丢失。

思科的ASAconfiguration指南build议始终允许使用ICMPtypes3的消息,并且特别指出,如果这些消息被阻止,IPsec会出现问题。 您可以configurationASA报告此错误以允许他们使用以下命令:

 icmp permit any unreachable outside 

这只影响指向ASA本身的ICMP不可用性。 如果您还需要通过 ASA向内部主机允许它们则需要在外部接口上使用访问列表。

我有一位思科工程师的意见,他说我有以下select:

  • 按照Shane Madden的build议设置clear-df
  • 将我们的服务器上的MTU设置为1300,所以它们发送的数据包不太可能首先需要分段
  • 使用sysopt connection tcp-mss 1300为ASA上的TCP设置最大段大小

我已经应用了tcp-mss更改,并删除了总部ASA上的clear-df命令,出现问题的网站能够正常工作。

这可能是一个比清除df-bit更好的解决scheme,因为这将导致碎片化,这是不可取的。 相当于将ASA上的MTU设置为1340(IP报头为1300 + 20字节,TCP报头为20字节),但仅影响TCPstream量。 它也允许PMTUD工作,清除不碎片位时不是这种情况。

思科在解决IP分段,MTU,MSS和PMTUD与GRE和IPSEC问题中详细讨论这个选项。