1. 确认防火墙是否开启
在对防火墙进行关闭前,需要先检查当前系统中是否有防火墙正在运行,以免操作错误导致系统安全性降低。
1.1 查看防火墙状态
在Linux系统中,可以通过执行以下命令来查看防火墙的状态:
sudo systemctl status firewalld
执行上述命令后,可以得到类似以下的输出结果:
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-12-03 19:21:56 CST; 14min ago
Docs: man:firewalld(1)
Main PID: 759 (firewalld)
Tasks: 2 (limit: 2368)
Memory: 37.9M
CGroup: /system.slice/firewalld.service
└─759 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
Dec 03 19:21:55 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
Dec 03 19:21:56 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
如果输出结果中的Active为active (running),则表明防火墙正在运行;如果Active为inactive (dead),则表明防火墙已经被关闭。
1.2 查看防火墙规则
如果希望查看防火墙当前的规则,可以通过以下命令进入防火墙的交互式配置界面:
sudo firewall-cmd --list-all
执行上述命令后,可以得到类似以下的输出结果:
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
以上输出结果中,interfaces 列可以看到使用了哪些接口,services 列则列出了哪些服务被允许访问,ports 列则列出开放了哪些端口。
2. 关闭防火墙
如果在确认防火墙开启后需要关闭防火墙,可以按照以下步骤操作。
2.1 停止防火墙服务
执行以下命令,停止防火墙服务:
sudo systemctl stop firewalld
执行上述命令后,防火墙服务将被停止。
2.2 禁止防火墙服务开机自启
为了确保防火墙在下次开机时不会自动启动,可以执行以下命令,禁止防火墙服务自启:
sudo systemctl disable firewalld
执行上述命令后,防火墙服务将被禁止开机自启。
3. 启用防火墙
如果在关闭防火墙后需要再次启用防火墙,可以按照以下步骤操作。
3.1 启动防火墙服务
执行以下命令,启动防火墙服务:
sudo systemctl start firewalld
执行上述命令后,防火墙服务将被启动。
3.2 允许需要访问的服务或端口
在启动防火墙后,需要在防火墙中配置规则,允许特定的服务或端口被访问。
以允许SSH服务为例,执行以下命令,将SSH服务添加到防火墙的允许列表中:
sudo firewall-cmd --add-service=ssh --permanent
执行上述命令后,SSH服务将被永久添加到防火墙的允许列表中。
如果需要开放特定的端口,在执行上述命令时,需要将--add-service 参数改为 --add-port 参数,并指定需要开放的端口号。
配置完成后,需要执行以下命令重新加载防火墙规则,才能使新的配置生效:
sudo firewall-cmd --reload
执行上述命令后,防火墙规则将会重新加载。
4. 总结
在Linux系统中,防火墙对保护系统安全起着重要的作用。在需要对系统进行修改或调试时,可能需要临时关闭防火墙,以免出现不必要的问题。在进行此操作时,需要先确认当前系统是否有防火墙正在运行,并按照正确的步骤进行关闭或启用防火墙。
如果需要对具体的服务或端口进行配置,可以通过防火墙的交互式配置界面进行配置,并需要在添加或修改规则后重新加载防火墙规则,以确保新的规则能够生效。