由于碎片化,防火墙无法连接到 Panorama

由于碎片化,防火墙无法连接到 Panorama

30867
Created On 10/24/19 03:44 AM - Last Modified 06/09/23 01:17 AM


Symptom


由于碎片和 MTU 问题,防火墙无法连接到全景图

Environment


  • 任何帕洛阿尔托防火墙。
  • 全景 7.1 及更高版本。
  • PAN OS 7.1 及更高版本。


Cause


防火墙和全景之间的网络设备上的碎片导致了这个问题。 FW 到全景通信基于 SSL (TCP-3978),它被标记为不分段。
当发送标准以太网数据包(1500 字节长)时,如果基础设施的 MTU 值低于 1500,它可能会被丢弃。
在下面的示例中,MTU 设置为 1500 字节(默认值),大小超过 1400 字节的数据包在从接口发送出去之前必须进行分段。 如果在数据包的 IP 标头上设置了不分片 (DF) 标志,则沿途的设备将不得不丢弃该数据包并发送“需要分片但设置了 DF 位” (类型 3,代码 4) ICMP 错误代码到源。由于正在使用 SSL (HTTPS) 连接,因此带有服务器证书的数据包通常是大数据包,可能会被丢弃,从而导致 SSL/TLS 握手失败。
这可以使用以下三个步骤进行验证。

 

  1. 在防火墙上确认全景状态被视为已断开使用显示全景状态。
fw01(活动)>显示全景状态全景服务器 1:10.66.57.131 已连接:无 HA 状态:已断开 全景服务器 2:10.32.6.131 已连接:无 HA 状态:已断开
  1. 在防火墙上确认与全景图的连接显示为“已建立”。
fw01(active)> show netstat all yes numeric yes |匹配 3978 tcp 0 0 10.4.110.26:37305 10.66.57.131:3978 已建立 tcp 0 0 10.4.110.26:48055 10.32.6.131:3978 已建立
 
  1. 使用TCP转储, 捕获防火墙管理上的数据包。 PCAP显示“错误的 HDR 长度 32 - 太长,> 24" 消息
20:11:44.017947 IP 10.66.57.131.pan-panorama > 10.4.110.26.34412: P 2897:3250(353) ack 296 win 61 <nop,nop,timestamp 1667104066 660833754> 20:11:4 4.017980 IP 10.4.110.26。 34412 > 10.66.57.131.pan 全景图:。 ack 1 win 115 <nop,nop,timestamp 660833767 1667104066,nop,nop,sack 1 {2897:3250}> 20:11:44.017986 IP 10.66.57.131.pan-panorama > 10.4.110.26.34412: . [坏 hdr 长度 32 - 太长,> 24] 20:11:44.364196 IP 10.66.57.131.pan-panorama > 10.4.110.26.34412: . [坏 hdr 长度 32 - 太长,> 24] 20:11:44.367325 IP 10.66.57.131 > 10.4.110.26: tcp
 
  1. 从防火墙 Ping 到全景图没有片段MTU值在防火墙上设置。 ping 失败需要碎片消息。如果沿途的网络设备可以用 ICMP 不可达回复,将收到以下输出。
fw01(active)> ping do-not-fragment yes size 1500 host 10.66.57.131 从 10.4.110.26 icmp_seq=1 Frag needed and DF set (mtu = 1500) From 10.4.110.26 icmp_seq=1 Frag needed and DF set (mtu = 1500) 来自 10.4.110.26 icmp_seq=1 需要片段和 DF 集 (mtu = 1500)
注:10.66.57.131 是全景 IP
 
  1. 反方向重复上面的步骤,从全景图到防火墙,确定我们的问题出在哪里。


Resolution


解决方案-1
  1. 确定可在防火墙和全景图之间使用的确切 MTU(最大传输单元)。 为此,从防火墙到全景(或反之亦然),没有片段选项,具有不同的 MTU 值,从最高开始,直到 ping 成功。 在此示例中,大小为 1450 的数据包在没有使用片段选项的情况下工作正常。
fw01(活动)> ping 不分段是大小 1450 主机 10.66.57.131 PING 10.66.57.131 (10.66.57.131) 1450(1478) 字节的数据。
来自 10.66.57.131 的 1458 个字节:icmp_seq=1 ttl=48 time=238 ms 来自 10.66.57.131 的 1458 个字节:icmp_seq=2 ttl=48 time=178 ms
注:10.66.57.131 是全景 IP
  1. 确定 MTU 大小后,转到防火墙和全景图的管理界面,并将 MTU 更改为确定的值。 在这个例子中,它是 1450。
界面:设备 > 设置 > 接口 > 管理 >
用户添加的图像
  1. 一旦更改了 MTU,犯罪上的变化防火墙和全景图。 应在几秒钟内建立与 Panorama 的连接。


方案二

  1. 大多数防火墙和路由器都能够通过它们调整 TCP 连接上的 MSS 值。他们可以重写客户端和服务器之间交换的 SYN 和 SYN-ACK 数据包上的 MSS 值。 这可用于将 MSS 值设置为计算出的最佳 MSS 值,以便客户端和服务器都将其段构建为该大小。
    TCP MSS,即最大段大小,是 TCP 报头选项字段的一个参数,它指定计算机或通信设备可以在单个 TCP 段中接收的最大数据量(以字节为单位)。 它不包括 TCP 标头(20 字节)或 IP 标头(20 字节)。
  2. 此 MSS 值在 TCP 3WHS 期间由双方宣布(通常被错误地称为协商)。
每一方都说:我可以接受最大为 x 的 TCP 段。
  1. 一旦每一方宣布其 MSS,远程方应发送包含不大于宣布的 MSS 值的 TCP 段的数据包。下面显示了在 3WHS 中宣布的 MSS 示例:
10.1.1.100 192.1.1.100 [SYN] Seq=0 Len=0 MSS=1460 TSV=556758839 192.1.1.100 10.1.1.100 [SYN, ACK] Seq=0 Ack=1 Win=16484 Len=0 MSS=1280 WS=0 10.1.1.100 192.1.1.100 [ACK] Seq=1 Ack=1 Win=5888 Len=0

 



Additional Information


相关知识库:
全景连接故障排除


如何从 CLI 配置 MTU 和 MSS 设置



Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000PNC8CAO&lang=zh_CN&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language