В очередной раз захотелось странного. Возникло желание банить неугодных с помощью iptables по странам.
Гугл вывел меня на такую инструкцию. Пост довольно старый, но по нему я смог добиться нужного. Попробую переделать инструкцию под современные реалии, а точнее под Debian Jessie, который у меня стоит на одной машине.
Итак, начнём с установки. Выполняется она командой:
sudo aptitude install xtables-addons-common
При этом произойдет загрузка пакета с исходниками модулей и их сборка. Возможно, что придется доустановить пакеты "linux-headers" и "build-essential".
После установки пользоваться новыми модулями всё еще нельзя, потому что самбой базы GeoIP еще нет, но в пакете есть скрипты, с помощью которых базу можно создать. Для работы скриптов надо доустановить необходимые пакеты:
sudo aptitude install libtext-csv-xs-perl libxml-csv-perl libtext-csv-perl unzip
Сначала создадим каталог под новую базу:
sudo mkdir -p /usr/share/xt_geoip/
Теперь нужно создать временный каталог, чтобы не мусорить, и скачать в него базу:
mkdir geoiptmp cd geoiptmp /usr/lib/xtables-addons/xt_geoip_dl
Затем надо преобразовать базу в понятный для модуля формат:
sudo /usr/lib/xtables-addons/xt_geoip_build GeoIPv6.csv GeoIPCountryWhois.csv -D /usr/share/xt_geoip
На этом временный каталог можно удалить.
Примеры использования есть в посте по ссылке.