1.直接规则
1)直接使用iptables或firewall语句将规则写入管理区域中。
2)执行优先级最高,优先规则:直接规则→富规则→区域规则
3)firewall语句与iptables语句互相通用
4)使用于服务或应用程序。
语句格式:
firewall-cmd --direct
例1:启用黑名单
firewall-cmd --direct --add-chain ipv4 raw blacklist
例2:将来自黑名单的数据包丢弃
fireall-cmd --direct --add-rule ipv4 raw blacklist 1 -j DROP
2.富语言
语句中描述的时间或表达式比较详细,包括拒绝、允许。配置日志记录,端口转发,地址伪装、速率限制、访问时间。
语句格式
firewall-cmd --zone=区域 --add-rich-rule=’ rule 富规则表达式’
注意:区域选项为可选。如不使用区域选项,表示为所有区域添加。
为所有区域添加富规则:
firewall-cmd --add-rich-rule
删除富规则
firewall-cmd --remove-rich-rule
查看rule规则是否添加到指定的区域
firewall-cmd --query-rich-rule
查看富规则列表
firewall-cmd --list-rich-rule
3.富规则表达式
格式:
firewall-cmd --zone=区域 --add-rich-rule"rule 选项 要素类型 动作"
- 选项
source address=源IP地址
destination address= 目标IP地址
log=日志管理
log prefix=日志文件
level=日志级别
limit value=条数/时间 记录日志周期
- 要素类型:
server name=服务名
port port=端口号
Protocol value=协议类型(TCP/UDP)
icmp-block name=ICMP数据包类型(request reply)
masquerade 转换地址与端口号
- 动作
audit:审核
accept:通过
drop:拒绝、丢弃
reject:拒绝并返回信息
--timeout=300 300秒,只限制5分钟。
- 实例
例1:在external区域中,为认证包头协议AH使用新的ipv4和ipv6连接
firewall-cmd --zone=external --add-rich-rule='rule protocol value=ah accept'
例2:允许ipv4的主机访问FTP服务,并使用审核记录每分钟记录一次
firewall-cmd --zone=internal --add-rich-rule='rule family=ipv4 service name=ftp log limit value=1/m audit accept'