温馨提示×

何处修改debian iptables策略

小樊
50
2026-10-07 14:35:10
栏目: 智能运维

在 Debian 系统中,修改 iptables 策略通常有以下几种方式和位置,具体取决于你的系统配置:


一、临时修改(立即生效,重启后失效)

直接使用 iptables 命令:

# 查看当前规则
iptables -L -n -v

# 示例:允许 22 端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 示例:拒绝某个 IP
iptables -A INPUT -s 1.2.3.4 -j DROP

# 保存当前规则(见下方保存方式)

⚠️ 这种方式重启后会丢失,除非你保存并配置开机加载。


二、永久保存 iptables 规则(传统方式)

Debian 10 及以前(使用 iptables-persistent)

apt install iptables-persistent

保存规则:

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

开机自动加载:

  • 文件位置:/etc/iptables/rules.v4
  • 由 netfilter-persistent 服务加载

启用服务:

systemctl enable netfilter-persistent

三、Debian 11 / 12(使用 nftables 或 iptables-nft)

1️⃣ 如果你仍使用 iptables(iptables-legacy)

update-alternatives --config iptables
# 选择 iptables-legacy

然后:

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

2️⃣ 如果系统使用 nftables(推荐)

Debian 10+ 默认逐步转向 nftables

查看:

nft list ruleset

配置文件:

/etc/nftables.conf

修改后应用:

nft -f /etc/nftables.conf
systemctl enable nftables

四、通过 firewalld(如果已安装)

firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload

配置文件:

/etc/firewalld/

五、常见修改位置总结

目的 位置 / 命令
临时规则 iptables 命令
永久规则(legacy) /etc/iptables/rules.v4
nftables /etc/nftables.conf
firewalld /etc/firewalld/
启动加载 netfilter-persistent / nftables 服务

六、建议

  • 新系统:优先使用 nftables
  • 老脚本/兼容:使用 iptables-legacy + iptables-persistent
  • 修改前务必保留一条 允许 SSH 的规则,避免被锁外面

如果你能告诉我:

  • Debian 版本
  • 是否使用 nftables / firewalld
  • 想实现什么策略(如开放端口、限制 IP)

我可以给你精确到文件的配置示例。

0 踩