На
www.netfilter.org просто куча всяких патчей и приблуд на ядро/iptables, на все случаи жизни есть. Прикольная вещь
geoip, распознает страну, к которой айпишник принадлежит.
Для начала качаем набор всего этого добра(например релиз за 30 мая):
ftp://netfilter.org/pub/patch-o-matic-ng/snapshot/patch-o-matic-ng-20050530.tar.bz2
Распаковываем в какую-нить директорию, натягиваем патч:
tar xfz patch-o-matic-ng-XXXXXX.tar.gz
cd patch-o-matic-ng
IPTABLES_DIR=/usr/src/iptables KERNEL_DIR=/usr/src/linux ./runme geoip
У меня прошло ваще без проблем. Затем включаем в ядро появившуюся там опцию "
geoip match support", либо как модуль, либо включаем в ядро. Я сделал как модуль. Пересобираем ядро. Потом пересобираем iptables из тех исходников, которые пропатчили.
Еще важный момент - надо положить базу с адресами/странами в
/var/geoip/. Именно сюда, т.к. путь вшит в установку iptables, но можно поискать и поменять, наверное
База состоит из файлов
geoipdb.bin и
geoipdb.idx, их надо качнуть из инета. ссылок полно.
Пример пользования:
iptables -A INPUT --dport 25 -m geoip --src-cc RU -j ACCEPT
iptables -A INPUT --dport 25 -j LOG --log-prefix "Blocked smtp from not RU:"
iptables -A INPUT --dport 25 -j REJECT
Спамеры отныне могут расслабиться