2002年10月05日(土) [過去の今日]
#1 iptablesとICMPとTCP
先日、年初に決めた通り、ISDNでIPを8個取って設置した。ホントはADSLが繋がってからと思ってたのだが、まあこういう状態になってしまったのでしかたがない。
それで今、iptablesでフィルタの設定をしているのだが、ネットワーク知識が少ないせいか、合点のいかないことがある。
cmd=`which iptables` $cmd -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -d ! 192.168.0.0/24 \ -j MASQUERADE $cmd -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -d ! 192.168.0.0/24 \ -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward $cmd -N ppp-in $cmd -A INPUT -i ppp0 -j ppp-in $cmd -A FORWARD -i ppp0 -j ppp-in $cmd -A FORWARD -i eth1 -j ppp-in $cmd -A ppp-in -p tcp --dport ssh -j ACCEPT $cmd -A ppp-in -p icmp -j ACCEPT $cmd -A ppp-in -m state --state ESTABLISHED,RELATED -j ACCEPT \ --modprobe=/sbin/modprobe $cmd -A ppp-in -j LOG --modprobe=/sbin/modprobe $cmd -A ppp-in -j DROP
ppp0にはISPからもらった8個のIPのうち、一番最初のIP、つまりネットワークアドレスが割り振られてる。eth0はローカルIPになっており、我が家のLANへ繋がっている。eth1がISPからもらったネットワークへの接続だ。
その上で上記の設定をほどこすと、ISPからもらったネットワークにあるホストから、ローカルIPのネットワークへpingが通ってしまう。FOWARDで許可してるので当り前といえば当り前だが、同じように許可を与えてるsshは通らないのである。これってどういうことなのだろう。
(@952)