作者:笃笃声_965 | 来源:互联网 | 2024-12-18 20:58
在 CentOS 7.2 中配置防火墙以允许特定服务或端口访问,首先需要确保防火墙服务已启动。如果防火墙已经在运行,则可以跳过此步骤。
启动防火墙服务的命令如下:
systemctl start firewalld
以 FTP 服务为例,下面将展示如何临时及永久开放 FTP 服务。
临时开放 FTP 服务,可使用以下命令:
firewall-cmd --add-service=ftp
若需永久开放 FTP 服务,应执行:
firewall-cmd --add-service=ftp --permanent
如需撤销对 FTP 服务的永久开放,可以使用:
firewall-cmd --remove-service=ftp --permanent
为了使上述设置立即生效,推荐使用重载配置文件的方式,而不是重启服务,以避免中断现有的 TCP 连接。使用以下任一命令重载配置:
systemctl restart firewalld
firewall-cmd --reload
检查防火墙配置是否成功应用,可以通过查看 iptables 规则或直接查询服务状态:
iptables -L -n | grep 21
firewall-cmd --state
查询特定服务(如 FTP 或 SSH)是否已被防火墙启用,可以使用:
firewall-cmd --query-service ftp
firewall-cmd --query-service ssh
显示当前防火墙的所有设置,包括开放的端口和服务等信息,可以执行:
firewall-cmd --list-all
对于非标准服务或端口,可以通过指定端口号和通信协议来添加到防火墙规则中,例如开放 8080 端口用于 HTTP 服务:
firewall-cmd --zOne=public --add-port=8080/tcp --permanent
其中,--zOne=public
表示作用域为公共网络,--add-port=8080/tcp
指定要开放的端口及协议类型,而 --permanent
参数确保配置在系统重启后仍然有效。
最后,关于防火墙的基本操作,如开启、关闭和查看状态,可以使用以下命令:
开启防火墙:service firewalld start
关闭防火墙:service firewalld stop
查看状态:service firewalld status