Debian.pro/

Про Debian


Хинт: быстро включаем и выключаем ответ на пинги нашей машинкой с Debian

Зачем оно надо знают все. Ну а если не знаете — то оно вам ненадо.
Фильтровать пинги на iptables — дело неблагодарное и нелепое. Всё намного проще.
Делаем так, чтобы наша машинка не отвечала на пинги (по ipv4):
root@host:~# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
Возвращаем всё на место:
root@host:~# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

Ну и более кошерный способ на машинках с нестабильным аптаймом (запускать именно от рута):
root@host:~# echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf
И применим правило:
root@host:~# sysctl -p

Чтобы обратно всё вернуть — замените 1 на 0 в последней строке и сделайте sysctl -p. После ребута правила из sysctl.conf поднимутся.

Если вы всё же упрямый и вам хочется сделать это через iptables, то:
root@host:~# iptables -A INPUT -p icmp –icmp-type 8 -j DROP

Хотя у iptables есть и полезное применение в этом направлении. Чтобы запретить пинги на интерфейс eth0:
root@host:~# iptables -A INPUT -i eth0 -p icmp –icmp-type 8 -j DROP

Исходящие пинги при всём этом работают отлично.


Комментарии (3):

  1. Dima :

    Хай у меня возникла такая проблема, мне надобно закрыть внешний интерфейс от пинга я пишу по вашему примеру:
    iptables -A INPUT -i eth0 -p icmp –icmp-type 8 -j DROP
    он же мне в ответ:
    iptables v1.4.8: multiple -i flags not allowed
    тогда я попробовал так:
    iptables -A INPUT -p icmp –icmp-type 8 -j DROP
    на что он мне в ответ
    Bad argument `8′
    гугл мне не сильно помог… ман по iptables тоже не подтолкнул к истине…

  2. Напрашивается, что —icmp-type вы написали с одним дефисом.
    Либо на eth0 у вас висят алиасы, я не помню как с ними iptables работает.

  3. Dima :

    правильно напрашивается)))
    надо же было так… вместо 2ух одно тире… мда..
    я уж начал все подряд перерывать искать чего то там))
    Спасибо за помощь

Написать комментарий