修改Linux防火墙规则?firewalld/ufw/iptables全指南

修改前的关键准备

  1. 备份现有规则
    sudo iptables-save > ~/iptables_backup.txt  # iptables备份
    sudo cp /etc/ufw/user.rules ~/ufw_backup.rules  # ufw备份
  2. 查看当前规则
    sudo firewall-cmd --list-all          # firewalld
    sudo ufw status verbose               # ufw
    sudo iptables -L -n -v                # iptables
  3. 权限要求
    所有操作需 root 权限,命令前加 sudo

主流工具操作指南

使用 firewalld(推荐用于 CentOS/RHEL/Fedora)

  • 开放端口
    sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent  # 永久开放TCP 8080
    sudo firewall-cmd --reload  # 重载生效
  • 允许IP访问
    sudo firewall-cmd --zone=public --add-source=192.168.1.100 --permanent
    sudo firewall-cmd --reload
  • 删除规则
    sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
    sudo firewall-cmd --reload

使用 ufw(推荐用于 Ubuntu/Debian)

  • 启用防火墙
    sudo ufw enable  # 首次使用需启用
  • 开放SSH端口(避免锁死自己)
    sudo ufw allow 22/tcp
  • 允许特定服务
    sudo ufw allow http  # 等价于端口80
    sudo ufw allow 443/tcp
  • 拒绝IP访问
    sudo ufw deny from 203.0.113.50  # 屏蔽IP
  • 删除规则
    sudo ufw status numbered  # 查看规则编号
    sudo ufw delete 2         # 删除编号2的规则

使用 iptables(通用但需手动保存)

  • 开放端口
    sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT  # 允许MySQL端口
  • 允许IP段
    sudo iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT  # 允许整个子网
  • 删除规则
    sudo iptables -L INPUT --line-numbers  # 查看规则行号
    sudo iptables -D INPUT 3               # 删除INPUT链的第3条规则
  • 保存规则(必须操作)
    sudo apt install iptables-persistent   # Debian/Ubuntu
    sudo netfilter-persistent save
    # 或
    sudo service iptables save             # CentOS 6

常见场景示例

  1. 部署Web服务器
    sudo ufw allow 80/tcp && sudo ufw allow 443/tcp  # ufw
    sudo firewall-cmd --add-service={http,https} --permanent  # firewalld
  2. 允许Ping检测
    sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
  3. 端口转发(将80转到8080)
    sudo firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 --permanent

安全注意事项

  1. 避免锁死自己
    • 修改规则前确保已放行当前SSH连接端口(默认22)。
    • 使用nohup执行可能断连的操作:
      nohup sudo ufw enable &  # 后台启用防火墙
  2. 最小权限原则
    • 仅开放必要端口,如非生产环境关闭3306、6379等数据库端口。
    • 使用--permanent(firewalld)或保存规则(iptables)防止重启失效。
  3. 日志监控
    sudo ufw logging on  # 启用日志(路径:/var/log/ufw.log)
    sudo journalctl -u firewalld.service  # 查看firewalld日志

故障排查

  • 规则未生效?
    检查顺序:

    1. 是否重载了配置(firewall-cmd --reloadufw reload)?
    2. 是否保存了规则(iptables需手动保存)?
    3. 是否有冲突规则(如先拒绝所有再允许个别)?
  • 恢复备份
    sudo iptables-restore < ~/iptables_backup.txt  # iptables还原
    sudo ufw reload < ~/ufw_backup.rules           # ufw还原

引用说明

  • 官方文档:
    firewalld.org |
    Ubuntu UFW Guide |
    Netfilter Iptables
  • 安全标准参考:
    NIST SP 800-123《Linux服务器安全指南》
  • 测试环境:
    CentOS 9 / Ubuntu 22.04 LTS / iptables v1.8.8

修改防火墙规则时,始终遵循“先测试后生产”原则,复杂网络环境建议结合tcpdump验证流量,并定期审计规则。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9971.html

(0)
酷番叔酷番叔
上一篇 2025年8月8日 08:29
下一篇 2025年8月8日 08:45

相关推荐

  • 针对Linux系统,攻击者如何利用漏洞?入侵手段与防范方法有哪些?

    Linux系统因其稳定性、灵活性和开源特性,被广泛应用于服务器、嵌入式设备及桌面环境,但同时也成为攻击者的目标,攻击Linux系统通常涉及多个阶段,从信息收集到权限维持,每个环节都可能利用系统配置漏洞、软件缺陷或用户行为疏忽,本文将从攻击者的视角拆解常见攻击路径,并重点阐述防御策略,帮助理解系统安全防护的核心逻……

    2025年8月26日
    15600
  • Linux当前活动设备如何添加?

    在Linux系统中,”当前活动设备”通常指系统正在使用或已识别的硬件设备,如USB设备、声卡、网络接口、存储设备等,动态添加这些设备并使其成为”当前活动”状态,涉及设备识别、驱动加载、配置激活等多个环节,本文将详细讲解不同类型设备的添加方法,包括基础原理、操作步骤及常见场景处理,Linux设备管理基础:核心概念……

    2025年9月26日
    13100
  • 如何查看Linux系统CPU、内存、磁盘等资源使用情况?

    在Linux系统中,监控和管理系统资源是运维和开发工作的核心任务之一,通过合理使用命令行工具,可以实时掌握CPU、内存、磁盘、网络及进程等资源的使用情况,及时发现性能瓶颈或异常问题,以下是查看Linux各类资源的详细方法和常用命令,CPU资源查看CPU是系统的核心资源,查看CPU使用情况需关注整体负载、各核心利……

    2025年9月18日
    14800
  • linux如何服务重启服务器

    在Linux服务器管理中,重启服务或服务器是日常运维中常见的操作,通常用于解决服务卡死、配置更新后生效、系统资源异常等问题,正确的重启操作能确保服务快速恢复,同时减少对业务的影响,本文将详细介绍Linux系统中重启服务和服务器的常用方法、注意事项及常见问题处理,重启系统服务的方法Linux系统中,服务的管理主要……

    2025年9月17日
    15800
  • 在Linux操作系统中,解压.gz文件的常用命令及操作步骤有哪些?

    .gz文件是Linux/Unix系统中通过gzip工具压缩的文件格式,它采用DEFLATE压缩算法,能有效减少文件占用空间,常用于文本文件、日志文件等的压缩,在Linux系统中,解压.gz文件主要通过gzip或gunzip命令实现,本文将详细介绍不同场景下的解压方法、常用选项及注意事项,基础解压命令:gunzi……

    2025年9月30日
    13900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信