在CentOS 7中,firewalld是默认的防火墙管理工具,它提供了一个动态管理的防火墙,支持网络“区域”以逻辑上对网络进行分组和防火墙规则的管理,下面将详细介绍如何使用firewalld打开、关闭防火墙以及如何管理端口。
安装firewalld
在大多数CentOS 7系统中,firewalld已经预装,如果没有,可以通过以下命令安装:
sudo yum install firewalld
启动firewalld服务
安装完成后,需要启动firewalld服务:
sudo systemctl start firewalld
如果希望firewalld在系统启动时自动运行,可以启用该服务:
sudo systemctl enable firewalld
查看firewalld状态
使用以下命令检查firewalld服务的状态:
sudo systemctl status firewalld
关闭防火墙
要临时关闭防火墙,可以使用以下命令:
sudo systemctl stop firewalld
要永久关闭防火墙并禁止其开机自启,可以执行:
sudo systemctl disable firewalld
配置防火墙规则
firewalld通过管理不同的网络区域(zones)来控制网络访问,每个区域有一组预定义的规则,这些规则决定了哪些服务和端口是开放的。
查看可用区域
列出所有可用的区域:
sudo firewallcmd getactivezones
查看当前区域设置及规则
显示当前活动区域及其规则:
sudo firewallcmd listall
修改默认区域
设置默认区域为public
(或其他区域):
sudo firewallconfig setdefaultzone=public
添加端口到区域
允许特定端口通过防火墙,例如开放端口80(HTTP)和443(HTTPS):
sudo firewallcmd permanent zone=public addport=80/tcp sudo firewallcmd permanent zone=public addport=443/tcp
重新加载防火墙规则
应用更改后,需要重新加载防火墙规则:
sudo firewallcmd reload
删除端口规则
要从区域中删除端口规则,可以使用:
sudo firewallcmd permanent zone=public removeport=80/tcp sudo firewallcmd permanent zone=public removeport=443/tcp
然后再次重新加载防火墙规则。
相关问答FAQs
Q1: 如果忘记重新加载防火墙规则会发生什么?
A1: 如果你添加或删除了端口规则但忘记重新加载防火墙,这些更改将不会被应用,只有重新加载后,新的规则才会生效。
Q2: 如何在不重启服务的情况下立即禁用一个端口?
A2: 你可以立即禁用一个端口,无需重新启动firewalld服务,只需使用removeport
选项,然后重新加载规则即可。
sudo firewallcmd zone=public removeport=80/tcp sudo firewallcmd reload
通过以上步骤,你可以在CentOS 7上有效地使用firewalld来管理防火墙和端口,记得在每次更改规则后重新加载防火墙,以确保更改立即生效。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/673752.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复