9 янв


Иногда требуется полностью заблокировать доступ к серверу для той или иной страны, причины для этого могут быть совершенно разные, от скрытия контента для какой то страны, до защиты от DDoS.
Опишу простой способ блокировки нужных стран средствами iptables на сервере под управлением ubuntu server 14.04

Для начала необходимо установить дополнительные пакеты:
apt-get update
apt-get install xtables-addons-common module-assistant
apt-get install libtext-csv-xs-perl libxml-csv-perl libtext-csv-perl unzip


После установить модуль xtables
module-assistant auto-install xtables-addons-source


В процессе установки может выдать ошибку с вариантами, выбираем:
CONTINUE Пропустить и продолжить выполнение со следующей операции


Теперь можно создать базу GeoIP, для этого сначала создадим директорию где она должна размещаться:
mkdir -p /usr/share/xt_geoip

после перейдём в директорию с нужными инструментами:
cd /usr/lib/xtables-addons/

и скачаем актуальную базу:
./xt_geoip_dl

теперь можно её собрать:
./xt_geoip_build -D /usr/share/xt_geoip *.csv


Основные моменты установки завершены, осталось добавить правило iptables для блокировки Китая и соседей:
iptables -A INPUT -m geoip --src-cc AF,CN,GR,SG,JP,HK,KR,KP,TW,IN,MX,ID -j DROP


Проверить текущие правила iptables можно командой:
iptables -L
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.