Preloader

Limited Time Offer –

Get 50% OFF on all Reseller Hosting plans!

Правила iptables, как заблокировать ip адрес Linux

Правила iptables, как заблокировать ip адрес Linux

Iptables – это межсетевой экран для операционных систем Linux, позволяющий управлять потоком трафика. При попытке установить соединение с сервером (или при отправке запроса с сервера) Iptables проверяет цепочку правил для конкретного соединения и реализует заданные настройки.
Iptables предустановлен во всех современных дистрибутивах Linux.

При работе в сети передачи данных, такой как локальная вычислительная сеть (ЛВС) или Интернет, часто возникает необходимость ограничить доступ от конкретного узла к другому узлу сети или от конкретного узла ко всем компьютерам, находящимся под его управлением. Это часто бывает необходимо. Каждый компьютер, использующий для связи IPv4 или IPv6, имеет уникальный номер в определенном диапазоне.

Этот номер называется IP-адресом. Рассмотрим как заблокировать IP-адреса IPv4 и ограничить доступ хостов с этим идентификатором к определенным компьютерам, для которых настроены правила межсетевого экрана Netfilter с помощью пакета iptables.

Как блокировать определенные IP-адреса.

Для блокирования IP-адресов используются действия DROP и REJECT. Рассмотрим общий синтаксис действия block.

sudo iptables -t (таблица) -A (цепочка) -s (IP адрес/маска) -d (IP адрес/маска) -j (действие)

Параметры утилиты.

-s [IP-адрес/маска] – IP-адрес отправителя пакета, к которому необходимо применить обработку;

-d [IP-адрес/маска] – IP-адрес получателя пакета, к которому необходимо применить обработку;

Чтобы запретить ip адрес  или подсеть, iptables блокирует все входящие на защищаемую машину пакеты от узла, с IP адресом 5.5.5.5 или подсети 5.5.5.0/24  Стоит заметить, что узел источник пакетов при использовании действия DROP не получит никакой ответной информации от защищаемого узла. Для него всё будет выглядеть так, как будто данный узел в данный момент отсутствует в сети.

Заблокировать ip адрес через iptables:

iptables -A INPUT -s 5.5.5.5 -j DROP

iptable

Заблокировать подсеть адрес через iptables:

iptables -A INPUT -s 5.5.5.0/24 -j DROP

iptable

Заблокировать все IP-адреса, кроме указанного:

Будьте внимательны, можно заблокировать доступ себе на сервер через ssh, та как будут заблокированы все ip адреса кроме указанного.

iptables -A INPUT -s 5.5.5.5 -j ACCEPT
iptables -P INPUT DROP

 

Разрешение IP-адресов с помощью iptables:

Разрешение IP-адресов происходит очень похоже.
Разрешите входящий трафик от устройства с IP-адресом 5.5.5.5:

iptables -A INPUT -s 5.5.5.5 -j ACCEPT

Разрешаем всю подсеть 5.5.5.0/24:

iptables -A INPUT -s 5.5.5.0/24 -j ACCEPT

Разрешаем весь входящий трафик, кроме трафика с узла с IP-адресом 5.5.5.5:

iptables -A INPUT -s 5.5.5.5 -j DROP
iptables -P INPUT ACCEPT

 

То же самое и для исходящего и транзитного трафиков:

Разрешаем исходящий трафик узла с IP-адресом 5.5.5.5:

iptables -A OUTPUT -s 5.5.5.5 -j ACCEPT

Разрешаем транзитный трафик для всех, кроме 5.5.5.5:

iptables -A FORWARD -s 5.5.5.5 -j DROP
iptables -P FORWARD ACCEPT

Таким образом, разрешить или заблокировать трафик с определенного устройства или подсети с помощью iptables не составляет особого труда.

Есть два правила – одно, DROP, заставит удаленную машину думать, что наш узел в данный момент вообще отсутствует в сети, а другое, REJECT, позволит удаленному узлу понять, что пакет был отброшен из-за правил межсетевого экрана.

Хостинг для сайта в Беларуси
Обзор конфиденциальности

На этом сайте используются файлы cookie, что позволяет нам обеспечить наилучшее качество обслуживания пользователей. Информация о файлах cookie хранится в вашем браузере и выполняет такие функции, как распознавание вас при возвращении на наш сайт и помощь нашей команде в понимании того, какие разделы сайта вы считаете наиболее интересными и полезными.