PacketFence 添加额外防火墙策略
PacketFence 通过自定义规则文件 iptables-custom.conf.inc 添加额外防火墙策略,以放行 192.168.9.188 访问 TCP 10050(Zabbix Agent)为例。
方式:使用 iptables-custom.conf.inc
PacketFence 支持通过自定义规则文件定制 iptables 规则,文件位于:
/usr/local/pf/conf/iptables-custom.conf.inc
该文件中的规则会在 PacketFence 自身的防火墙规则之前生效。
步骤 1:编辑自定义规则文件
vi /usr/local/pf/conf/iptables-custom.conf.inc
写入内容:
{
"filter" : {
"FORWARD" : [],
"INPUT" : ["-s 192.168.9.188/32 -p tcp -m tcp --dport 10050 -j ACCEPT"],
"OUTPUT" : []
},
"mangle" : {
"PREROUTING" : [],
"INPUT" : [],
"FORWARD" : [],
"OUTPUT" : [],
"POSTROUTING" : []
},
"nat" : {
"POSTROUTING" : [],
"OUTPUT" : [],
"PREROUTING" : []
}
}
保存退出。
各参数含义:
-s 192.168.9.188/32:源 IP 地址,/32表示精确匹配单个 IP-p tcp:协议类型-m tcp --dport 10050:目标端口,Zabbix Agent 默认端口-j ACCEPT:放行
步骤 2:重载 PacketFence 配置
/usr/local/pf/bin/pfcmd configreload hard
hard 模式会完全重载配置,适用于配置发生较大变化时。
步骤 3:重启 PacketFence 防火墙服务
systemctl restart packetfence-iptables
步骤 4:验证 iptables 规则是否存在
iptables -L INPUT -n | grep 10050
确认输出中包含类似以下内容:
ACCEPT tcp – 192.168.9.188 0.0.0.0/0 tcp dpt:10050
注意事项
- 规则文件中每行一条规则,不要添加多余的空行或注释符号
- 如果需要放行网段,将 /32 改为对应的 CIDR 掩码,如 /24
- 如果规则未生效,检查 pfcmd configreload 是否报错,以及 systemctl status packetfence-iptables 确认服务已重启
- 生产环境建议先在测试环境验证规则不影响 PacketFence 的正常认证流程