本帖最后由 Hacking 于 2022-8-22 08:55 编辑
在centos7以上的版本中,firewalld防火墙取代了iptables防火墙。相较于iptables防火墙而言,firewalld支持动态更新技术并加入了区域(zone)的概念。简单来说,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。今天博主主要是讲 firewalld 防火墙的配置,也就是firewalld防火墙的应用实操!可能很多小伙伴喜欢使用 iptables 来作为防火墙,但今天博主自己的看了一下 firewalld 的一些说明,发现并没有那么难,相比 iptables ,感觉 firewalld 在规则上还要稍微简单一些!
使用前,请同学们注意下 :firewalld 默认规则已经放行 SSH 服务( 22 端口),但如果你修改过 SSH 端口,则必须先放行,否则一旦启用 firewalld 将被阻挡在外,无法连接服务器,那就只能重装系统了。。。
#启动 systemctl start firewalld
#关闭 systemctl stop firewalld
#查看状态 systemctl status firewalld
#开机禁用 systemctl disable firewalld
#开机启用 systemctl enable firewalld
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
添加端口: firewall-cmd --zone=public --add-port=80/tcp --permanent
重新载入: firewall-cmd --reload
删除: firewall-cmd --zone= public --remove-port=80/tcp --permanent
添加(例如22 -> 2200): firewall-cmd --permanent --zone=public --add-forward-port=port=2200:proto=tcp:toport=22:toaddr= 删除: firewall-cmd --permanent --remove-forward-port=port=22:proto=tcp:toport=2200:toaddr=
查看转发的端口: firewall-cmd --list-forward-ports
查看当前开了哪些端口(其实一个服务对应一个端口,每个服务对应/usr/lib/firewalld/services下面一个xml文件。) firewall-cmd --list-services
查看还有哪些服务可以打开 firewall-cmd --get-services
查看所有打开的端口: firewall-cmd --zone=public --list-ports
#添加多个端口 firewall-cmd --permanent --zone=public --add-port=8080-8083/tcp
#删除某个端口 firewall-cmd --permanent --zone=public --remove-port=81/tcp
#针对某个 IP开放端口 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.16.108.166" port protocol="tcp" port="6379" accept" firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.16.108.233" accept"
#删除某个IP firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="172.16.108.51" accept"
#针对一个ip段访问 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.16.108.0/16" accept" firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.16.108.0/24" port protocol="tcp" port="9200" accept"
#添加操作后别忘了执行重载 firewall-cmd --reload |