CentOS 6 iptables установка Xtables-Addons (GeoIP Filtering)

Ставим зависимости:
yum install gcc gcc-c++ make automake unzip zip xz kernel-devel-`uname -r` iptables-devel perl-Text-CSV_XS |
выкачиваем последнюю версию и ставим
(Для ядер < 3.7 -> xtables-addons-1.47
Для ядер > 3.7 -> xtables-addons-2)
tar xvf xtables-addons-1.47.1.tar.xz |
если вылезет ошибка
make[3]: Entering directory `/usr/src/kernels/2.6.32-431.17.1.el6.x86_64' |
CC [M] /opt/xtables-addons-1.47.1/extensions/compat_xtables.o |
/opt/xtables-addons-1.47.1/extensions/compat_xtables.c: В функции ‘xtnu_ipv6_find_hdr’: |
/opt/xtables-addons-1.47.1/extensions/compat_xtables.c:633: ошибка: слишком мало аргументов в вызове функции ‘ipv6_find_hdr’ |
make[4]: *** [/opt/xtables-addons-1.47.1/extensions/compat_xtables.o] Ошибка 1 |
make[3]: *** [_module_/opt/xtables-addons-1.47.1/extensions] Ошибка 2 |
make[3]: Leaving directory `/usr/src/kernels/2.6.32-431.17.1.el6.x86_64' |
make[2]: *** [modules] Ошибка 2 |
make[2]: Leaving directory `/opt/xtables-addons-1.47.1/extensions' |
make[1]: *** [all-recursive] Ошибка 1 |
make[1]: Leaving directory `/opt/xtables-addons-1.47.1' |
то правим
vim /lib/modules/`uname -r`/build/include/linux/autoconf.h |
Найдите строку:
#define CONFIG_IP6_NF_IPTABLES_MODULE 1 |
Замените на:
/*#define CONFIG_IP6_NF_IPTABLES_MODULE 1*/ |
выкачиваем базу гео
./xt_geoip_build GeoIPCountryWhois.csv |
mkdir -p /usr/share/xt_geoip/ |
cp -r {BE,LE} /usr/share/xt_geoip/ |
загружаем модуль для фаерволла
добавим пример блокировки Китая, для этого
vim /etc/sysconfig/iptables |
и добавим строку
-A INPUT -m geoip --src-cc CN -j DROP |
передергиваем правила и радуемся