- Eugeneer’s Digital Cloud World — цифровой мир в облаках
- А А Sunday, 10 November 2019
- Разрешить или заблокировать ping в Linux.
- Разрешить/заблокировать Ping (ICMP пакеты) в Unix/Linux
- Отключения Ping используя iptables
- Разрешить Ping используя iptables
- Блокировка Ping с параметрами Kernel
- Как отключить/включить ответ ping в Linux
- 1 Отключить/включить постоянный ответ ping (через sysctl)
- 2 Временно отключить/включить ответ ping (через sysctl)
- 3 Временно отключить ответ ping (через брандмауэр/iptables)
- 4 Временно включить ответ ping (через брандмауэр/iptables)
- Бонус
- Команда ping в Linux
- Как работает ping?
- Команда Ping
- Как пользоваться Ping?
- Выводы
Eugeneer’s Digital Cloud World — цифровой мир в облаках
Блог творческого ИТ-практика. Возьми свою мысль и дай ей ускорение идеи. В моем фокусе: сети, безопасность, виртуализация, web, мультимедиа.
А А Sunday, 10 November 2019
Разрешить или заблокировать ping в Linux.
Всем привет.
Отключения Ping используя iptables
Объяснение некоторых параметров в iptables, которые необходимы для создания правил управления ICMP пакетами:
-A : Добавляет правила.
-D : Удаляет правило с таблицы.
-p : Опция чтобы указать протокол (где ‘icmp’).
—icmp-type : Опция для указания типа.
-J : Перейти к цепочке.
Как заблокировать PING на сервере с выводом сообщений об ошибке?
Таким образом, вы можете частично блокировать PING с выводом сообщения об ошибке «Destination Port Unreachable». Добавьте следующие правила Iptables чтобы заблокировать PING с выводом сообщения об ошибке:
# iptables -A INPUT -p icmp —icmp-type echo-request -j REJECT
Заблокировать PING на сервере без каких-либо сообщений об ошибках.
Для этого, используем команду для iptables:
# iptables -A OUTPUT -p icmp —icmp-type echo-request -j DROP
# iptables -A INPUT -p icmp —icmp-type echo-reply -j DROP
Это заблокирует все входящие и исходящие ICMP пакеты на сервере.
Разрешить Ping используя iptables
Если заблокировали ping на сервере и не знаете как вернуть назад. То я сейчас расскажу как это сделать. А делается это, добавлением следующего правила в IPtables:
# iptables -A INPUT -p icmp —icmp-type echo-request -j ACCEPT
# iptables -A OUTPUT -p icmp —icmp-type echo-reply -j ACCEPT
Данные правила разрешат прохождения ICMP пакетов с сервера и на него.
Блокировка Ping с параметрами Kernel
Мы также можем блокировать пинг ответы непосредственно параметрами ядра. Можно заблокировать ответы на пинг временно или постоянно и внизу показано как это сделать.
Временная блокировка Ping
Вы можете заблокировать временно ответы на пинг используя следующую команду
# echo «1» > /proc/sys/net/ipv4/icmp_echo_ignore_all
Чтобы разблокировать эту команду, выполните следующую:
# echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
Запрещаем Ping полностью
Вы можете заблокировать пинг ответы добавляя следующий параметр в конфигурационный файл:
# vim /etc/sysctl.conf
И прописать:
[. ]
net.ipv4.icmp_echo_ignore_all = 1
[. ]
sysctl используется для изменения параметров ядра во время выполнения, один из этих параметров может быть «ping daemon» (демон пинга), если вы хотите отключить пинг, то вы просто должны выполнить что-то вроде:
# sysctl -w net.ipv4.icmp_echo_ignore_all=1
Теперь попробуйте пинговать машину, никаких ответов на нее нет, не так ли? Для повторного включения пинга, используйте:
# sysctl -w net.ipv4.icmp_echo_ignore_all=0
-w флаг используется, если вы хотите изменить некоторые настройки.
Теперь выполните следующую команду, чтобы немедленно применить настройки без перезагрузки системы:
# sysctl -p
или
# sysctl —system
Источник
Разрешить/заблокировать Ping (ICMP пакеты) в Unix/Linux
Разрешить/заблокировать Ping (ICMP пакеты) в Unix/Linux
Блокирование ответов пинг в ОС может предотвратить атаки флуда ICMP пакетов, но большинство систем используют данную услугу для онлайн мониторинга (системного мониторинга). В своей теме «заблокировать Ping (ICMP) ответов в Unix/Linux» я расскажу как можно все-таки его выключить.
Блокировка PING на сервер является полезным, если сервер постоянно сталкивается с какой-то DoS атакой с помощью функции PING. При использовании IPTables мы можем просто остановить запретить прохождение ICMP пакетов (собственно, запретить PING) на сервер. Перед началом этого необходимо иметь представление о том, что такое Iptables в Linux. Iptables это система межсетевого экрана с набором правил, которые контролирует входящие и исходящие пакеты. По-умолчанию в Iptables работает без каких-либо правил, вы можете создавать, добавлять, редактировать правила.
Отключения Ping используя iptables
Обьяснение некоторых параметров в iptables, которые необходимы для создания правил управления ICMP пакетами:
-A : Добавляет правила.
-D : Удаляет правило с таблицы.
-p : Опция чтобы указать протокол (где ‘icmp’).
—icmp-type : Опция для указания типа.
-J : Перейти к цепочке.
Ниже, я приведу наглядные примеры.
Как заблокировать PING на сервере с выводом сообщений об ошибке?
Таким образом, вы можете частично блокировать PING с выводом сообщения об ошибке «Destination Port Unreachable». Добавьте следующие правила Iptables чтобы заблокировать PING с выводом сообщения об ошибке:
Заблокировать PING на сервере без каких-либо сообщений об ошибках.
Для этого, используем команду для ИПтейбелс:
Заблокирует все входящие и исходящие ICMP пакеты на сервере.
Разрешить Ping используя iptables
Если заблокировали ping на сервере и не знаете как вернуть назад. То я сейчас расскажу как это сделать. А делается это, добавлением следующего правила в IPtables:
Данные правила разрешат прохождения ICMP пакетов с сервера и на него.
Блокировка Ping с параметрами Kernel
Мы также можем блокировать пинг ответы непосредственно параметрами ядра. Можно заблокировать ответы на пинг временно или постоянно и внизу показано как это сделать.
Временная блокировка Ping
Вы можете заблокировать временно ответы на пинг используя следующую команду
Чтобы разблокировать эту команду, выполните следующую:
Запретить Ping вообще
Вы можете заблокировать пинг ответы добавляя следующий параметр в конфигурационный файл:
sysctl используется для изменения параметров ядра во время выполнения, один из этих параметров может быть «ping daemon» (демон пинга), если вы хотите отключить пинг, то вы просто должны выполнить что-то вроде:
Теперь попробуйте пинговать машину, никаких ответов на нее нет, не так ли? Для повторного включения пинга, используйте:
-w флаг используется, если вы хотите изменить некоторые настройки.
Теперь выполните следующую команду, чтобы немедленно применить настройки без перезагрузки системы:
Вот мой полный конфиг:
и потом можно выполнить:
Но так же, можно его просто прочитать тут:
На этом у меня все, тема «Заблокировать Ping (ICMP) ответов в Unix/Linux» завершена.
Источник
Как отключить/включить ответ ping в Linux
Главное меню » Linux » Как отключить/включить ответ ping в Linux
1 Отключить/включить постоянный ответ ping (через sysctl)
1.1 Добавьте следующую строку в «/etc/sysctl.conf» (чтобы включить, измените 1 на 0)
Мы можем использовать следующую команду для достижения этого
1.2 Применить изменение
2 Временно отключить/включить ответ ping (через sysctl)
2.1 Выполните следующую команду, чтобы временно отключить ответ ping (чтобы включить, измените 1 на 0)
2.2 Применить изменение
3 Временно отключить ответ ping (через брандмауэр/iptables)
3.1 Выполните следующую команду, чтобы заблокировать/сбросить ping-трафик
Примечание. Хотя правила iptables будут действовать после перезагрузки в CentOS и RHEL, они не будут действовать после перезагрузки в Debian/Ubuntu/Kali Linux и т. д..
4 Временно включить ответ ping (через брандмауэр/iptables)
4.1 Выполните следующую команду, чтобы включить/разрешить ping-трафик
Примечание. Как и в разделе 3, правила firewall/iptables будут действовать после перезагрузки в CentOS и RHEL, они не будут действовать после перезагрузки в Debian/Ubuntu/Kali Linux и т. д.
Бонус
Еще один способ легко разрешить ответ ping – просто временно отключить iptables/firewall.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Команда ping в Linux
Всем знакомы ситуации, когда интернет на компьютере неожиданно разрывается, такое поведение можно наблюдать при использовании ADSL модемов, Wifi на большом расстоянии, GSM и других подобных ненадежных технологий. Быстро выяснить есть ли на компьютере интернет можно с помощью утилиты ping.
Но область ее применения намного шире, ее используют сетевые администраторы для проверки доступности удаленного узла в сети, она применяется в различных скриптах и многих других местах. В этой статье будет рассмотрена команда ping в Linux, мы поговорим о том, как пользоваться утилитой, как она работает, рассмотрим ее опции и возможности.
Как работает ping?
Утилита ping — это очень простой инструмент для диагностики сети. Она позволяет проверить доступен удаленный хост или нет и все. Для этого утилита проверяет, может ли хост отвечать на сетевые запросы с помощью протокола ICMP.
Надеюсь, не нужно говорить, что все данные по сети передаются в виде небольших пакетов. Программа передает небольшой пакет с данными ICMP и ожидает получить обратно пакет ответа, если получает, то считается что удаленный узел доступен. ICMP или Internet Control Message Protocol — это надстройка над протоколом IP, которая используется для передачи служебных сообщений и сообщений и ошибках.
Протокол ICMP может передавать только два типа пакетов — это сообщения с отчетами про ошибки и сообщения запросов. В свою очередь, сообщения запросов делятся на:
- Сообщение эхо-запрос;
- Сообщение эхо-ответ.
Попытаемся разобраться что делает команда ping. Итак, когда вы отправляете запрос ping удаленному узлу, утилита устанавливает для каждого пакета уникальный идентификатор, а также TTL и время отправки пакета. Если хост доступен, он отправляет ответ, на основе времени отправки утилита может вычислить время прохождения пакета туда и обратно. Затем отправляется следующий пакет. В конце рассчитывается общее количество отправленных и принятых пакетов, процент потерь и другие данные.
Команда Ping
Теперь нам осталось немного попрактиковаться. Но перед тем, как мы перейдем к практике давайте рассмотрим синтаксис команды и ее опции. Синтаксис довольно прост:
$ ping опции адрес_узла
Формат команды ping очень прост. В качестве адреса узла можно передавать как ip адрес, так и доменное имя. Опции настраивают поведение утилиты. Рассмотрим основные из них:
- -4 — использовать только ipv4 (по умолчанию);
- -6 — использовать только ipv6;
- -A — адаптивный режим, время между отправками пакета адаптируется к времени передачи и приема пакета, но не меньше чем 200мс;
- -b — разрешить ping широковещательного адреса;
- -с — количество пакетов, которые нужно отправить;
- -D — выводить время в виде UNIX timestamp;
- -f — режим флуда, в этом режиме пакеты передаются без задержек, может использоваться для совершения DoS атак на отдельные узлы. Количество точек, которые выводит утилита обозначает количество потерянных пакетов;
- -i — интервал в секундах между отправкой пакетов;
- -I — использовать этот сетевой интерфейс для отправки пакетов;
- -l — режим перегрузки, отправляется очень много пакетов и система не следит за ответными пакетами;
- -n — не получать домены для ip адресов;
- -r — игнорировать таблицы маршрутизации и отправить пакет на указанный интерфейс;
- -s — размер одного пакета;
- -t — установить TTL вручную;
- -v — более подробный вывод.
Теперь, когда мы рассмотрели основные параметры команды ping и ее синтаксис, пришло время практики, дальше поговорим о том, как сделать ping определенного узла в Linux.
Как пользоваться Ping?
Для проверки работоспособности сети часто используется программа ping любого сайта, который всегда доступен, например, google.com или еще проще и короче ya.ru. Вам будет достаточно передать утилите в параметрах этот адрес, она сама найдет ip и сделает все нужное:
Как я и писал выше, для каждого пакета выводится уникальный идентификатор icmp_seq, количество узлов до целевого узла ttl и время, потраченное на доставку пакета time. Чтобы остановить ping нажмите сочетание клавиш Ctrl+C. В конце утилита вывела общую статистику:
- packets transmitted — отправлено пакетов;
- received — получено пакетов;
- packet loss — процент потерянных пакетов;
- time — обще время работы;
rtt min/avg/max/mdev — минимальное время/среднее время/максимальное время/квадратичное отклонение.
Если выполнение команды ping не остановить, то пакеты могут отправляться очень долгое время, это создает дополнительную нагрузку на сервер и поэтому не желательно. Вы можете сразу в вызове команды ограничить количество отправляемых пакетов с помощью опции -c:
Точно так же как мы выполняем ping для домена, можно указать ip адрес напрямую. Это позволяет проверить есть ли сеть когда неверно настроены серверы DNS. Например:
Следующий вид отправки ping сообщений, это ping флуд. С помощью таких пакетов можно выполнить нагрузочное тестирование канала или даже заглушить интернет соединение на одной из машин. Но эти функции можно использовать только с правами суперпользователя. Для организации ping флуда укажите опцию -f:
По умолчанию, в обычном режиме, каждый следующий пакет отправляется, когда получен ответ на предыдущий. Но вы можете сами установить интервал между отправкой пакетов -i:
ping -i 0.2 losst.ru
Здесь программа ping выполняет так званный, настраиваемый флуд, вы указываете с какой интенсивностью нужно отправлять пакеты. С помощью опции -D вы можете увидеть Unix Timestamp для каждого сообщения:
Выводы
В этой статье мы рассмотрели что такое команда ping в linux, как ее использовать основные параметры и методы применения. Этот очень простой инструмент можно применять для тестирования неполадок сети и их исправления. В этом плане утилита может стать незаменимой.
Источник