Setting of iptables on my linux box
自宅サーバをファイヤウォールとして機能させます。
カーネルの設定
iptablesを利用するために
適切なオプションを選択
してカーネルを作る。
# grep FILTER /usr/src/linux/.config
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_FILTER=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_ARPFILTER=y
# CONFIG_PPP_FILTER is not set
ルーティングの禁止
iptablesの設定スクリプト
基本的な考え方(ポリシー)
- 自サバのプロセスから発せられるパケットは全て自由♪
- 自サバを通過しようとするパケットは全て禁止!
- 自サバに入って来るパケットは全て禁止!
上記の基本ポリシーを前提として、自サバに入って来るパケットの内、
必要な物だけ通す設定を行う(穴を空ける)。
- lo(ループバック)へ入って来るパケットは全て自由♪
- eth1(trust側)へ入って来るパケットは全て自由♪
と、こうした上で、eth0(untrust側)に入って来るパケットの処遇を
検討して行きます。
- プライベートアドレスを名乗るパケットは全て禁止!
- TCPの応答パケットは全て自由♪
- ICMPの応答パケットは一部自由♪
- UDPの応答パケット(らしき物)は全て自由♪
- 自サバで公開してるサービスへのパケットは全て自由♪(本当は一部制限有り(^^;)
そして、最後に
- ここまでのルールからこぼれ落ちたパケットは全て禁止!
...と、概要としてはこんな感じで設定しました。で、実際の
設定スクリプトは以下です。
m-ito@myh.no-ip.org
[更新]