如何永久更新iptables

时间:2012-02-17 15:13:23

标签: ubuntu iptables

我正在尝试将http流量重定向到同一台计算机上的端口8080,并且iptables规则在下面工作。

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8080

我正试图弄清楚如何在系统重新启动时永久性地进行此更改。

我正在使用Ubuntu 11.10服务器。

4 个答案:

答案 0 :(得分:134)

Ubuntu(和Debian)提供了包iptables-persistent(Debian:http://packages.debian.org/wheezy/iptables-persistent,Ubuntu:http://packages.ubuntu.com/saucy/iptables-persistent),它完全符合您的要求。作为root,或通过sudo:

apt-get install iptables-persistent
iptables-save > /etc/iptables/rules.v4

如果您正在使用ip6tables,则还需要ip6tables-save > /etc/iptables/rules.v6

您必须在做出任何更改后再次保存表格iptables-save > /etc/iptables/rules.v4ip6tables-save > /etc/iptables/rules.v6

在旧版本(在iptables-0.5之前,在Debian Wheezy之前),你需要写一个不同的文件:

iptables-save > /etc/iptables/rules

答案 1 :(得分:18)

这样做的一种方法是:

vim /etc/network/interfaces

将以下行与您的指令一起附加:

post-up /sbin/iptables-restore < /etc/iptables-up.rules

现在运行以下命令

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

我希望这会有所帮助。

答案 2 :(得分:6)

我们不能用rc.local做同样的事情,但执行以下步骤

iptables-save > current_iptables_rules

然后进入/etc/rc.local并输入以下内容

iptables-restore < current_iptables_rules

这不会完成同样的事情吗?我可能会遗漏一些东西。

答案 3 :(得分:2)

将它们添加到/etc/ufw/before.rules。语法略有不同,但你会看到它是如何工作的。

UFW是iptables的Ubuntu防火墙前端。您可能需要使用sudo ufw enable启用UFW,但您不能在ufw中设置任何规则。