iptablesについて

Last-modified: Sun, 28 Aug 2016 00:29:49 JST (474d)

普段CentOSばかり使っていたので、Ubuntuでiptablesを使うとき苦労したのでメモ。

CentOSなどRedHat系では、iptablesを使うとき、

service iptables start

のようにサービスを使うのですが、Ubuntuでやると

service iptables start
iptables: unrecognized service

とつれない返事がきます。
これ実は、iptablesはサービスではないんです
え?CentOSではサービスじゃないの?と思うのですが、

/etc/rc.d/init.d/iptables

を覗いて見ると分かるのですが、あれ、iptablesコマンドを内部でガシガシ叩いてサービスっぽく見せているだけでした。
なので、Ubuntuで

service iptables save

と同じことは、

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

で、

service iptables restart

と同じことは

iptables-restore < /etc/iptables/rules.v4

です。
なお、UbuntuではUFWも動いています。結局これはiptablesのフロントエンドなので、
UFWで設定した内容は、iptables-saveで取得できます。

iptables stop

に相当する、すべてのアクセスを許可する方法ですが、
すべてのフィルターをクリアし、すべてのアクセスを許可するフィルターをセットします。
が、SSH経由で実行すると、フィルタークリア時死ぬので、以下のようなシェルを作った上で実行するほうがいいです。

#!/bin/bash
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

なお、再起動時も有効化したい場合は

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

を忘れないようにしましょう。


Counter: 232, today: 1, yesterday: 0

このページの参照回数は、232です。