baltun
Администратор
- Сообщения
- 12.285
- Реакции
- 3.082
- Баллы
- 1.833
Проект patch-o-matic (-ng), предлагавший различные расширения для iptables, уже некоторое время не развивается, его место занял Xtables-addons. Главная его особенность — для установки модулей не требуется пересборка ядра и/или iptables. В итоге добавление новых функций происходит очень просто, нет проблем и при обновлении ядра.
Процесс установки.
Устанавливаем необходимые зависимости.
Скачиваем, собираем и устанавливаем расширение.
Если после команды make появляется ошибка ниже
То изменяем файл
Находим строку ниже
и изменяем ее на вид ниже (комментируем)
Скачиваем гео базу:
Включаем модуль
Добавляем блокировку Китая:
Таблица других стран при добавлении.
Перезапускаем фаервол
Еще примеры возможных блокировок
Процесс установки.
Устанавливаем необходимые зависимости.
Код:
yum install gcc gcc-c++ make automake unzip zip xz kernel-devel-`uname -r` iptables-devel perl-Text-CSV_XS
Скачиваем, собираем и устанавливаем расширение.
Код:
wget https://sourceforge.net/projects/xtables-addons/files/Xtables-addons/1.47/xtables-addons-1.47.1.tar.xz
tar xvf xtables-addons-1.47.1.tar.xz
cd xtables-addons-1.47.1
./configure
make
make install
Если после команды make появляется ошибка ниже
Код:
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'
make: *** [all] Ошибка 2
То изменяем файл
Код:
nano /lib/modules/`uname -r`/build/include/linux/autoconf.h
Находим строку ниже
Код:
#define CONFIG_IP6_NF_IPTABLES_MODULE 1
и изменяем ее на вид ниже (комментируем)
Код:
/*#define CONFIG_IP6_NF_IPTABLES_MODULE 1*/
Скачиваем гео базу:
Код:
cd geoip/
./xt_geoip_dl
./xt_geoip_build GeoIPCountryWhois.csv
mkdir -p /usr/share/xt_geoip/
cp -r {BE,LE} /usr/share/xt_geoip/
Включаем модуль
Код:
modprobe xt_geoip
Добавляем блокировку Китая:
Код:
nano /etc/sysconfig/iptables
-A INPUT -m geoip --src-cc CN -j DROP
Таблица других стран при добавлении.
Код:
-A INPUT -m geoip --source-country CN -j DROP
-A INPUT -m geoip --source-country KR -j DROP
-A INPUT -m geoip --source-country TW -j DROP
-A INPUT -m geoip --source-country HK -j DROP
-A INPUT -m geoip --source-country VN -j DROP
-A INPUT -m geoip --source-country JP -j DROP
-A INPUT -m geoip --source-country AE -j DROP
-A INPUT -m geoip --source-country IR -j DROP
-A INPUT -m geoip --source-country CY -j DROP
-A INPUT -m geoip --source-country IQ -j DROP
-A INPUT -m geoip --source-country CL -j DROP
-A INPUT -m geoip --source-country PS -j DROP
-A INPUT -m geoip --source-country OM -j DROP
-A INPUT -m geoip --source-country NG -j DROP
-A INPUT -m geoip --source-country SA -j DROP
-A INPUT -m geoip --source-country VE -j DROP
-A INPUT -m geoip --source-country KE -j DROP
-A INPUT -m geoip --source-country BS -j DROP
-A INPUT -m geoip --source-country MY -j DROP
-A INPUT -m geoip --source-country SG -j DROP
-A INPUT -m geoip --source-country PK -j DROP
-A INPUT -m geoip --source-country MV -j DROP
-A INPUT -m geoip --source-country KH -j DROP
-A INPUT -m geoip --source-country PG -j DROP
-A INPUT -m geoip --source-country MN -j DROP
-A INPUT -m geoip --source-country TH -j DROP
-A INPUT -m geoip --source-country ID -j DROP
-A INPUT -m geoip --source-country GE -j DROP
-A INPUT -m geoip --source-country KW -j DROP
-A INPUT -m geoip --source-country AP -j DROP
-A INPUT -m geoip --source-country KP -j DROP
-A INPUT -m geoip --source-country NP -j DROP
-A INPUT -m geoip --source-country ZA -j DROP
-A INPUT -m geoip --source-country AO -j DROP
-A INPUT -m geoip --source-country UG -j DROP
-A INPUT -m geoip --source-country KE -j DROP
-A INPUT -m geoip --source-country CG -j DROP
-A INPUT -m geoip --source-country MZ -j DROP
-A INPUT -m geoip --source-country ZW -j DROP
-A INPUT -m geoip --source-country GH -j DROP
-A INPUT -m geoip --source-country AF -j DROP
-A INPUT -m geoip --source-country TO -j DROP
-A INPUT -m geoip --source-country LY -j DROP
-A INPUT -m geoip --source-country AU -j DROP
Перезапускаем фаервол
Код:
service iptables reload
Код:
// Блокируем азиатских друзей
-A INPUT -m geoip --src-cc CN, TW, KR -j DROP
// Блокируем анонимные прокси
-A INPUT -m geoip --src-cc A1 -j DROP
// Подключаться к SSH можно только из России
-A INPUT -p tcp –dport 22 -m geoip ! –src-cc RU -j REJECT
// Запрет исходящих ICMP в некоторые страны
-A OUTPUT -p icmp -m geoip –dst-cc ES -j REJECT
Последнее редактирование: