1.1:IP伪装与端口转发
1.2:firewall-cmd高级配置
1:firewalld中理解直接规则
将某个IP范围列入黑名单
[root@localhost ~]# firewall-cmd --direct --permanent --add-chain ipv4 raw blacklist
[root@localhost ~]# firewall-cmd --direct --permanent --add-rule ipv4 raw PREROUTING 0 -s 192.168.0.0/24 -j blacklist
[root@localhost ~]# firewall-cmd --direct --permanent --add-rule ipv4 raw blacklist 0 -m limit --limit 1/min -j LOG 00log-prefix "blacklisted"
[root@localhost ~]# firewall-cmd --direct --permanent --add-rule ipv4 raw blacklist 1 DROP
2:使用富语言
规则排序
测试和调试
3:理解富规则命令
4:规则配置举例
(1)为认证报头协议AH使用新的IPv4和IPv6连接
[root@localhost ~]# firewall-cmd --add-rich-rule='rule protocol value=ah accept'
(2)允许新的IPv4和IPv6连接FTP,并使用审核每分钟记录一次
[root@localhost ~]# firewall-cmd --add-rich-rule='rule service name=ftp log limit value=1/m audit accept'
(3)允许来自192.168.0.0/24地址的TFTP协议的IPv4连接,并且使用系统日志每分钟记录一次
[root@localhost ~]# firewall-cmd --add-rich='rule family="ipv4" source address="192.168.0.0/24" service name="tftp" log prefix="tftp" level="info" limit value="1/m" accept'
(4)为RADIUS协议拒绝所有来自1:2:3:4:6::的新的IPv6连接,日志前缀为“dns”,级别为info,并每分钟最多记录3次。接受来自其他发起段新的IPv6连接
[root@localhost ~]# firewall-cmd --add-rich-rule='rule family="ipv6" source address="1:2:3:6::" service name="raduis" log prefix="dns" level="info" limit value="3/m" reject'
(5)将源192.168.2.2地址加入白名单,以允许来自这个源地址的所有连接
[root@localhost ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.2.2" accept'
(6)拒绝来自public区域中IP地址为192.168.0.11的所有流量
[root@localhost ~]# firewall-cmd --zone=public --add-rich-rule='rule family=ipv4 source address=192.168.0.11/32 reject'
(7)丢弃来自默认区域中任何位置的所有传入的ipsec esp协议包
[root@localhost ~]# firewall-cmd --add-rich-rule='rule protocol value="esp" drop'
(8)在192.168.1.0/24子网的dmz区域中,接收端口7900--1905的所有TCP包
[root@localhost ~]# firewall-cmd --zone=dmz --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 port port=7900-1905 protocol=tcp accept'
(9)接受从work区域到ssh的新连接,以notice级别且每分钟最多三条信息的方式将新连接记录到syslog
[root@localhost ~]# firewall-cmd --zone=work --add-rich-rule='rule service name=ssh log prefix="ssh" level="notice" limit value="3/m" accept'
(10)在接下来的5min内,拒绝从默认区域中的子网192.168.2.0/24到DNS的新连接,并且拒绝的连接将记录到audit系统,且每小时最多一条消息
[root@localhost ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.2.0/24 service name=dns audit limit value="1/h" reject' --timeout=300