saturnは「LAN(PCMCIAカード)の設定」でローカルLAN内のマシンと、
「ADSLの設定(pppoe)」でインターネットとやりとりができるようになりました。
そこで、ローカルLAN内のマシンが saturn を経由して、インターネットへアクセスできるように、
IPマスカレードの設定を行います。
また、外部から変なアクセスができないよう、パケットフィルタリングも設定して、
セキュリティを向上させます。
#!/bin/sh
IPTABLES=/sbin/iptables
# 設定を初期化
${IPTABLES} -F -t filter
${IPTABLES} -F -t nat
# デフォルトの設定
${IPTABLES} -P INPUT DROP
${IPTABLES} -P FORWARD DROP
${IPTABLES} -P OUTPUT ACCEPT
${IPTABLES} -t nat -P POSTROUTING DROP
# ログに出力して捨てる
${IPTABLES} -N log_drop
${IPTABLES} -A log_drop -j LOG --log-level warning
${IPTABLES} -A log_drop -j DROP
# PPPから入って来るものの設定
${IPTABLES} -N ppp-in
# 中から出たのものの返事は通す
${IPTABLES} -A ppp-in -m state --state ESTABLISHED,RELATED -j ACCEPT
# sshを通す
${IPTABLES} -A ppp-in -p tcp --dport ssh -j ACCEPT
# Webを通す
${IPTABLES} -A ppp-in -p tcp --dport www -j ACCEPT
# メール(smtp、pop3)を通す
${IPTABLES} -A ppp-in -p tcp --dport smtp -j ACCEPT
${IPTABLES} -A ppp-in -p tcp --dport pop3 -j ACCEPT
# ftpを通す
${IPTABLES} -A ppp-in -p tcp --dport 20 -j ACCEPT
${IPTABLES} -A ppp-in -p tcp --dport 21 -j ACCEPT
# それ例外はログに出力して破棄
${IPTABLES} -A ppp-in -j log_drop
# PPPへ出て行くものの設定
${IPTABLES} -N ppp-out
# Windowsの変なパケットは出さない
${IPTABLES} -A ppp-out -p udp --dport 137:139 -j DROP
${IPTABLES} -A ppp-out -p tcp --dport 137:139 -j DROP
# ローカルIPの範囲へ出て行くパケットも破棄
${IPTABLES} -A ppp-out -d 10.0.0.0/8 -j DROP
${IPTABLES} -A ppp-out -d 172.16.0.0/12 -j DROP
${IPTABLES} -A ppp-out -d 192.168.0.0/16 -j DROP
# PPPから入って来てforwardするものの設定
${IPTABLES} -N ppp-forward
# 中から出たのものの返事は通す
${IPTABLES} -A ppp-forward -m state --state ESTABLISHED,RELATED -j ACCEPT
# INPUTの設定
${IPTABLES} -A INPUT -i eth0 -j ACCEPT
${IPTABLES} -A INPUT -i lo -j ACCEPT
${IPTABLES} -A INPUT -i ppp0 -j ppp-in
# OUTPUTの設定
${IPTABLES} -A OUTPUT -o ppp0 -j ppp-out
# FORWARDの設定
${IPTABLES} -A FORWARD -i ppp0 -j ppp-forward
${IPTABLES} -A FORWARD -o ppp0 -j ppp-out
${IPTABLES} -A FORWARD -i lo -j ACCEPT
${IPTABLES} -A FORWARD -i eth0 -j ACCEPT
# IP MASQUERADEの設定
${IPTABLES} -t nat -A POSTROUTING -s 127.0.0.1 -o ppp0 -j MASQUERADE
${IPTABLES} -t nat -A POSTROUTING -s 192.168.33.0/24 -o ppp0 -j MASQUERADE
${IPTABLES} -t nat -A POSTROUTING -s 127.0.0.1 -j ACCEPT
${IPTABLES} -t nat -A POSTROUTING -s 192.168.33.0/24 -j ACCEPT
${IPTABLES} -t nat -A POSTROUTING -o ppp0 -j ACCEPT
# これらは例ですので、自分の希望する設定を記述してください。
ip_forward=yes