Ах, если бы могли видеть жизнь, а не ситуацию! (Ежи Лец).

Как использовать «ipset» для блокировки IP-адресов из одной страны

3 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
9 октября 2017
Как использовать «ipset» для блокировки IP-адресов из одной страны
Ранее мы узнали, как мы можем ограничить или разрешить конкретную страну с помощью GeoIP, но в этой статье мы рассмотрим, как мы можем заблокировать большие IP – диапазоны с помощью модуля ipset с IPTables. IPset, это утилита на основе командной строки, которая используется для администрирования базы под названием IP и находиться внутри ядра Linux. Набор IP может хранить IP-адрес, номера портов сети (TCP / UDP), MAC – адрес, имена интерфейсов или их комбинации в пути, что обеспечивает скорость молнии при совмещении записи против набора. Это ассоциативное приложение Iptables для брандмауэра в Linux, который позволяет нам с правилами установок быстро и легко заблокировать набор IP-адреса. Здесь мы увидим, как мы можем использовать ipset модуль с IPTables и как блокировать большие диапазоны IP – адресов на нашей машине в базе Linux.

Обновление нашей системы

Прежде всего, мы должны модернизировать пакеты на нашей машине Linux, так чтобы у нас были программные пакеты в актуальном состоянии. Для того, чтобы обновить нашу систему, мы должны убедиться, что мы зашли под sudo или как суперпользователь. Для того, чтобы зайти под sudo, мы выполним следующую команду:

$ sudo -s

 

После того, как мы зашли, перейдем к обновлению и модернизации нашей системы.

Система на основе Debian

# apt update && apt upgrade

 

Система на основе Redhat

# yum update

 

Установка IPset

Большинство дистрибутивов Linux, такие как Ubuntu, Debian поставляются с предустановленным ipset. Но некоторые дистрибутивы, как Centos не предустановлены, и мы должны установить на них. Мы можем установить ipset, выполнив следующую команду в зависимости от дистрибутива, который вы используете.

Система на основе Debian

# apt install ipset

 

система на основе Redhat

# yum install ipset

 

Создание наборов IP

Теперь, когда мы установили ipset на нашей машине, мы будем двигаться вперед для создания IP-наборов. Здесь мы должны создать ipset, который содержит сетевые подсети, которые мы готовы заблокировать или ограничить. Итак, сначала мы должны получить список подсетей, которые мы готовы добавить в наборы IP. Для того, чтобы получить последние подсети мы будем использовать один из самых популярных сайтов  https://www.countryipblocks.net. где мы можем получить списки подсетей на странице https://www.countryipblocks.net/country_selection.php. Здесь мы выбрали несколько сетевых подсетей Китая для тестирования цели.

1.0.1.0/24
1.0.2.0/23
1.0.8.0/21
1.0.32.0/19
1.1.0.0/24
1.1.2.0/23
1.10.8.0/23
1.202.0.0/15
5.10.68.240/29
5.10.70.40/30
5.10.72.16/29

 

Вот пример из подсетей, которые мы будем блокирующими в этой статье, но в реальном мире, мы будем иметь огромное количество подсетей. Таким образом, мы будем использовать любой скрипт/язык программирования и создадим список команд следующим образом.

# ipset create countryblock nethash
# ipset add countryblock 1.0.1.0/24
# ipset add countryblock 1.0.2.0/23
# ipset add countryblock 1.0.8.0/21
# ipset add countryblock 1.1.0.0/24
# ipset add countryblock 1.1.2.0/23
# ipset add countryblock 1.10.8.0/23
# ipset add countryblock 1.202.0.0/15
# ipset add countryblock 5.10.68.240/29
# ipset add countryblock 5.10.70.40/30
# ipset add countryblock 5.10.72.16/29

 

Как использовать «ipset» для блокировки IP-адресов из одной страны

Применение набора IP

Теперь, когда наши IP-наборы будут готовы, мы применим эти наборы IP, чтобы заблокированные с помощью модуля  ipset в IPTables.

# iptables -A INPUT -m set --match-set countryblock src -j DROP

 

Приведенная выше команда блокирует трафики, происходящие из диапазонов, определенных IP-подсетей в приведенном выше сгенерированном наборе под названием countryblock. Таким образом, все IP-адреса, перечисленные в нем будут заблокированы.

Таким образом, мы можем заблокировать определенные блоки с помощью модуля ipset в IPTables. Мы можем создать IP-наборы разных стран, так что мы можем применять их по мере необходимости. Это своего рода метод весьма эффективен, когда нам нужно блокировать определенный трафик, исходящий из конкретной страны или региона, но и позволяет IP диапазоны, как нам нужно. Есть множество модулей брандмауэра и Iptables для них, но этот довольно прост, быстр и его удобно использовать. И так, если у вас есть какие-либо вопросы, предложения, обратная связь, пожалуйста, напишите их в поле для комментариев ниже.

Просмотров: 152

Если статья понравилась, то поделитесь ей в социальных сетях:

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close