前に何度かお邪魔したことがあります。堀口です。 以下のスクリプトは、古い雑誌の記事から取ってきて自分なりにほんの少し手を 加えたファイアウォールのスクリプトです。自分では、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