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