前言
我们日常运维过程中少不了与防火墙打交道,这里就对firewalld的一些日常操作简单的总结一下,希望帮到有需要的人。
一、什么是firewalld?
firewalld它是RHEL 7/Centos7默认的防火墙配置管理工具。支持动态更新技术并加入了区域(zone)的概念。简单来说,区域就是 firewalld 预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。当然我们这里不需要那么复杂,只需要知道它是RHEL 7/Centos7默认的防火墙配置管理工具,并且能够简单的使用就行了,下面就对一些常用命令进行演示。
二、firewalld使用
1.开关firewalld及自启动
一般来说firewalld默认都是开启的,如果需要关闭的话使用systemctl stop firewalld命令就可以了。
systemctl stop firewalld
想知道是否已经关闭使用systemctl status firewalld命令,看到Active: inactive说明就是已经关闭了。
systemctl status firewalld
再次开启防火墙用systemctl start firewalld,同样用systemctl status firewalld验证,看到Active: active说明成功启动。
systemctl start firewalld
另外firewalld默认都是开机自动启动的,当我们需要不让它开机自动启动的使用可以systemctl disable firewalld命令关闭自动启动,systemctl status firewalld查询是否已经关闭成功。显示: Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled就是已经禁用了。
systemctl disable firewalld
systemctl status firewalld
需要开启的时候使用systemctl enable firewalld。
systemctl enable firewalld
看到如下提示说明成功,也可以使用systemctl status firewalld查看,显示:Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled;说明成功。
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
关于查看firewal状态还可以用firewall-cmd --state命令,当firewal开启时会显示running,关闭时显示not running。
firewall-cmd --state
running
systemctl stop firewalld
firewall-cmd --state
not running
2.端口相关操作
有时候我们需要开放一些服务对外访问又不能关闭防火墙的时候,就需要开放firewalld的相关端口,比如http,mysql等等,以http的80端口为例。
firewall-cmd --zone=public --add-port=80/tcp --permanent
–permanent 永久会生效,没有此参数重启后就会失效,配置之后可以看看是否配置成功,看到提示yes就说明完全ok。
firewall-cmd --zone=public --query-port=80/tcp
yes
但是如果现在访问80端口的话还是访问不了,因为还需要更新一下我们刚刚配置的规则。
firewall-cmd --reload
如果需要查看开放了哪些端口就可以用firewall-cmd --zone=public --list-ports,可以看到这里只开放了tcp/80端口。
firewall-cmd --zone=public --list-ports
80/tcp
想删除刚刚开放的端口直接就用firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --zone=public --remove-port=80/tcp --permanent
总结
以上就是一些最基本的最常用的firewalld操作了,是不是非常的简单,更多内容下次再分享。