不完整的 ARP 条目或防火墙响应每个网络上的 ARP 请求
Resolution
问题
可以有两种症状:
- 帕洛阿尔托网络防火墙在网络上的主机上有一个不完整的 arp 条目 (例如, 默认网关):
>> 显示 ARP
支持的所有条目的最大值: 2500
默认超时: 1800 秒
总的 arp 条目在表中: 1
总 ARP 条目显示: 1
状态: s-静态, c 完成, 电子过期, 不完全
接口 ip 地址硬件地址端口状态 ttl
--------------------------------------------------------------------------------
ethernet1/4 10.108.121.1 (不完整) ethernet1/4 i 1 - 防火墙正在响应网络上的每个 ARP 请求。
在端点上, 选择任何随机 IP 地址, 尝试 ping 它, 您将看到一个带有防火墙 IP MAC 的 ARP 条目:
$ 2 10.108.121.251
$ 2 10.108.121.252
$ ARP a
?(10.108.121.251) 在 00:1b: 17:00:04:13 [乙醚] 在 eth4
?(10.108.121.252) 在 00:1b: 17:00:04:13 [乙醚] 在 eth4
原因
它很可能有是不正确配置的源 NAT 政策与掩码长度不是 32。例如,如果一个接口配置了 IP 地址 10.108.121.2/24,然后 NAT IP 应配置为 10.108.121.3/32 (与 32 掩码)。在此示例中的 NAT IP 不应配置为 10.108.121.3/24。
解决办法
与大量的 NAT 规则,它可以很难缩小政策。下面介绍三种方法来确定 NAT 规则。前两个是安全地执行,第三个选项涉及启用调试上 dataplane 和应慎重使用。
方法 1
查明违规池:
> 显示运行全球 ippool
Idx 类型从为 Num Ref。碳纳米管
---- ---------------- -------------------------------- --------------- --- ----------
3 动态 IP/端口 0.0.0.0-255.255.255.255 10.108.121.5 1 1
6动态 IP/端口 0.0. 0.0-255.255.255.255 10.108.121.0256 1
注:池6在10.108.121.0 网络中使用256地址.
若要确定哪个策略,请运行以下命令,然后按"/"(斜线),然后键入在:"idx: 6",(有的双冒号和 6 和如果需要回去一点点按向上箭头键之间的空间)。
> 显示运行 nat 政策
[...]
dmz_Out {
从 dmz;
源
到外面;
对接口 ethernet1/4;
目的地任何;
服务/任何/任意;
转换为"src: 10.108.121.0-10.108.121.255 (动态 ip-和-端口) (池 idx: 6)";
终端的无;
}
请参阅配置错误的规则是 dmz_out。
方法 2
运行一个单一的命令,基本上告诉防火墙以输出所有规则名称和 src NAT 的翻译功能,使用 Ip 范围的位置。在这种情况下,前面的翻译规则名称是违例规则。
> 显示运行 nat 策略 |与匹配 {\|src:[^\(]*-
"第 1 条规则"{
smtp04 在 {
smtp04 出 {
smtp03 出 {
"互联网出站"{
dmz_Out {
转换为"src: 10.108.121.0-10.108.121.255 (动态 ip-和-端口) (池 idx: 6)";
"第 4 条规则"{
"第 5 条规则"{
smtp03 在 {
方法 3
重要!请谨慎使用, 因为此方法使 dataplane 上的调试.
启用调试在 DP 上:
> 调试诊断工具 dataplane 数据包-清除所有
> 调试 dataplane 数据包 diag 设置筛选器匹配非 ip 只
> 调试 dataplane 数据包 diag 集上的筛选器
> 调试 dataplane 数据包 diag 设置的日志功能流 arp
> 调试 dataplane 数据包 diag 设置的登录
> 调试 dataplane 数据包 diag 清除日志日志
后试图发送的通信通过防火墙 (或从防火墙默认网关执行 ping 命令):
> 坪源 10.108.121.253 主机 10.108.121.1
审查的 DP 调试文件:
> 少 dp 日志 pan_task_ *
也可以按"n"转到下一个文件
在某种程度上,将出现下列内容,其中可能类似于:
接收的 ARP 数据包从端口 ethernet1/4
数据包解码的转储:
L2:-00 > 00:50:56:a3:10:5a: 1b:17:00:04:13,键入 0x0806
ARP: 硬件类型 0x0001
协议类型 0x0800
硬件大小 6
协议大小 4
操作码的答复
发件人 mac 地址 00:50:56:a3:10:5a
发件人 ip 地址 10.108.121.1
目标 mac 地址 00:1b:17:00:04:13
目标 ip 地址 10.108.121.253
从翻译 IP NAT 规则索引 5 在 vsys 1 中发送的 ARP 数据包
ARP 数据包发送接口 ethernet1/4 IP
ARP 数据包解析完成,学习: 不, 目标自己: 是的, 无偿的 ARP: 没有
在上面的示例中,防火墙状态中有人使用的 IP 地址,它在 NAT 规则中使用的防火墙索引 5。
注意:索引5只表示活动策略 (禁用的策略不计算), 它从0开始. 最简单的方法是再次运行命令 ">> 显示运行 nat 策略" 和计数策略.
修复的详细信息
这是规则中的密码和 CLI 的看起来:
> 显示配置运行
[...]
dmz_Out {
到外面;
从 dmz;
源
目的地任何;
服务
ipv4 nat 类型;
源-翻译 {
动态 ip 和端口 {
翻译-地址 10.108.121.211;
}
}
对接口 ethernet1/4;
}
乍一看, 这条规则并没有错, 但是经过一些调查后, 10.108.121.211确实是一个对象:
10.108.121.211 {
ip 子网掩码 10.108.121.211/24;
}
这会很难找到只是通过浏览 WebUI。
更改为适当的子网掩码之一 (最有可能 32) 和验证。请参见规则更改后的外观:
> 显示运行 nat 政策
dmz_Out {
从 dmz;
源
到外面;
对接口 ethernet1/4;
目的地任何;
服务/任何/任意;
转换为 src: 10.108.121.211 (动态 ip 和端口) (池 idx: 7) ";
终端的无;
}
> 显示运行全球 ippool
Idx 类型从为 Num Ref。碳纳米管
---- ---------------- -------------------------------- --------------- --- ----------
3 动态 IP/端口 0.0.0.0-255.255.255.255 10.108.121.5 1 1
7动态 IP/端口 0.0. 0.0-255.255.255.255 10.108.121.2111 1
在上面的示例中,请注意一个非常相同的规则,所用的不同池 ID 但使用只有一个单一的 IP 地址。
此行为仅见于泛 OS 6.0,但似乎在早期版本中正常工作。
所有者: rweglarz