web-dev-qa-db-ja.com

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サーバーを使用しています。

39
hafichuk

これを行う1つの方法は次のとおりです。

vim /etc/network/interfaces

Loディレクティブとともに以下の行を追加します。

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

次のコマンドを実行します

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

これがお役に立てば幸いです。

18
vinod_garag

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
134
yomimono

Rc.localで同じことはできませんが、次の手順を実行できません

iptables-save > current_iptables_rules

次に/etc/rc.localに移動して、次を入力します

iptables-restore < current_iptables_rules

それは同じことを達成しませんか?私は何かが欠けている可能性があります。

6
Todd

それらを/etc/ufw/before.rulesに追加します。構文は少し異なりますが、どのように機能するかがわかります。

UFWは、iptablesへのUbuntuファイアウォールフロントエンドです。 Sudo ufw enableを使用してUFWを有効にする必要があるかもしれませんが、ufw内でルールを設定することはできません。

2
Chris