パケットフィルタリング

Debian Etch V4
/etc/init.d/iptablesの起動スクリプトは完全に省かれたので、iptablesのスクリプトを/etc/network/if-up.dにおいた。
run-partsで実行しているので、スクリプト名は英数字とハイフンとアンダーバーのみである。つまり、ドットは使えない。
/etc/netwrok/optionsはetchからなくなっている。
ルータ化のためには、forwardのためには、
# vi /etc/sysctl.conf
# net.ipv4.conf.default.forwarding=1をコメントアウト
# reboot
sysctl -pでは、defaultしか変更できないので、デバイスごとに設定するより、rebootが簡単
iptablesの設定では、とりあえず、下記があればルータとして働く
あとは、INPUTとOUTPUTのターゲットでフィルタリングを追加する。
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -A POSTROUTING -o $ETH_WAN -j MASQUERADE
iptables -P FORWARD DROP
iptables -A FORWARD -i $ETH_LAN -j ACCEPT
iptables -A FORWARD -i $ETH_WAN -m state –state ESTABLISHED -j ACCEPT

Debian Lenny V5
iptablesのスクリプトを作成して、/etc/network/if-up.dにおいた。
run-partsで実行しているので、スクリプト名は英数字とハイフンとアンダーバーのみであり、ドットは使えない。
forwardのためには、
# vi /etc/sysctl.conf
> net.ipv4.conf.default.forwarding=1をコメントアウト
# reboot
sysctl -pより、rebootが簡単
iptablesの設定は難しいので、下記のログを出力して、設定を調節している。
iptables -A INPUT -j LOG –log-tcp-options –log-ip-options –log-prefix “INPUT: “
iptables -A FORWARD -j LOG –log-tcp-options –log-ip-options –log-prefix “FORWARD: “
iptables -A OUTPUT -j LOG –log-tcp-options –log-ip-options –log-prefix “OUTPUT: “
# tail -f /var/log/messages
これでログをモニタしておけば便利。

コメント