Назад | Перейти на главную страницу

xtables geoip-фильтр не может загрузить в память

В порядке,

У меня странная проблема. Я только что закончил базовую настройку своего сервера. Добавление в fail2ban, postfix, apache, mysql и т. Д.

Затем я вошел и начал добавлять надстройки xtable. Я скачал версию 1.47.1 поскольку это версия (насколько мне известно) самая последняя версия для моего ядра 2.6.32-431.23.3.el6.x86_64

После компиляции с отключенными параметрами IPv6 компиляция с всегда вызывала для меня ошибки, я вошел в обновленную базу данных geoip, убедившись, что папки BE и LE находятся в /usr/share/xt_geoip и добавил этот фильтр:

-A INPUT -m geoip ! --src-cc US -j REJECT --reject-with icmp-net-unreachable

Но когда я это сделал, я получил это сообщение:

iptables: Invalid argument. Run `dmesg' for more information.

Последняя запись в dmesg была такой:

xt_geoip: unable to load 'US' into memory: -12

Так что на данный момент я застрял. Я впервые столкнулся с этой проблемой на любом из моих серверов. Конечно, это мой первый сервер CentOS 6, все мои прошлые серверы использовали Centos 5.

Я знаю, в каком месте кода возникла ошибка (строка 86 в файле xt_geoip.c), но я знаю, что это очень поможет.

Убедитесь, что ваши скомпилированные файлы не пусты. У меня была такая же ошибка после следующих инструкций отсюда:

http://terminal28.com/how-to-block-countries-using-iptables-debian/

... и обнаружил, что файлы iv6 содержат данные, но все файлы .iv4 были пустыми, я думаю, потому что мне не хватало пакета "unzip" при первом запуске.

Проверено, чтобы подтвердить наличие данных в файлах .CSV, выполнить эту команду для повторной сборки:

 ./xt_geoip_build -D /usr/share/xt_geoip *.csv

... и сразу смог использовать коды стран с iptables.