ぜひ man iptables などの正規のマニュアルをご参照ください。
例えばこの例は-dと-sを間違っています。
# 基本のルール iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP # ルールの入れ物 iptables -N MyFwInputMain iptables -N MyFwInputStateNew iptables -N MyFwInputSSHPrepare iptables -N MyFwInputSSHExec # 基本のINPUTルールにルールを追加 iptables -A INPUT -j MyFwInputMain # 127.0.0.0/8 許可 iptables -A MyFwInputMain -i lo -j ACCEPT # pingなどのICMPパケットを許可(iptables -p icmp -h) iptables -A MyFwInputMain -p icmp --icmp-type any -j ACCEPT # 接続中と、接続中が無いと接続できない新規の接続を許可 iptables -A MyFwInputMain -m state --state ESTABLISHED,RELATED -j ACCEPT # 新規接続を別ルールへ移動 iptables -A MyFwInputMain -m state --state NEW -j MyFwInputStateNew # 新規接続の一部をtcp,port指定で許可 iptables -A MyFwInputStateNew -m tcp -p tcp -m multiport --dports 80,443,873,2401,3690 -j ACCEPT iptables -A MyFwInputStateNew -m tcp -p tcp --dport 8080:8099 -j ACCEPT # 新規のssh接続を、別ルールへ移動 iptables -A MyFwInputStateNew -m tcp -p tcp --dport 22 -j MyFwInputSSHPrepare # 新規のssh接続を、IPアドレス限定で、別ルールへ移動 #iptables -A MyFwInputSSHPrepare -d 10.0.0.0/8 -j MyFwInputSSHExec #iptables -A MyFwInputSSHPrepare -d 172.16.0.0/12 -j MyFwInputSSHExec #iptables -A MyFwInputSSHPrepare -d 192.168.0.0/16 -j MyFwInputSSHExec iptables -A MyFwInputSSHPrepare -s 10.0.0.0/8 -j MyFwInputSSHExec iptables -A MyFwInputSSHPrepare -s 172.16.0.0/12 -j MyFwInputSSHExec iptables -A MyFwInputSSHPrepare -s 192.168.0.0/16 -j MyFwInputSSHExec # 新規のssh接続を、IPアドレス限定で、1分に6回許可 iptables -A MyFwInputSSHExec -m limit --limit 1/minute --limit-burst 6 -j ACCEPT # 指定したルール以外は拒否の返答をする。 iptables -A MyFwInputMain -j REJECT --reject-with icmp-host-prohibited