Всё не так просто... » geoip http://www.lab108.ru Мэрфолог-практик Sat, 10 Sep 2016 19:25:18 +0000 ru-RU hourly 1 http://wordpress.org/?v=3.9.14 Расположение по IP /2009/08/29/raspolozhenie-po-ip/ /2009/08/29/raspolozhenie-po-ip/#comments Sat, 29 Aug 2009 10:54:34 +0000 /?p=3140 Интересно, на сколько точно Кластермап определяет географическое положение по IP? Хотя из южного полушария ко мне могли заходить, но разве что случайно.



География посетителей
География посетителей

Хотя, гугловсеая аналитика тоже бодро рапортует о посетителе из ЮАР и Нигерии. И ещё несколько человек из Австралии и Новой Зеландии. Даже из Бразилии кто то приблудился…

]]>
/2009/08/29/raspolozhenie-po-ip/feed/ 2
geoip в iptables /2008/09/18/geoip-v-iptables/ /2008/09/18/geoip-v-iptables/#comments Thu, 18 Sep 2008 12:48:00 +0000 /2008/09/18/geoip-v-iptables/ есть такой модуль для iptables – geoip. нужен он для того, чтобы фильтровать пакеты по географическому признаку.
по умолчанию в комплект поставки это счастье не входит, тк что собирать его придётся руками.
неполохое описание этого процесса есть здесь на русском или здесь на английском. версии немного отличаются.

если коротко:

подготовительная операция
# apt-get install dpkg-dev build-essential

скачать и распаковать сырцы ядра, сырцы iptables, type-o-matic, патч geoip.
# apt-get install linux-source-2.6.18
# tar xjf /usr/src/linux-source-<version>.tar.bz2 -C /usr/src/
# mkdir ~/geoip
# cd ~/geoip/
# apt-get source iptables
# wget http://people.netfilter.org/peejix/patchlets/geoip.tar.gz
# wget http://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/patch-o-matic-ng-20070414.tar.bz2
# tar xjf patch-o-matic-ng-20070414.tar.bz2
# tar xzf geoip.tar.gz -C patch-o-matic-ng-20070414/patchlets/
# cd patch-o-matic-ng-20070407/

пропатчить iptables свежескачанным geoip
# KERNEL_DIR=/usr/src/linux-source-<version>/ IPTABLES_DIR=~/geoip/iptables-<version>/iptables/ ./runme geoip

на самом деле можно geoip не скачивать, и расположение сырцов ядра и iptables не указывть. patch-o-matic спрашивает при их размещение, а geoip подкидывается командой
# ./runme –download geip

загрузит и пропатчит. ни куда не денется.

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

первый вариант:

применим на ядро старый конфиг
# cd /usr/src/linux-source-<version>/
# make oldconfig

на вопрос
geoip match support (IP_NF_MATCH_GEOIP) [N/m/?] (NEW)
отвечаем “m”
после чего подготавливаем сборку модулей и собираем модули netfilter (правда все сразу, как собрать отдельный я не в курсе)
# make modules_prepare
# make -C $(pwd) M=net/ipv4/netfilter/ modules

копируем ядерный модуль на штатное место
# cp net/ipv4/netfilter/ipt_geoip.ko /lib/modules/$(uname -r)/kernel/net/ipv4/netfilter/

и активируем его
# depmod
# modprobe ipt_geoip
# echo “ipt_geoip” >> /etc/modules

собираем библиотеку iptables
# cd ~/geoip/iptables-<version>/iptables/
# make KERNEL_DIR=/usr/src/linux-source-<version>/ extensions/libipt_geoip.so

и ставим файл на место
# cp extensions/libipt_geoip.so /lib/iptables/

после чего подкидываем модулю базу ардресов с привязкой к странам

ну и второй вариант:
точно так же конфигурим ядро

применим на ядро старый конфиг
# cd /usr/src/linux-source-<version>/
# make oldconfig

на вопрос
geoip match support (IP_NF_MATCH_GEOIP) [N/m/?] (NEW)
отвечаем “m”

и собираем ядерный пакет
# make-kpkg –initrd kernel_image

после чего получаем собраный пакет с пропатченым ядром годный для установки

ну и сооружаем дебиановский пакет с пропатченным iptables. руководство берём здесь

/* чесслово, мне лениво прямо сейчас переписывать всё что там есть. лучше по дебианизации отдельную статью написать, если она действительно нужна. */

в общем получили на выходе готовый пакет iptables-чего_то_там-geoip.deb, опять же готовый к установке.

остаётся саме простое – подсунуть географическому модулю базу адресов

# cd ~/geoip/
# wget http://www.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip
# unzip GeoIPCountryCSV.zip
# wget http://people.netfilter.org/peejix/geoip/tools/csv2bin-20041103.tar.gz
# tar xzf csv2bin-20041103.tar.gz
# cd csv2bin/
# make
# ./csv2bin ../GeoIPCountryWhois.csv
# mkdir /var/geoip
# mv geoipdb.* /var/geoip/

всё. в /var/geoip лежит готоая к употреблению база. можно писать правила в iptables

# iptables -m geoip –help

]]>
/2008/09/18/geoip-v-iptables/feed/ 0
спамоборство /2008/08/27/spamoborstvo-2/ /2008/08/27/spamoborstvo-2/#comments Wed, 27 Aug 2008 09:48:00 +0000 /2008/08/27/spamoborstvo-2/ прикрутил в файрволу модуль goip и забанил к чёртовой матери Азию, Африку и Латинскую Америку по 25-му порту.
количество отбитого постфиксом спама упало раза в два.

внимательно наблюдаю за тем, из каких стран не попавших в банлист идёт спам. Польша, Германия, Штаты, и, естественно, Россия. рад бы забанить целиком, но нельзя – почта должна ходить.

]]>
/2008/08/27/spamoborstvo-2/feed/ 1