Blog Home
Updated: 2025 Nov 01

iptables 持久化完整指南

iptables 持久化概述

iptables 规则默认在系统重启后会丢失,需要持久化保存。以下是几种常用的持久化方法。

方法一:使用 iptables-persistent(Debian/Ubuntu)

安装工具

sudo apt install iptables-persistent

保存当前规则

# 保存规则
sudo netfilter-persistent save

# 重载规则
sudo netfilter-persistent reload
# 或者
sudo iptables-save > /etc/iptables/rules.v4
sudo ip6tables-save > /etc/iptables/rules.v6

方法二:使用 iptables-services(CentOS/RHEL)

安装服务

sudo yum install iptables-services
# 或 RHEL 8+
sudo dnf install iptables-services

保存规则

sudo service iptables save
# 
sudo iptables-save > /etc/sysconfig/iptables

启用服务

sudo systemctl enable iptables
sudo systemctl start iptables

方法三:手动脚本方式(通用)

保存当前规则

sudo iptables-save > /etc/iptables.rules

创建恢复脚本

创建文件 /etc/network/if-pre-up.d/iptables

#!/bin/bash
iptables-restore < /etc/iptables.rules

赋予执行权限

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

方法四:systemd 服务(通用)

创建服务文件

创建文件 /etc/systemd/system/iptables-restore.service

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

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

[Install]
WantedBy=multi-user.target

启用服务

sudo systemctl enable iptables-restore

验证持久化

重启系统后检查规则:

sudo iptables -L -n -v

Comments:

Email questions, comments, and corrections to hi@smartisan.dev.

Submissions may appear publicly on this website, unless requested otherwise in your email.