Для блокировки трафика с конкретных стран существует модуль ядра xt_geoip.ko.Приступим к его установке.Скачиваем и распаковываем исходники:
# cd /usr/src/
# wget http://sourceforge.net/projects/xtables-addons/files/Xtables-addons/2.4/xtables-addons-2.4.tar.xz
# tar xfJ xtables-addons-*
# rm xtables-addons-2.4.tar.xz*
# cd xtables-addons-2.4/
sed -i "s#XT_GEOIP_MAX = 15#XT_GEOIP_MAX = 50#g" ./extensions/xt_geoip.h
Устанавливаем необходимые для сборки пакеты:
aptitude install checkinstall pkg-config iptables-dev libtext-csv-xs-perl
Устанавливаем заголовки текущего ядра:
aptitude install linux-headers-$(uname -r)
Собираем модуль:
./configure
make
checkinstall
Включаем модуль xt_geoip.ko:
depmod && depmod -A
modprobe xt_geoip
Проверяем:
root# lsmod|grep geoip
xt_geoip 12591 0
x_tables 19118 8 ip_tables,iptable_filter,iptable_nat,xt_tcpudp,xt_limit,ipt_LOG,xt_state,xt_geoip
Скачиваем и устанавливаем базы GeoIP:
/usr/local/libexec/xtables-addons/xt_geoip_dl
mkdir /usr/share/xt_geoip -p
/usr/local/libexec/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip ./GeoIPCountryWhois.csv
На этом установка и настройка модуля закончена. Примеры использования:Блокируем трафик с Китая:
iptables -A INPUT -m geoip --source-country CN -j DROP
Запрещаем трафик если он не из России или локальной сети:
iptables -I INPUT ! -i lo -m geoip ! --src-cc RU -j DROP
# cd /usr/src/
# wget http://sourceforge.net/projects/xtables-addons/files/Xtables-addons/2.4/xtables-addons-2.4.tar.xz
# tar xfJ xtables-addons-*
# rm xtables-addons-2.4.tar.xz*
# cd xtables-addons-2.4/
Увеличим максимальное количество стран для одного правила.
sed -i "s#XT_GEOIP_MAX = 15#XT_GEOIP_MAX = 50#g" ./extensions/xt_geoip.h
Устанавливаем необходимые для сборки пакеты:
aptitude install checkinstall pkg-config iptables-dev libtext-csv-xs-perl
Устанавливаем заголовки текущего ядра:
aptitude install linux-headers-$(uname -r)
Собираем модуль:
./configure
make
checkinstall
Включаем модуль xt_geoip.ko:
depmod && depmod -A
modprobe xt_geoip
Проверяем:
root# lsmod|grep geoip
xt_geoip 12591 0
x_tables 19118 8 ip_tables,iptable_filter,iptable_nat,xt_tcpudp,xt_limit,ipt_LOG,xt_state,xt_geoip
Скачиваем и устанавливаем базы GeoIP:
/usr/local/libexec/xtables-addons/xt_geoip_dl
mkdir /usr/share/xt_geoip -p
/usr/local/libexec/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip ./GeoIPCountryWhois.csv
На этом установка и настройка модуля закончена. Примеры использования:Блокируем трафик с Китая:
iptables -A INPUT -m geoip --source-country CN -j DROP
Запрещаем трафик если он не из России или локальной сети:
iptables -I INPUT ! -i lo -m geoip ! --src-cc RU -j DROP