H3C 防火墙安全策略不通排查案例
背景
PC_2 IP: 192.168.1.2/24 GateWay: 192.168.1.1
PC_3 IP: 192.168.2.2/24 GateWay: 192.168.2.1
H3C 防火墙:
G1/0/2 IP 192.168.1.1
G1/0/3 IP 192.168.2.1
配置防火墙接口IP
sy
interface GigabitEthernet1/0/3
port link-mode route
ip address 192.168.2.1 255.255.255.0
interface GigabitEthernet1/0/2
port link-mode route
ip address 192.168.1.1 255.255.255.0
问题与排查
问题: PC_2 无法 ping 通 PC_3
排查方式:
在防火墙上新建ACL,匹配不通数据流,定义一个acl,以便于更直观的观察到异常数据流。
sy
# 创建一个编号为 3333 的高级 ACL
acl advanced 3333
# 允许 192.168.1.2 与 192.168.2.2 之间的所有 IP 协议通信。
rule 0 permit ip source 192.168.1.2 0 destination 192.168.2.2 0
// 规则编号:0 表示此规则的优先级(数值越小优先级越高)。
// 动作:permit 表示允许匹配的流量通过。
// 协议:ip 表示匹配所有 IP 协议(如 TCP、UDP、ICMP)。
// 源地址:192.168.1.2 0
// 0 为通配符掩码(反掩码),表示精确匹配该 IP(等同于 0.0.0.0)。
// 仅匹配来自 192.168.1.2 的流量。
// 目的地址:192.168.2.2 0
// 同样精确匹配,仅允许发往 192.168.2.2 的流量。
quit
使用debug命令收集信息并进一步分析
# 注意,这里要退出系统模式,即要显示 <H3C>
# 启用安全策略包过滤的调试功能,针对指定的ACL(访问控制列表)编号3333;记录所有匹配 ACL 3333 的数据包处理过程,包括允许或拒绝的情况。
debugging security-policy packet ip acl 3333
# 启用自适应安全防护(ASP)的调试功能,针对指定的ACL编号3333。记录其所有的数据包的状态检测处理过程,包括连接状态的变化。
debugging aspf packet acl 3333
# 开启终端监控模式,将调试信息输出到当前终端,便于实时查看。
terminal monitor
# 启用终端调试信息输出。允许终端显示详细的调试信息。结合terminal monitor使用,实时查看调试信息。
terminal debugging
使用 PC_2 对 PC_3 进行 ping 操作
查看防火墙终端上的 debug 信息
可以由debug信息看出来流量的源、目安全域均未空,说明源、目接口都没有加入安全域。通过debug 信息If-In=GigabitEthernet1/0/2(3), If-Out=GigabitEthernet1/0/3(4)可以确认流量的进、出接口。in代表的是流量入接口g1/0/2,out代表的是流量出接口g1/0/3。
将两个接口加入对应安全域再来测试
sy
# 将物理接口 GigabitEthernet 1/0/2 导入到当前安全区域(即 Trust 区域)。
security-zone name Trust
import interface GigabitEthernet 1/0/2
# 将物理接口 GigabitEthernet 1/0/3 导入到当前安全区域(即 Untrust 区域)。
security-zone name Untrust
import interface GigabitEthernet 1/0/3
# 保存
save force
使用 PC_2 对 PC_3 进行 ping 操作, 再次查看日志
从以上信息看到没有任何的安全策略规则能放行源地址是 192.168.1.2、目的地址是192.168.2.2,源安全域是Trust,目的安全域是Untrust的流量。
增加安全策略
# 进入IP安全策略视图
security-policy ip
# 创建一条编号为1的安全策略规则,并命名为 trust-untrust。
rule 1 name trust-untrust
# 设置该规则的动作动作为 pass(允许)。
action pass
# 指定该规则的源安全区域为 Trust。
source-zone trust
# 指定该规则的目的安全区域为 Untrust。
destination-zone untrust
# 保存并退出
save force
quit
检查
PC_2 已成功 ping 通 PC_3
取消防火墙 debug,和 3333 acl
# 退出系统模式,即要显示 <H3C>
undo terminal debugging
undo terminal monitor
sy
undo acl number 3333
save force