CentOS 7 防火墙的基本使用
2023-04-01
在服务器管理过程中经常需要对防火墙进行配置,Centos 7 的防火墙采用firewalld守护进程,通过对firewalld的一些管理可以很方便的开启或者关闭某些端口。当然实际上firewalld的使用远比本文记录的内容要复杂,其中"区域"、"富规则"、"地址转换"等内容本文暂不涉及。
firewalld官方文档:https://firewalld.org/documentation/
开启和关闭防火墙
防火墙默认一般是不打开的我们需要手动打开,并设置开机自启动
查看防火墙是否运行
sudo systemctl status firewalld
打开防火墙
sudo systemctl start firewalld
设置开机自启动
sudo systemctl enable firewalld
关闭防火墙和取消其开机自启动
sudo systemctl stop firewalld
sudo systemctl disable firewalld
开闭某个端口
打开端口
sudo firewall-cmd --add-port=8080/tcp --permanent
8080替换成你像打开的端口号,tcp替换成你想要使用的协议tcp/udp,--permanent是永久有效的意思,即使你重启了防火墙这条规则依然有效。
关闭端口
sudo firewall-cmd --remove-port=8080/tcp --permanent
不管是打开还是关闭了某个端口都需要重新加载一些防火墙才可以生效
sudo firewall-cmd --reload
查看所有打开的端口
sudo firewall-cmd --list-all
实际上开闭端口的方式除了指定端口号/协议还可以指定服务的名称,例如ssh就代表了22号端口,http就代表了80号端口,https就代表了443端口等,如下
sudo firewall-cmd --add-service=http --permanent
此时http服务对应的端口(众所周知端口)已经打开,如下图

这里可能会造成一点误导,注意不是说我们的http服务就和80号端口绑定了,实际上只是http服务通常用80号端口,显然我们也可以用其他端口,这是后就只能通过端口/协议的方式开发防火墙。