如何永久更新iptables

我试图在同一台机器上将httpstream量redirect到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服务器。

一种方法是:

 vim /etc/network/interfaces 

追加下面的行和你的eth0指令:

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

现在运行下面的命令

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

我希望这有帮助。

Ubuntu(和Debian)提供iptables-persistent软件包(Debian: http : //packages.debian.org/wheezy/iptables-persistent,Ubuntu : http : //packages.ubuntu.com/saucy/iptables-persistent ),正是你想要的。 作为根,或通过sudo:

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

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

你做任何修改后都必须重新保存表( iptables-save > /etc/iptables/rules.v4 ip6tables-save > /etc/iptables/rules.v6 )。

在旧版本(在iptables-0.5之前,在Debian Wheezy之前),您将需要写入不同的文件:

 iptables-save > /etc/iptables/rules 

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

 iptables-save > current_iptables_rules 

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

 iptables-restore < current_iptables_rules 

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

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

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