温馨提示×

Debian防火墙如何使用

小樊
37
2025-12-21 02:27:45
栏目: 智能运维

Debian 防火墙使用指南

一 工具选择与适用场景

  • UFW(Uncomplicated Firewall):基于 iptables 的前端,语法简洁,适合新手与服务器快速配置,支持按端口、协议、来源 IP、子网、接口等管理规则。
  • iptables:传统且灵活的数据包过滤框架,适合需要精细控制的场景;规则默认不持久,需配合持久化方案。
  • nftables:新一代 Linux 防火墙框架,语法更现代,适合新项目或希望替代 iptables 的用户。
  • firewalld:以**区域(zone)服务(service)**为核心的管理工具,适合习惯“动态管理”的用户。
    以上工具均可在 Debian 上使用,选择其一作为主线工具即可,避免并行启用导致规则冲突。

二 快速上手 UFW

  • 安装与启用
    • 安装:sudo apt update && sudo apt install ufw -y
    • 设置默认策略(先放行 SSH,再启用):
      sudo ufw default deny incoming
      sudo ufw default allow outgoing
      sudo ufw allow ssh(或 sudo ufw allow 22/tcp
      sudo ufw enable
    • 启用日志:sudo ufw logging on(可选级别:low/medium/high
  • 常用规则
    • 放行 Web:sudo ufw allow 80/tcpsudo ufw allow 443/tcp
    • 放行端口区间:sudo ufw allow 6000:6007/tcp
    • 来源限制:sudo ufw allow from 203.0.113.4 to any port 22
    • 子网限制:sudo ufw allow from 203.0.113.0/24 to any port 22
    • 按接口限制:sudo ufw allow in on eth0 to any port 80
  • 管理与查看
    • 状态与规则:sudo ufw status verbosesudo ufw status numbered
    • 删除规则:sudo ufw delete allow 80sudo ufw delete 2(按编号)
    • 重置与禁用:sudo ufw resetsudo ufw disable
  • 启用 IPv6(如系统启用 IPv6)
    • 编辑:sudo nano /etc/default/ufw,确保 IPV6=yes
      以上步骤覆盖 UFW 在 Debian 上的安装、默认策略、放行常用端口、来源与接口限制、日志与维护等核心用法。

三 使用 iptables 与 nftables

  • iptables(传统方案)
    • 规则示例:
      • 查看:sudo iptables -L -n -v
      • 放行 SSH:sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
      • 放行 HTTP/HTTPS:sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPTsudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    • 持久化(Debian 常用做法):
      • 保存:sudo sh -c "iptables-save > /etc/iptables/rules.v4"
      • 恢复:sudo iptables-restore < /etc/iptables/rules.v4
      • 安装持久化工具:sudo apt install iptables-persistent,安装时选择保存当前规则,后续可用 sudo netfilter-persistent save|start 管理
  • nftables(现代方案)
    • 规则示例:
      • 查看:sudo nft list ruleset
      • 放行 SSH:sudo nft add rule ip filter input tcp dport 22 accept
    • 持久化:
      • 保存:sudo nft list ruleset > /etc/nftables.conf
      • 恢复:sudo nft -f /etc/nftables.conf
        以上命令覆盖 iptables/nftables 在 Debian 上的常用规则、保存与恢复等要点。

四 进阶与运维建议

  • 避免锁死 SSH:在启用默认拒绝入站(deny incoming)前,务必先放行 SSH(22/tcp);远程操作建议先开一个带外/控制台会话以便回滚。
  • 规则顺序与显式放行:iptables 按顺序匹配,先放行需要端口,再设置默认策略为 DROP 更安全;UFW 默认策略即“拒绝入站、允许出站”,在此基础上按需放行。
  • 持久化与备份:任何变更前先备份当前规则;iptables 用 iptables-save/iptables-restoreiptables-persistent;nftables 用 /etc/nftables.conf;UFW 规则随启用持久化。
  • 日志与审计:开启 UFW 日志(sudo ufw logging on)便于排查;生产环境建议结合系统日志分析工具进行异常连接监测。
  • 工具选择:新手优先 UFW;需要细粒度控制选 iptables/nftables;习惯“区域/服务”模型可选 firewalld。避免同时启用多个防火墙引擎。
    以上做法有助于在 Debian 上构建安全、可维护的防火墙策略。

0