在Debian系统中,iptables的规则默认不会在重启后自动保存。为了确保iptables规则在系统重启后仍然有效,你需要手动保存这些规则。以下是几种常见的方法来保存iptables规则:
iptables-save
和iptables-restore
保存当前的iptables规则:
sudo iptables-save > /etc/iptables/rules.v4
如果你使用的是IPv6,还需要保存IPv6的规则:
sudo ip6tables-save > /etc/iptables/rules.v6
创建一个启动脚本: 你可以创建一个启动脚本来在系统启动时自动恢复iptables规则。
创建一个脚本文件,例如/etc/network/if-pre-up.d/iptables
:
sudo nano /etc/network/if-pre-up.d/iptables
在文件中添加以下内容:
#!/bin/sh
/sbin/iptables-restore < /etc/iptables/rules.v4
/sbin/ip6tables-restore < /etc/iptables/rules.v6
赋予脚本执行权限:
sudo chmod +x /etc/network/if-pre-up.d/iptables
ufw
(Uncomplicated Firewall)如果你使用的是ufw
,它会在系统启动时自动加载iptables规则。
启用ufw
:
sudo ufw enable
保存ufw
配置:
ufw
会自动保存配置到/etc/ufw/user.rules
和/etc/ufw/user6.rules
。
iptables-persistent
iptables-persistent
是一个方便的工具,可以自动保存和恢复iptables规则。
安装iptables-persistent
:
sudo apt-get update
sudo apt-get install iptables-persistent
保存当前规则: 安装过程中会提示你是否要保存当前规则,选择“是”。
手动保存规则:
如果你已经安装了iptables-persistent
但还没有保存规则,可以使用以下命令:
sudo netfilter-persistent save
sudo netfilter-persistent reload
通过以上方法之一,你可以确保在Debian系统重启后,iptables规则仍然有效。