Как заблокировать/разрешить пинг с помощью iptables в Ubuntu
Что такое iptables?
Iptables — это программа брандмауэра командной строки, которая разрешает или блокирует трафик в зависимости от используемой цепочки политик. Iptables использует пакетный подход для мониторинга трафика. Когда программа пытается подключиться к вашей системе, iptables ищет правило из предопределенного списка. Если правило не найдено, оно возвращается к действию по умолчанию и блокирует доступ к новому соединению.
Пакетный фильтр iptables был впервые написан Растом Селлером и является продуктом команды Netfilter Core. Он написан на языке C и впервые был выпущен в 1998 году. Компания время от времени выпускает стабильные версии, которые можно скачать из следующего репозитория:
https://git.netfilter.org/iptables/
Сайт компании: www.netfilter.org.
Чтобы узнать больше об iptables и о том, как его использовать, следуйте официальной документации по адресу:
https://netfilter.org/documentation/
Что такое пинг?
Ping или Packet Internet Groper — это утилита управления сетью, которая позволяет проверять состояние соединения между источником и конечным компьютером/устройством по IP-сети. Это также поможет вам оценить время, необходимое для отправки и получения ответа от сети.
В этой статье мы объясним команды iptables, которые вы можете использовать для:
- Добавьте правило, которое сообщает брандмауэру iptables блокировать входящие и исходящие пинги сервера, контролируя запросы ICMP.
- Удалите правило, которое указывает брандмауэру iptables разрешать пинги на сервер и с него, контролируя запросы ICMP.
Мы выполнили команды и процедуры, упомянутые в этой статье, в системе Ubuntu 22.04 LTS.
Как заблокировать/разрешить пинг из iptables?
Вы можете установить iptables через командную строку Linux, выполнив следующую команду в своем терминале:
sudo apt-get install iptables
Открыть приложение «Терминал» можно либо через поиск системного средства запуска приложений, либо с помощью ярлыка Ctrl+Alt+T.
Чтобы проверить установку и проверить номер версии, вы можете использовать следующую команду:
iptables --version
Блокировать пинг
Как упоминалось выше, брандмауэр iptables основан на некотором наборе правил. Вы можете добавить следующее правило, чтобы блокировать пинги на сервер и с него. Команда выведет сообщение об ошибке при запуске команды ping:
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT
Пример :
Или же вы можете добавить следующие правила, чтобы заблокировать пинг без вывода сообщения об ошибке:
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP
Параметр -A команды iptables означает «Добавить», поэтому любое добавляемое правило начинается с «sudo iptables -A ....».
Разрешить пинг
Следующая команда позволяет вам перечислить все правила, добавленные в ваши iptables:
sudo iptables -L
Если какое-либо из правил блокирует пинг (в нашем случае ICMP отклонен), вы можете просто удалить это правило следующим образом:
sudo iptables -D INPUT -p icmp --icmp-type echo-request -j REJECT
Командный переключатель -D используется для удаления правила.
Вы можете удалить все пользовательские правила, добавленные в ваш брандмауэр iptables, с помощью следующей команды:
sudo iptables -F
Вы видели, как добавление и удаление правил в утилите iptables позволяет контролировать работу брандмауэра.