パスワードを忘れた? アカウント作成
725741 journal

bananan_wの日記: ウボァファイヤウォールを構築するの巻

日記 by bananan_w
ネットワーク設計ポリシー

FireWall へのログインはシリアルコンソールのみ
ローカル向け transparent proxy
ローカル側のマシンから、IP Masquerade で遊べるように
ローカル用の cache/ローカル向け dns を勃てる
ローカル向け dhcpd を勃てる
ローカル向け ntp サービス
IP偽装プロテクト

SoftwareDesign 2002/3 のOpenBlockSS でADSLで遊ぼうってヤツ
P182- あたり。でちょうど iptables 使っていろいろやってた。
それを参考にして iptables の設定スクリプトを書いてみた。
参考っていうより、ほとんどパクリかも。
#しかもイイカゲンに記述。
#ワシは iptables の man ページ読んだこと無いです(爆)

#!/bin/sh
#firewall setup shell script
#coded 2002/02/26

iptables -F
iptables -t nat -F
iptables -t mangle -F

iptables -P FORWARD DROP
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT

#IP Masquerade
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# filter
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport ntp -j ACCEPT
iptables -A INPUT -p udp -i eth0 --dport ntp -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport domain -j ACCEPT
iptables -A INPUT -p udp -i eth0 --dport domain -j ACCEPT
iptables -A INPUT -p udp -i eth0 --dport bootps -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 3128 -j ACCEPT

# transparent proxy
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128

# REJECT(INPUT)
iptables -A INPUT -p tcp -i ppp0 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p udp -i ppp0 -j REJECT --reject-with icmp-port-unreachable

# established connection
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# forward from local-network
iptables -A FORWARD -i eth0 -j ACCEPT

echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter

# enable non passive mode ftp
insmod ip_conntrack_ftp
insmod ip_nat_ftp

ちなみに、スクリプトの検証はまだしてないです。
明日あたりにしてみようかな。

2002/03/01 追記

iptables -A INPUT -p tcp -i eth0 --dport 3128 -j ACCEPT

  eth0 の tcp/3128 も開いていた方がシアワセになれる気が
したので、上の行追加。

2002/03/02 追記

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 127.0.0.1:3128

上の間違い。正解は

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128

2002/03/03 追記

passive じゃない ftp に対応させるため

insmod ip_conntrack_ftp
insmod ip_nat_ftp

を追加。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

長期的な見通しやビジョンはあえて持たないようにしてる -- Linus Torvalds

読み込み中...