CentOS8开启防火墙
虽然我用的是云服务器,可以直接在云服务器上配置放行规则,以允许对应的访问请求,但是,自己还是想在服务器上也开启防火墙,以便对这方面进行了解。
当然了,如果你有一堆服务器集群的话,我推荐你还是用云服务提供的管理,购买对应的服务,或者聘请相关专业的人才进行服务器维护,本文仅仅是简单的记录。
防火墙在CentOS8是默认安装的,所以安装跳过。
防火墙状态查看
阿里云默认防火墙是关闭的,可以通过两个命令查看当前防火墙状态:
- 防火墙
firewall-cmd --state
- 系统服务管理命令
systemctl status firewalld
开启防火墙
我这里就从开启防火墙开始:
systemctl start firewalld
对应的关闭防火墙命令是
systemctl stop firewalld
配置防火墙
接下来就是配置防火墙放行规则
firewall-cmd --add-port=80/tcp --permanent firewall-cmd --add-port=443/tcp --permanent
这里放行了80端口和443端口,用于web服务器,并且支持https必须要开启443端口。
--permanent 参数表示该条规则永久生效
如果你想放行的端口号是连贯的,也可以直接指定范围,例如:
firewall-cmd --add-port=8080-8888/tcp --permanent
如果配置错了,还可以取消:
firewall-cmd --remove-port=80/tcp --permanent firewall-cmd --remove-port=443/tcp --permanent firewall-cmd --remove-port=8080-8888/tcp --permanent
当我们添加或移除防火墙规则后,需重新加载才能生效,使用 --reload 参数:
firewall-cmd --reload
配置好后我们可以通过 --list-all 参数查看防火墙规则:
firewall-cmd --list-all
使防火墙在系统重启后还能正常运行
设置防火墙开机自启
systemctl enable firewalld
如果只开启了防火墙,没有设置防火墙开机自启,那么服务器重启后,防火墙会回到关闭状态,可以防止因为防火墙错误原因无法连接服务器的情况。当配置好之后,再设置开机自启,保证防火墙能够正常运行。
取消防火墙开机自启
systemctl disable firewalld
当然了,配置了防火墙开机自启后,你只是关闭了防火墙,而没有取消开机自启,那么防火墙只是临时关闭,在下次服务器重新启动后,防火墙会自动开启回来。如果你是想要完全关闭防火墙,不要忘记运行这条命令。