由于源 NAT IP/端口分配而导致的数据包丢弃失败
56954
Created On 09/25/18 20:40 PM - Last Modified 06/13/23 02:48 AM
Symptom
诊断
运行显示计数器全局显示以下计数器增加
flow_policy_nat 284 1 降流会话会话设置: 源 nat IP/端口分配错误
流基本显示以下内容
分配了新的会话5543。
规则: index=4 名称 = 测试, cfg_pool_idx=1 cfg_fallback_pool_idx=0
2018-06-20 22:38:30.473-0700 调试: pan_flow_nat_setup_session (src/pan_flow_nat. c: 2147): nat 规则: 名称 = Test_NAT, cfg_pool_idx=1;会话: index=5543, nat_pool_idx=1
2018-06-20 22:38:30.473-0700 错误: pan_ippool_translate_dynamic (pan_ippool. c: 2106): IP 地址和源端口
数据包丢失, 源 nat IP/端口分配失败
无法在中设置会话退出 vsys
数据包丢失, 会话设置失败
ippool 仍然显示可用端口。
>> 显示运行 ippool
规则类型使用可用的内存大小比
-----------------------------------------------------------------
Test_NAT 动态 IP/端口 423126 92970 687208/c3 >
Resolution
主要原因是 ippool 被大量使用 (超过 80%, 超过了8x 的超额认购率).
NAT 池通过哈希目标地址和尝试特定的存储桶来工作 (具体取决于哈希值)。我f 没有免费的条目, 我们将尝试一个简单的版本蛮力搜索.
如果两者都失败, 将返回失败。
这意味着, 即使 "显示运行 ippool" 仍可能显示大约9k 免费条目, 对于某些目标 IPs (如 web 浏览中的 google.com), 主机已经有许多会话, 我们无法为该目标建立新的会话。但是, 可以将新会话构建到不同的目标。
扩展相同目标的可用 ippool 需要额外的外部 IP 地址。