vine-users ML アーカイブ



[vine-users:068019] iptables の初歩的問題

  • From: Sadanori Horiguchi <silvia@xxxxxxxxx>
  • Subject: [vine-users:068019] iptables の初歩的問題
  • Date: Sun, 03 Oct 2004 03:19:22 -0400
前に何度かお邪魔したことがあります。堀口です。

以下のスクリプトは、古い雑誌の記事から取ってきて自分なりにほんの少し手を
加えたファイアウォールのスクリプトです。自分では、ssh とhttpのポートを開
いたつもりなのですが、このスクリプトで起動すると、外からアクセスできません。

どなたか、お手数ですが、どこがどう悪いのか御指導願えませんでしょうか。

初歩的な質問で大変恐縮ですが、どうぞよろしくお願いいたします。

堀口 定則

#!/bin/sh
#
# firewall This script starts firewall
# chkconfig: 2345 98 99
# description: firewall setting
IPTABLES="/sbin/iptables"
start(){
# Initialize setting
$IPTABLES -F
# IP Masquerade
/sbin/modprobe iptable_nat; echo 1 > /proc/sys/net/ipv4/ip_forward
# Accept all policy by default.
$IPTABLES -P INPUT DROP; $IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP

# Accept local loop back
$IPTABLES -A INPUT -i lo -j ACCEPT

# Allow TCP for SSH connection
$IPTABLES -A INPUT -p tcp --dport ssh -m state --state \
INVALID,NEW -j LOG --log-prefix "iptables(ssh connection): "
$IPTABLES -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
# Allow TCP for http connection
$IPTABLES -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
# Allow TCP for connection established
$IPTABLES -A INPUT -p tcp --dport 1024: ! --syn -j ACCEPT
# Allow connection from the LAN
$IPTABLES -A INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT
# Allow DNS query
$IPTABLES -A INPUT -p udp --dport 1024: --sport 53 -j ACCEPT
# Allow IP Masquerading to LAN
$IPTABLES -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -o \
ppp0 -j MASQUERADE
# Deny IP Masquerade from out side (new and invalid)
$IPTABLES -A FORWARD -i ! eth0 -m state --state NEW,INVALID -j DROP

# Deny all that were not allowed.
#$IPTABLES -A INPUT -i ! lo -j DROP
}
stop(){
$IPTABLES -F
}
case "$1" in
start)
echo -n "Starting firewall:";start; echo;;
stop)
echo -n "Shutting dow firewall:";stop;echo;;
status)
$IPTABLES -L;;
*)
echo "Usage: firewall {start|stop|status}";exit 1
esac
exit 0