CentOS自带防火墙Firewall常用命令
基础命令
查看firewalld服务状态systemctl status firewalld
查看firewall运行状态firewall-cmd --state
手动启停firewalld服务
启动、停止、重启firewalldsystemctl start|stop|restart firewalld
展示当前配置的firewall规则firewall-cmd --list-all
任何修改操作,配置完成后,需要重新装载firewall或重启服务firewall-cmd --reload
规则配置
端口查询、放行
查询端口是否开放firewall-cmd --query-port=8080/tcp
新建规则,开放8080端口firewall-cmd --permanent --add-port=8080/tcp
移除上述规则firewall-cmd --permanent --remove-port=8080/tcp
新建规则,批量开放端口firewall-cmd --permanent --add-port=9001-9100/tcp
IP放行
新建规则,开放192.168.1.1单个源IP的访问firewall-cmd --permanent --add-source=192.168.1.1
新建规则,开放192.168.1.0/24整个源IP段的访问firewall-cmd --permanent --add-source=192.168.1.0/24
移除上述规则firewall-cmd --permanent --remove-source=192.168.1.1
系统服务的开放
开放http服务firewall-cmd --permanent --add-service=http
移除上述规则firewall-cmd --permanent --remove-service=http
自定义复杂规则(注意是否与已有规则冲突)
允许指定IP访问本机8080端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" accept'
允许指定IP段访问本机8080-8090端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080-8090" accept'
禁止指定IP访问本机8080端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" reject'
拦截记录
查看是否开启拦截日志firewall-cmd --get-log-denied
或cat /etc/firewalld/firewalld.conf | grep -i Log
开启拦截日志记录firewall-cmd --set-log-denied=all
或修改配置文件/etc/firewalld/firewalld.conf
,将LogDenied设置为all
拦截日志记录在/var/log/messages
拦截日志示例
Aug 23 11:21:05 SSO-DATA-01 kernel: FINAL_REJECT: IN=ens192 OUT= MAC=00:50:56:a8:c5:f9:00:50:56:a8:13:39:08:00 SRC=10.15.2.61 DST=10.15.2.62 LEN=2620 TOS=0x00 PREC=0x00 TTL=64 ID=9222 DF PROTO=TCP SPT=34475 DPT=21001 WINDOW=1424 RES=0x00 ACK PSH URGP=0
Aug 23 11:21:05 SSO-DATA-01 kernel: FINAL_REJECT: IN=ens192 OUT= MAC=00:50:56:a8:c5:f9:00:50:56:a8:13:39:08:00 SRC=10.15.2.61 DST=10.15.2.62 LEN=1172 TOS=0x00 PREC=0x00 TTL=64 ID=9224 DF PROTO=TCP SPT=34475 DPT=21001 WINDOW=1424 RES=0x00 ACK PSH URGP=0
Aug 23 11:21:05 SSO-DATA-01 kernel: FINAL_REJECT: IN=ens192 OUT= MAC=00:50:56:a8:c5:f9:00:50:56:a8:13:39:08:00 SRC=10.15.2.61 DST=10.15.2.62 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60079 DF PROTO=TCP SPT=49534 DPT=11000 WINDOW=29200 RES=0x00 SYN URGP=0
Aug 23 11:21:05 SSO-DATA-01 kernel: FINAL_REJECT: IN=ens192 OUT= MAC=00:50:56:a8:c5:f9:00:50:56:a8:13:39:08:00 SRC=10.15.2.61 DST=10.15.2.62 LEN=2678 TOS=0x00 PREC=0x00 TTL=64 ID=29077 DF PROTO=TCP SPT=46000 DPT=21001 WINDOW=1424 RES=0x00 ACK PSH URGP=0
Aug 23 11:21:05 SSO-DATA-01 kernel: FINAL_REJECT: IN=ens192 OUT= MAC=00:50:56:a8:c5:f9:00:50:56:a8:13:39:08:00 SRC=10.15.2.61 DST=10.15.2.62 LEN=2678 TOS=0x00 PREC=0x00 TTL=64 ID=44345 DF PROTO=TCP SPT=40613 DPT=21000 WINDOW=1424 RES=0x00 ACK PSH URGP=0