菜鸟科技网

Linux重启防火墙命令是什么?

在Linux系统中,防火墙是保障服务器安全的重要组件,重启防火墙是常见的管理操作,通常用于应用新规则、解决服务异常或临时关闭/开启防火墙,不同Linux发行版使用的防火墙工具不同,以下是主流场景下的重启命令及注意事项。

Linux重启防火墙命令是什么?-图1
(图片来源网络,侵删)

基于systemd的防火墙服务(CentOS 7+/RHEL 7+/Fedora等)

这些系统默认使用firewalld作为防火墙管理工具,可通过systemctl控制服务状态,重启命令需分两步:先停止旧服务,再启动新服务,确保规则完全重新加载,具体操作为:

sudo systemctl stop firewalld  # 停止防火墙服务
sudo systemctl start firewalld # 启动防火墙服务

或使用restart命令合并执行(部分版本可能因服务依赖导致重启不完全,推荐分步操作):

sudo systemctl restart firewalld

重启后,可通过firewall-cmd --state检查状态,或sudo firewall-cmd --list-all查看当前规则,若需开机自启,需确保sudo systemctl enable firewalld已执行。

基于iptables的服务(CentOS 6/Debian 7及更早版本)

旧版系统多使用iptables,其服务通常由iptables-service包提供,重启命令为:

Linux重启防火墙命令是什么?-图2
(图片来源网络,侵删)
sudo service iptables restart

或通过systemctl(若已升级systemd):

sudo systemctl restart iptables

重启后,使用sudo iptables -L -n验证规则是否生效,注意:iptables规则默认不保存,需手动执行sudo service iptables save(CentOS)或iptables-save | sudo tee /etc/iptables/rules.v4(Debian)持久化配置。

nftables(Ubuntu 20.04+/Debian 10+)

新版Ubuntu和Debian默认使用nftables替代iptables,服务名为nftables,重启命令:

sudo systemctl restart nftables

规则可通过sudo nft list ruleset查看,配置文件位于/etc/nftables.conf,修改后需重启或执行sudo nft -f /etc/nftables.conf重新加载。

Linux重启防火墙命令是什么?-图3
(图片来源网络,侵删)

通用注意事项

  1. 权限要求:所有命令需root权限或通过sudo执行。
  2. 规则备份:重启前建议备份当前规则,例如sudo iptables-save > backup.iptablessudo firewall-cmd --list-all > firewall_backup.txt,避免误操作导致服务中断。
  3. 服务依赖:若防火墙依赖其他服务(如Docker、NetworkManager),需确保相关服务正常运行,否则可能重启失败。
  4. 临时关闭:若需临时关闭防火墙(如调试),使用sudo systemctl stop firewalldsudo service iptables stop,完成后务必及时重启恢复安全策略。

不同防火墙工具重启命令对比

防火墙工具 适用系统 重启命令 检查状态命令
firewalld CentOS 7+/RHEL 7+ sudo systemctl restart firewalld firewall-cmd --state
iptables CentOS 6/旧版Debian sudo service iptables restart sudo iptables -L -n
nftables Ubuntu 20.04+/Debian 10+ sudo systemctl restart nftables sudo nft list ruleset

相关问答FAQs

Q1: 重启防火墙会导致已建立的连接断开吗?
A1: 通常不会,防火墙重启主要影响新连接的规则匹配,已建立的连接(ESTABLISHED状态)在iptables/firewalld中默认会被保留,但若规则中明确终止相关连接(如--state ESTABLISHED被删除),则可能受影响,建议生产环境操作前测试。

Q2: 为什么执行firewalld restart后规则未生效?
A2: 可能原因包括:① 未使用sudo权限;② 规则未永久化(仅临时规则在重启后丢失);③ 服务未完全启动(可通过sudo systemctl status firewalld检查日志),解决方法:确保规则通过--permanent参数添加,并执行sudo firewall-cmd --reload(软重载)或重启服务。

分享:
扫描分享到社交APP
上一篇
下一篇