我添加这条规则:
sudo iptables -t nat -A OUTPUT -d a.b.c.d -p tcp \
--dport 1723 -j DNAT --to-destination a.b.c.d:10000
- 重新启动计算机时规则将被删除。为什么?
- 我可以做些什么来使规则持续存在?
答案1
在 Debian 上,安装iptables-persistent
:
sudo apt-get install iptables-persistent
该软件包将/etc/iptables/rules
在启动期间自动为您加载。
每当您修改规则时,请运行/sbin/iptables-save > /etc/iptables/rules
以保存它们。如果您愿意,您还可以将其添加到关闭序列中。
答案2
iptables 中没有任何选项可以使您的规则永久化。但您可以使用iptables-save
和iptables-restore
来完成您的任务。
首先使用您提供的命令添加 iptable 规则。
然后将 iptables 规则保存到某个文件,例如/etc/iptables.conf
使用以下命令:
$ iptables-save > /etc/iptables.conf
添加以下命令/etc/rc.local
以在每次重新启动时重新加载规则。
$ iptables-restore < /etc/iptables.conf
答案3
安装完上述内容后,iptables-persistent
您还可以在 Ubuntu 16.04+ 上使用以下更短的命令保存规则:
sudo netfilter-persistent save
它们还可以恢复到上次保存时的状态:
sudo netfilter-persistent reload
答案4
- 安装
iptables-persistent
包 - 每当您更改 iptables 规则时,您应该使用以下命令将备份保存到以下文件中:
iptables-save -f /etc/iptables/rules.v4
(对于 iptables)
iptables-save -f /etc/iptables/rules.v6
(对于 ip6 表)