查看firewall服务状态
systemctl status firewalld
firewall-cmd --state
开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
查看防火墙规则
# 查看所有打开的端口
firewall-cmd --list-all
firewall-cmd --zone=public --list-ports
# 查看转发的端口
firewall-cmd --list-forward-ports
查询、开放、关闭端口
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;
设置规则
#开启某个端口(指定IP可访问)
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="10.1.1.14/32" port protocol="tcp" port="80" accept'
#删除策略
firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="10.1.1.14/32" port protocol="tcp" port="80" accept'
#为认证报头协议AH使用新的ipv4和ipv6连接
firewall-cmd --add-rich-rule='rule protocol value=ah accept'
#允许新的ipv4和ipv6连接ftp,并使用审核每分钟记录一次
firewall-cmd --add-rich-rule='rule service name=ftp log limit value=1/m audit accept'
#允许来自192.168.1.0/24地址的TFTP协议的ipv4连接,并且使用系统日志每分钟记录一次
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="tftp" log prefix="tftp" level="info" limit value="1/m" accept'
#将源192.168.2.2地址加入白名单,以允许来自这个源地址的所有连接:
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.2.2" accept'
#拒绝来自public区域中IP地址192.168.0.11的所有流量:
firewall-cmd --zone=public --add-rich-rule='rule family=ipv4 source address=192.168.0.11/32 reject'
#丢弃来自默认区域中任何位置的所有传入的ipsec esp协议包:
firewall-cmd --add-rich-rule='rule protocol value="esp" drop'
#在192.168.1.0/24子网的DMZ区域中,接收端口7900~7905的所有TCP包
firewall-cmd --zone=dmz --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 port port=7900-1905 protocol=tcp accept'
#接收从work区域到SSH的新连接,以notice级别且每分钟最多三条消息的方式将新连接记录到syslog:
firewall-cmd --zone=work --add-rich-rule='rule service name=ssh log prefix="ssh" level="notice" limit value="3/m" accept'
#在接下来的5min内(通过--timeout=300配置项实现),拒绝从默认区域中的子网192.168.2.0/24到DNS的新连接,并且拒绝的连接将记录到audit系统,且每小时最多一条消息。
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
设置端口转发
#开启伪装ip
firewall-cmd --permanent --add-masquerade
firewall-cmd --permanent --add-forward-port=port=3306:proto=tcp:toaddr=192.168.1.2:toport=13306
注意:如果不开启伪装IP,端口转发会失败;其次,要确保源服务器上的端口(3306)和目标服务器上的端口(13306)是开启的。
其他
# 查看版本
firewall-cmd --version
# 查看帮助
firewall-cmd --help