在CentOS系统中,防火墙的开启与管理是确保系统安全的重要步骤,以下是关于如何在CentOS中开启和管理防火墙的详细指南:
基本操作
1、查看防火墙状态:
命令:firewallcmd state
或systemctl status firewalld
解释:如果显示active (running)
,则表示防火墙已开启;如果显示inactive (dead)
,则表示防火墙已关闭。
2、启动和停止防火墙:
启动:systemctl start firewalld.service
重启:systemctl restart firewalld.service
关闭:systemctl stop firewalld.service
设置开机启用/禁用:systemctl enable firewalld.service
/systemctl disable firewalld.service
。
端口管理
1、查看开放的端口:
命令:firewallcmd listports
或firewallcmd listall
解释:这些命令将列出当前开放的所有端口及其对应的协议。
2、开放端口:
命令:要开放80端口(HTTP)和443端口(HTTPS),可以使用以下命令:
firewallcmd zone=public addport=80/tcp permanent firewallcmd zone=public addport=443/tcp permanent
解释:zone=public
指定了作用域为公共区域,addport
用于添加端口,permanent
表示永久生效(即使重启后也保持开放)。
3、关闭端口:
命令:要关闭80端口,可以使用以下命令:
firewallcmd zone=public removeport=80/tcp permanent
解释:removeport
用于移除已开放的端口。
4、重新加载配置:
命令:firewallcmd reload
解释:此命令用于重新加载防火墙规则,使新添加或修改的规则立即生效。
服务管理
1、查询服务:
命令:firewallcmd getservices
解释:此命令将列出所有已放行的服务。
2、开放特定服务:
命令:要开放FTP服务,可以使用以下命令:
firewallcmd permanent addservice=ftp
解释:addservice
用于添加服务到防火墙规则中。
3、移除服务:
命令:要移除FTP服务,可以使用以下命令:
firewallcmd permanent removeservice=ftp
解释:removeservice
用于从防火墙规则中移除服务。
访问控制列表(ACL)
1、设置访问白名单:
命令行操作:只允许指定IP段访问服务器的22端口(SSH),可以使用以下命令:
firewallcmd permanent addrichrule='rule family="ipv4" source address="指定IP或IP段" port protocol="tcp" port="22" accept'
配置文件操作:编辑/etc/firewalld/zones/public.XML
文件,添加相应的规则并重启防火墙。
常见问题解答(FAQs)
1、如何查看防火墙当前的状态?
答案:使用firewallcmd state
或systemctl status firewalld
命令可以查看防火墙的当前状态,如果显示active (running)
,则表示防火墙已开启;如果显示inactive (dead)
,则表示防火墙已关闭。
2、如何永久开放一个端口?
答案:使用firewallcmd zone=public addport=端口号/tcp permanent
命令可以永久开放一个TCP端口,要永久开放80端口,可以使用firewallcmd zone=public addport=80/tcp permanent
命令,使用firewallcmd reload
命令重新加载防火墙规则以使更改生效。
通过以上步骤,您可以有效地管理和配置CentOS系统的防火墙,以确保系统的安全性和稳定性,请务必根据您的实际需求进行适当的调整和配置。