我正在尝试将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服务器。
答案 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.v4
,ip6tables-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中设置任何规则。