温馨提示×

Debian如何启动iptables服务

小樊
60
2026-08-14 05:06:16
栏目: 智能运维

Debian 中,iptables 本身并不是一个“服务”,而是用于配置 Linux 内核防火墙规则的工具。是否需要在“启动时生效”,取决于 Debian 的版本 以及你使用的 防火墙管理方式。下面分情况说明。


一、Debian 现状说明(重要)

  • Debian 10(Buster)及以后
    • 默认使用 nftables
    • iptables 实际是 iptables-nft(兼容层)
    • 没有 iptables systemd 服务
  • Debian 9 及更早版本
    • 使用传统 iptables
    • 可通过 iptables-persistent 实现开机自启

二、推荐方式(所有 Debian 版本通用 ✅)

✅ 使用 iptables-persistent(最常用)

1️⃣ 安装

sudo apt update
sudo apt install iptables-persistent

安装过程中会询问是否保存当前规则:

  • ✅ 是(推荐)

它会创建:

  • /etc/iptables/rules.v4
  • /etc/iptables/rules.v6

2️⃣ 配置规则

以阻止 80 端口为例:

sudo iptables -A INPUT -p tcp --dport 80 -j DROP

保存规则(开机自动加载):

sudo netfilter-persistent save

或手动:

sudo iptables-save > /etc/iptables/rules.v4

3️⃣ 启用并启动

sudo systemctl enable netfilter-persistent
sudo systemctl start netfilter-persistent

✅ 重启后规则自动生效


三、如果你使用的是“旧 Debian(≤ 9)”

传统方式(不推荐新系统)

sudo iptables-save > /etc/iptables/rules.v4

或创建启动脚本:

sudo nano /etc/network/if-pre-up.d/iptables

内容:

#!/bin/sh
iptables-restore < /etc/iptables/rules.v4

赋予执行权限:

sudo chmod +x /etc/network/if-pre-up.d/iptables

四、检查 iptables 是否已生效

sudo iptables -L -n -v

五、Debian 10+ 更推荐的方式(进阶)

如果你不依赖 iptables,可以直接使用 nftables

sudo apt install nftables
sudo systemctl enable nftables
sudo systemctl start nftables

六、总结(快速选型)

场景 推荐方式
Debian 10+ iptables-persistent
需要开机自动加载 netfilter-persistent
新系统 直接用 nftables
临时测试 直接 iptables 命令

如果你愿意,可以告诉我:

  • Debian 版本(cat /etc/debian_version
  • 是服务器还是桌面
  • 是否用 Docker / K8s / 云服务器

我可以给你一套 最合适、最安全的防火墙配置方案

0