Прежде всего, мы должны модернизировать пакеты на нашей машине Linux, так чтобы у нас были программные пакеты в актуальном состоянии. Для того, чтобы обновить нашу систему, мы должны убедиться, что мы зашли под sudo или как суперпользователь. Для того, чтобы зайти под sudo, мы выполним следующую команду:
$ sudo -s
После того, как мы зашли, перейдем к обновлению и модернизации нашей системы.
Система на основе Debian
# apt update && apt upgrade
Система на основе Redhat
# yum update
Большинство дистрибутивов Linux, такие как Ubuntu, Debian поставляются с предустановленным ipset. Но некоторые дистрибутивы, как Centos не предустановлены, и мы должны установить на них. Мы можем установить ipset, выполнив следующую команду в зависимости от дистрибутива, который вы используете.
Система на основе Debian
# apt install ipset
система на основе Redhat
# yum install ipset
Теперь, когда мы установили 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
Теперь, когда наши IP-наборы будут готовы, мы применим эти наборы IP, чтобы заблокированные с помощью модуля ipset в IPTables.
# iptables -A INPUT -m set --match-set countryblock src -j DROP
Приведенная выше команда блокирует трафики, происходящие из диапазонов, определенных IP-подсетей в приведенном выше сгенерированном наборе под названием countryblock. Таким образом, все IP-адреса, перечисленные в нем будут заблокированы.
Таким образом, мы можем заблокировать определенные блоки с помощью модуля ipset в IPTables. Мы можем создать IP-наборы разных стран, так что мы можем применять их по мере необходимости. Это своего рода метод весьма эффективен, когда нам нужно блокировать определенный трафик, исходящий из конкретной страны или региона, но и позволяет IP диапазоны, как нам нужно. Есть множество модулей брандмауэра и Iptables для них, но этот довольно прост, быстр и его удобно использовать. И так, если у вас есть какие-либо вопросы, предложения, обратная связь, пожалуйста, напишите их в поле для комментариев ниже.
Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!
Спасибо! Ваша заявка принята
Спасибо! Ваша заявка принята