御世話になります。堀口です。 以前助けて頂いたiptablesの話の続きなのですが、どうしても、ntpのポートを 開けることができません。何がいけないのか、御指導願えますか。雑誌を参考 に、firewallというスクリプトを作成し、init.dから起動しています。 ntp関連の行は以下のとおりです。 $IPTABLES -A INPUT -i ppp0 -p tcp --dport ntp -j ACCEPT $IPTABLES -A INPUT -i ppp0 -p udp --dport ntp -j ACCEPT $IPTABLES -A INPUT -i ppp0 -p tcp --sport ntp -j ACCEPT $IPTABLES -A INPUT -i ppp0 -p udp --sport ntp -j ACCEPT 初めは --dportの方だけだったのですが、--sportも加えてみました。 外部からnmapを走らせてみると、以下の様にntpは閉まっています。 PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 123/tcp closed ntp 何かどなたかお気付きになることがありましたら、お教えください。 以下はfirewallスクリプトの全体です。 よろしくお願いいたします。 堀口 定則 #!/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 # Accept all from interface ppp0 for test #$IPTABLES -A INPUT -i ppp0 -j ACCEPT # Allow TCP for SSH connection $IPTABLES -A INPUT -i ppp0 -p tcp --dport 22 -m state --state \ INVALID,NEW -j LOG --log-prefix "iptables(ssh connection): " $IPTABLES -A INPUT -i ppp0 -p tcp --dport ssh -m state --state \ NEW,ESTABLISHED -j ACCEPT # Allow TCP for http connection $IPTABLES -A INPUT -i ppp0 -p tcp --dport http -j ACCEPT #Allow TCP for ntp connection $IPTABLES -A INPUT -i ppp0 -p tcp --dport ntp -j ACCEPT $IPTABLES -A INPUT -i ppp0 -p udp --dport ntp -j ACCEPT $IPTABLES -A INPUT -i ppp0 -p tcp --sport ntp -j ACCEPT $IPTABLES -A INPUT -i ppp0 -p udp --sport ntp -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 # Allow forward from outside to LAN that are already connected $IPTABLES -A FORWARD -i ppp0 -o eth0 -d 192.168.1.0/24 \ -m state --state ESTABLISHED,RELATED -j ACCEPT # Allow connection from LAN to outside $IPTABLES -A FORWARD -i eth0 -o ppp0 -s 192.168.1.0/24 \ -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT # Deny IP Masquerade from out side (new and invalid) $IPTABLES -A FORWARD -i ! ppp0 -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