温馨提示×

debian iptables如何开机启动

小樊
44
2026-09-04 19:27:42
栏目: 智能运维

在 Debian 系统中,iptables 规则本身不会自动保存,需要手动配置“开机加载规则”。下面按常见场景说明几种做法。


一、传统方式(iptables + iptables-persistent,推荐)

1. 安装持久化工具

sudo apt update
sudo apt install iptables-persistent

安装过程中会问是否保存当前规则,选 Yes

2. 保存当前 iptables 规则

sudo netfilter-persistent save

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

3. 开机自动加载

iptables-persistent 会通过 systemd 服务自动加载:

systemctl status netfilter-persistent

只要服务是 enabled,重启后会自动应用规则。


二、手动方式(不使用持久化工具)

1. 保存规则

iptables-save > /etc/iptables.rules

2. 创建开机脚本

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

内容示例:

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

3. 赋予执行权限

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

三、使用 systemd(进阶)

创建服务文件:

sudo nano /etc/systemd/system/iptables-restore.service

内容:

[Unit]
Description=Restore iptables rules
Before=network-pre.target
Wants=network-pre.target

[Service]
Type=oneshot
ExecStart=/sbin/iptables-restore /etc/iptables.rules
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

启用:

sudo systemctl enable iptables-restore

四、Debian 新版本注意(nftables)

如果你用的是 Debian 10+,默认可能使用 nftables

sudo apt install nftables
sudo systemctl enable nftables

iptables 命令可能只是 nftables 的兼容层。


五、常用检查命令

iptables -L -n -v
systemctl list-unit-files | grep -i iptables

推荐做法
Debian + iptables-persistent(netfilter-persistent

如果你告诉我 Debian 版本(如 11 / 12)是否用 nftables,我可以给你更精确的步骤。

0