[Comm] IPTABLES
Andrii Dobrovolskii
=?iso-8859-1?q?dobr_=CE=C1_iop=2Ekiev=2Eua?=
Сб Май 31 17:34:15 MSD 2003
Igo-aeroflot wrote:
> Здравствуйте!
>
> Есть скрипт, формирующий правила iptables, запрещающие обмен
> ICMP-сообщениями с неким хостом. Упрощенно он выглядит так:
>
> EXTERNAL_IFACE="ppp0"
> IPTABLES="/sbin/iptables"
> $IPTABLES -P INPUT DROP
> $IPTABLES -P OUTPUT ACCEPT
> $IPTABLES -P FORWARD ACCEPT
> $IPTABLES -N icmp_in_ppp
> $IPTABLES -A icmp_in_ppp -p ICMP --destination 213.180.194.129 -m
> limit --limit 2/minute --limit-burst 4 -j LOG --log-prefix "BAD TO
> YANDEX ICMP: "
> $IPTABLES -A icmp_in_ppp -p ICMP --destination 213.180.194.129 -j DROP
> $IPTABLES -A icmp_in_ppp -p ICMP --source 213.180.194.129 -m limit
> --limit 2/minute --limit-burst 4 -j LOG --log-prefix "BAD FROM YANDEX
> ICMP: "
> $IPTABLES -A icmp_in_ppp -p ICMP --source 213.180.194.129 -j DROP
> $IPTABLES -A INPUT -p ICMP -i $EXTERNAL_IFACE -j icmp_in_ppp
>
> Вот что показывает iptables -L | grep "YANDEX ICMP" после запуска
> этого скрипта:
>
> LOG icmp -- anywhere yandex.ru limit: avg
> 2/min burst 4 LOG level warning prefix `BAD TO YANDEX ICMP: '
> LOG icmp -- yandex.ru anywhere limit: avg
> 2/min burst 4 LOG level warning prefix `BAD FROM YANDEX ICMP: '
>
> А вот что происходит при пинге:
>
> ping -c 1 213.180.194.129
> PING 213.180.194.129 (213.180.194.129) 56(84) bytes of data.
>
> --- 213.180.194.129 ping statistics ---
> 1 packets transmitted, 0 received, 100% packet loss, time 0ms
>
> При этом в логе я вижу следующее:
>
> May 31 16:06:32 ugtovar kernel: BAD FROM YANDEX ICMP: IN=ppp0 OUT=
> MAC= SRC=213.180.194.129 DST=80.80.123.168 LEN=84 TOS=0x00 PREC=0x00
> TTL=54 ID=0 DF PROTO=ICMP TYPE=0 CODE=0 ID=37657 SEQ=1
>
> Т.е. пинг вышел наружу, хост 213.180.194.129 вернул ответ, и уже ответ
> был отфильтрован. А почему не был отфильтрован сам запрос?
Так Вы и не просили фильтровать ничего исходящего. (Это цепочка OUTPUT)
Подробная информация о списке рассылки community