温馨提示×

debian防火墙支持哪些功能

小樊
38
2025-12-13 04:37:24
栏目: 智能运维

Debian 防火墙的主要功能与能力

核心功能

  • 数据包过滤:基于源/目的 IP、端口、协议、接口、连接状态等对流量进行允许/拒绝,控制入站、出站与转发路径。
  • 状态检测与连接跟踪:识别NEW/ESTABLISHED/RELATED/INVALID等状态,便于放行已建立会话、限制新建连接。
  • 网络地址转换 NAT:支持SNAT、DNAT、MASQUERADE,用于公网出口地址复用、端口映射与内网发布服务。
  • 端口转发与重定向:通过 NAT/策略路由实现端口转发、本地或远程端口重定向。
  • 访问控制与限速:按IP/网段、端口、协议精细化放通或拒绝;可配合扩展实现连接数/速率限制,缓解 DoS/暴力扫描。
  • 日志与审计:对匹配规则的数据包进行LOG记录,便于安全审计与故障排查。
  • IPv4/IPv6 双栈支持:可同时管理 IPv4/IPv6 规则(取决于工具与配置)。

管理工具与适用场景

  • UFW(Uncomplicated Firewall):基于 iptables 的前端,语法简洁,适合快速上手与日常运维。
    典型能力:设置默认策略(如默认拒绝入站、允许出站)、按端口/协议/来源 IP放通、支持端口范围、规则编号管理、日志级别配置、启用/禁用与开机自启;在 /etc/default/ufw 中可将 IPV6=yes 以启用 IPv6 规则。
  • firewalld:以区域(zone)服务(service)为核心,支持动态规则管理,适合需要按网络环境切换策略的场景。
    典型能力:区域/服务/端口管理,支持
    临时与永久
    规则(–permanent 与 --reload)、查看活动区域与完整规则、按区域粒度应用不同策略。
  • nftables:Debian 10(Buster)及以后的默认防火墙框架,规则表达更现代高效,兼容并逐步取代 iptables 底层实现。
    典型能力:内核级高效匹配与处理、可持久化规则集、适配复杂策略与大规模规则场景。
  • iptables:经典的 Netfilter 用户态工具,控制粒度最细,适合高级定制与复杂网络需求。
    典型能力:操作filter/nat/mangle/raw/security等表与INPUT/OUTPUT/FORWARD等链,使用 ACCEPT/DROP/REJECT/LOG/DNAT/SNAT/MASQUERADE/REDIRECT 等目标动作。

典型能力与命令示例

能力 UFW 示例 firewalld 示例 iptables 示例
启用防火墙 sudo ufw enable sudo systemctl start firewalld && sudo systemctl enable firewalld
开放端口/服务 sudo ufw allow 80/tcp;sudo ufw allow ssh sudo firewall-cmd --permanent --add-port=80/tcp;sudo firewall-cmd --permanent --add-service=http && sudo firewall-cmd --reload sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
来源 IP 限制 sudo ufw allow from 192.168.1.100 to any port 22/tcp sudo firewall-cmd --permanent --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.100” port port=“22” protocol=“tcp” accept’ && sudo firewall-cmd --reload sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 22 -j ACCEPT
端口范围 sudo ufw allow 3000:3100/tcp sudo firewall-cmd --permanent --add-port=3000-3100/tcp && sudo firewall-cmd --reload sudo iptables -A INPUT -p tcp --dport 3000:3100 -j ACCEPT
日志与审计 sudo ufw logging on(日志位于 /var/log/ufw.log 通过系统日志与 rich rule 配合记录 sudo iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix "SSH-ACCEPT: "
NAT 端口转发 —(建议用 nftables/iptables) —(建议用 nftables/iptables) sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.6.100

0