温馨提示×

Linux防火墙如何恢复默认设置

小樊
43
2025-10-22 21:02:18
栏目: 智能运维

Linux防火墙恢复默认设置方法(按工具分类)

一、iptables(传统内核级防火墙)

iptables是Linux内核自带的防火墙工具,适用于CentOS 6、Ubuntu 14.04等旧版本系统。恢复默认设置需通过命令清空规则并重置策略:

  1. 清空所有规则
    执行以下命令清除所有链中的规则及自定义链:
    sudo iptables -F && sudo iptables -X && sudo iptables -t nat -F && sudo iptables -t nat -X && sudo iptables -t mangle -F && sudo iptables -t mangle -X
    
  2. 重置默认策略
    将输入、转发、输出链的默认策略设置为“ACCEPT”(允许所有流量,后续需根据需求调整):
    sudo iptables -P INPUT ACCEPT && sudo iptables -P FORWARD ACCEPT && sudo iptables -P OUTPUT ACCEPT
    
  3. 保存配置(可选但推荐)
    根据系统发行版选择保存方式,确保重启后规则生效:
    • Debian/Ubuntu:sudo iptables-save > /etc/iptables/rules.v4
    • CentOS/RHEL:sudo service iptables save(或sudo /sbin/iptables-save > /etc/sysconfig/iptables

二、firewalld(动态防火墙管理工具)

firewalld是CentOS 7+、Fedora、RHEL 8+等系统的默认防火墙工具,支持动态区域和服务的管理:

  1. 停止firewalld服务
    先停止服务以应用重置操作:
    sudo systemctl stop firewalld
    
  2. 重置配置文件
    删除自定义配置文件,恢复系统默认配置:
    sudo rm -rf /etc/firewalld/zones/*  # 删除所有自定义区域文件
    
  3. 重启firewalld服务
    重启服务以加载默认配置:
    sudo systemctl start firewalld
    
  4. 可选:完全重置(包括主配置文件)
    若需彻底恢复(如修改过firewalld.conf),可执行:
    sudo cp /usr/lib/firewalld/firewalld.conf /etc/firewalld/firewalld.conf  # 恢复默认主配置
    sudo systemctl restart firewalld
    
  5. 验证状态
    确认firewalld运行正常及默认区域:
    sudo firewall-cmd --state && sudo firewall-cmd --get-default-zone
    

三、ufw(简易防火墙工具,Ubuntu默认)

ufw(Uncomplicated Firewall)是Ubuntu系统的简化防火墙工具,适合新手使用:

  1. 禁用ufw
    先禁用服务以避免规则冲突:
    sudo ufw disable
    
  2. 重置ufw配置
    执行reset命令删除所有用户定义的规则和配置:
    sudo ufw reset
    
  3. 启用ufw
    重新启用服务并设置默认策略(默认拒绝所有入站、允许所有出站):
    sudo ufw enable
    
  4. 验证状态
    查看ufw状态确认重置成功:
    sudo ufw status verbose
    

恢复默认后的注意事项

  • 重新配置规则:恢复默认后,系统将失去所有自定义的端口开放、服务允许等规则,需根据实际需求重新配置(如开放SSH的22端口:firewall-cmd --add-port=22/tcp --permanentsudo ufw allow 22)。
  • 检查网络连接:确保关键服务(如Web、数据库)的网络访问正常,避免因规则遗漏导致服务中断。
  • 备份配置:日常运维中,建议定期备份防火墙配置(如iptables-save > backup.rulescp -r /etc/firewalld zones/ backup/),以便快速恢复。

0