Ping — утилита для проверки целостности и качества соединений в сетях на основе TCP/IP, а также обиходное наименование самого запроса.
Первоначально словом «ping» (по созвучию) именовали направленный акустический сигнал противолодочных гидролокаторов.
Утилита отправляет запросы (ICMP Echo-Request) протокола ICMP указанному узлу сети и фиксирует поступающие ответы (ICMP Echo-Reply). Время между отправкой запроса и получением ответа позволяет определять двусторонние задержки по маршруту и частоту потери пакетов, то есть косвенно определять загруженность на каналах передачи данных и промежуточных устройствах. - это у нас из WIKI
Сегодня будем не про это, сегодня про то как ещё можно блочить их, что бывает полезно и нужно.
Тема эта избита и всем довно известа и про это многое написано, самое лучшее по моему мнению, это статья/учебник на OpenNet: www.opennet.ru/docs/RUS/iptables/
Вкратце, можно блочить пинг, да и вообще двумя способами:
DROP - Данное действие просто "сбрасывает" пакет и iptables "забывает" о его существовании. "Сброшенные" пакеты прекращают свое движение полностью, т.е. они не передаются в другие таблицы, как это происходит в случае с действием ACCEPT. Следует помнить, что данное действие может иметь негативные последствия, поскольку может оставлять незакрытые "мертвые" сокеты как на стороне сервера, так и на стороне клиента, наилучшим способом защиты будет использование действия REJECT особенно при защите от сканирования портов.
Пример правила для пинг:
iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP
REJECT - спользуется, как правило,
в тех же самых ситуациях, что и DROP, но в отличие от DROP, команда REJECT выдает сообщение об ошибке
на хост, передавший пакет.Пример:
iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT
Сподвигло к написанию вот такой результат пинга клиента, который жаловался на связь:
VoIP:~$ ping 83.220.45.3
PING 83.220.45.3 (83.220.45.3) 56(84) bytes of data.
From 83.220.45.3 icmp_seq=1 Packet filtered
From 83.220.45.3 icmp_seq=2 Packet filtered
From 83.220.45.3 icmp_seq=3 Packet filtered
From 83.220.45.3 icmp_seq=5 Packet filtered
From 83.220.45.3 icmp_seq=6 Packet filtered
From 83.220.45.3 icmp_seq=7 Packet filtered
From 83.220.45.3 icmp_seq=8 Packet filtered
From 83.220.45.3 icmp_seq=9 Packet filtered
From 83.220.45.3 icmp_seq=11 Packet filtered
^C
--- 83.220.45.3 ping statistics ---
11 packets transmitted, 0 received, +9 errors, 100% packet loss, time 10028ms
PING 83.220.45.3 (83.220.45.3) 56(84) bytes of data.
From 83.220.45.3 icmp_seq=1 Packet filtered
From 83.220.45.3 icmp_seq=2 Packet filtered
From 83.220.45.3 icmp_seq=3 Packet filtered
From 83.220.45.3 icmp_seq=5 Packet filtered
From 83.220.45.3 icmp_seq=6 Packet filtered
From 83.220.45.3 icmp_seq=7 Packet filtered
From 83.220.45.3 icmp_seq=8 Packet filtered
From 83.220.45.3 icmp_seq=9 Packet filtered
From 83.220.45.3 icmp_seq=11 Packet filtered
^C
--- 83.220.45.3 ping statistics ---
11 packets transmitted, 0 received, +9 errors, 100% packet loss, time 10028ms
При реджеккте обычно выдает unreachable, а как так сказать, клиент был не в курсе и вбил из шаблона, который не мог/не хотел/не знал как достать/рссказать/передать, все классически, я не я и корова не моя, помогите я ничего не знаю.
Порыл докусентацию и действилтельно можно задать правило так говорить:
Оказалось просто, после reject пишем --reject-with и один из вариантов, в нашем случае это будет icmp-admin-prohibited и получим как раз то что летело от клиента.
Комментариев нет:
Отправить комментарий