установка mod_geoip(инструкция)+свежие базы GeoIP

despainer

Постоялец
Регистрация
15 Фев 2008
Сообщения
614
Реакции
167
Вот решил наваять инструкцию на коленке по установке GEOIP на разные операционные системы а то достали в личке пишут просят...
итак поехали:
FreeBSD 5.X 6.X 7.X 8.X

cd /usr/ports/www/mod_geoip2/
make & make install & make clean

Подключаем мод к апачу
nano /usr/local/etc/apache22/httpd.conf
находим в нем строчку-выглядит примерно так:
#LoadModule geoip_module libexec/apache22/mod_geoip.so

раскоментруем ее:
LoadModule geoip_module libexec/apache22/mod_geoip.so

сохраняем файл и рестартуем апач:
apachectl restart или /usr/local/etc/init.d/apache22 restart

далее надо обновить базы для GEOIP а то те которые идут в комплекте древние как мир:
Специально выложил для вас свежие базы MaxMind.com (коммерческие)GeoIPCity.dat GeoIPOrg.dat GeoIP.dat



распаковываем их на своем компутере и переносим на сервер в папку /usr/local/share/GeoIP
подключаем базы в конфиге модуля:
nano /usr/local/etc/apache22/Includes/mod_geoip.conf

файл должен в конце иметь примерно такой вид:

LoadModule geoip_module modules/mod_geoip.so

<IfModule mod_geoip.c>
GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
GeoIPDBFile /usr/share/GeoIP/GeoIPCity.dat
GeoIPDBFile /usr/share/GeoIP/GeoIPOrg.dat

</IfModule>

сохраняем файл и рестартуем апач

apachectl restart

делаем phpinfo и наслаждаемся =)

На этом установка закончена!

Fedora CentOS и иже с ними:

Подключаем репозитарий Epel (для цента я выложил файлы)

Этот файл надо закинуть в /etc/yum.repos.d
далее выполнить сброс кеша
yum clean all

ставим мод собсвенно
yum install mod-geoip

Подключаем мод к апачу
nano /etc/httpd/httpd.conf
находим в нем строчку-выглядит примерно так:
#LoadModule geoip_module libexec/apache22/mod_geoip.so

раскоментруем ее:
LoadModule geoip_module libexec/apache22/mod_geoip.so

сохраняем файл и рестартуем апач:
apachectl restart

далее надо обновить базы для GEOIP а то те которые идут в комплекте древние как мир:
Специально выложил для вас свежие базы MaxMind.com (коммерческие)GeoIPCity.dat GeoIPOrg.dat GeoIP.dat



распаковываем их на своем компутере и переносим на сервер в папку /usr/local/share/GeoIP
подключаем базы в конфиге модуля:
nano /etc/httpd/Includes/mod_geoip.conf

файл должен в конце иметь примерно такой вид:

LoadModule geoip_module modules/mod_geoip.so

<IfModule mod_geoip.c>
GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
GeoIPDBFile /usr/share/GeoIP/GeoIPCity.dat
GeoIPDBFile /usr/share/GeoIP/GeoIPOrg.dat

</IfModule>

сохраняем файл и рестартуем апач

apachectl restart

делаем phpinfo и наслаждаемся =)

Debian ALL Versions

apt-get update
apt-get install libapache2-mod-geoip
при установке он потащит за собой зависимости,не пугайтесь!
Подключим модуль:
a2enmod geoip
Подключаем мод к апачу
nano /etc/apache2/httpd.conf
находим в нем строчку-выглядит примерно так:
#LoadModule geoip_module libexec/apache22/mod_geoip.so

раскоментруем ее:
LoadModule geoip_module libexec/apache22/mod_geoip.so

сохраняем файл и рестартуем апач:
apache2ctl restart

далее надо обновить базы для GEOIP а то те которые идут в комплекте древние как мир:
Специально выложил для вас свежие базы MaxMind.com (коммерческие)GeoIPCity.dat GeoIPOrg.dat GeoIP.dat



распаковываем их на своем компутере и переносим на сервер в папку /usr/local/share/GeoIP
подключаем базы в конфиге модуля:
nano /etc/apache2/Includes/mod_geoip.conf

файл должен в конце иметь примерно такой вид:

LoadModule geoip_module modules/mod_geoip.so

<IfModule mod_geoip.c>
GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
GeoIPDBFile /usr/share/GeoIP/GeoIPCity.dat
GeoIPDBFile /usr/share/GeoIP/GeoIPOrg.dat

</IfModule>

сохраняем файл и рестартуем апач

apache2ctl restart

делаем phpinfo и наслаждаемся =)


На этом установка закончена!

Что можно сделать с помощью этого мода:
1.Cвязать его с iptables и создать систему по бану злобных юзверях по странам
2.Просто выводить откуда приперся юзверь и кто его провайдер с точностью (иногда врет) до города
3.Писать свои скрипты (антилич-антифрод системы)
4.etc все что угодно =)

В репозитарии php есть мод и для php так что можно зверствовать =)

У меня на основе этой системы стоит анализатор на основе iptables который анализирует кто откуда пришел и баннит неверных (китай обе кореи и турцию)+ антифрод-система

PS эти базы говорят подходят к скрипту CNStats но я не проверял поэтому чтото сказать не могу.
 
Отличная статья, а за базы вообще огромное спасибо !


Но меня больше интересует:
Cвязать его с iptables и создать систему по бану злобных юзверях по странам

Дело в том что текущая реализация

с связным списком это ппц для таких вещей (я конечно понимаю ограничения netlink но хотябы деревья быб). может кто наталкивался на другие реализации или методы скрещивания geoip с другими модулями под пакетные фильтра (комерческие зануленные :-])?
 
Отличная статья, а за базы вообще огромное спасибо !
Но меня больше интересует:
Дело в том что текущая реализация
*** скрытое содержание ***
с связным списком это ппц для таких вещей (я конечно понимаю ограничения netlink но хотябы деревья быб). может кто наталкивался на другие реализации или методы скрещивания geoip с другими модулями под пакетные фильтра (комерческие зануленные :-])?

более простой вариант:


Более сложный вариант по установке патча на ядро и скрещивания его с Iptables:



только с геоайпи точнее получается...
 
более простой вариант:
Более сложный вариант по установке патча на ядро и скрещивания его с Iptables:
только с геоайпи точнее получается...

Второй вариант как-раз таки и вызвал недовольство, первый - маразм. Грузить весь country list в iptables чтоб тот поперхнулся далеко не лучшая идея.

Кст есть третий вариант, но реализации я не нашел пока, но это не сложно сделать самому. Параллельно цедить пакеты и если что не так оповещать заранее заточенный под это дело модуль, можно даже полностью в диснейленде его поселить на любой из queue реализации, всяко хоть какая-то параллельность.
 
Второй вариант как-раз таки и вызвал недовольство, первый - маразм. Грузить весь country list в iptables чтоб тот поперхнулся далеко не лучшая идея.
Кст есть третий вариант, но реализации я не нашел пока, но это не сложно сделать самому. Параллельно цедить пакеты и если что не так оповещать заранее заточенный под это дело модуль, можно даже полностью в диснейленде его поселить на любой из queue реализации, всяко хоть какая-то параллельность.


ну не знаю как у вас у меня как раз мод геоип не грузить все лист а берет непосредственно по мере необходимости,при этом все реализовано как мод к геоип
 
....далее надо обновить базы для GEOIP а то те которые идут в комплекте древние как мир:
Специально выложил для вас свежие базы MaxMind.com (коммерческие)GeoIPCity.dat GeoIPOrg.dat GeoIP.dat

*** скрытое содержание ***

....

На сколько они свежие? смотря по размер GeoIPCity.dat вообще и не пахнет на свежая ...? "коммерческие" ??
 
На сколько они свежие? смотря по размер GeoIPCity.dat вообще и не пахнет на свежая ...? "коммерческие" ??

да базы свежие по мере выхода новых баз буду выкладывать их в этом топике
 
вопрос

А какая панель установлена значения не имеет ?

И еще, почему коммерческая geoip.dat размером меньше чем бесплатная(кстати у бесплатной последний реализ 3-го февраля этого года, а у выложенной декабрь 2009-го)
 
А какая панель установлена значения не имеет ?
И еще, почему коммерческая geoip.dat размером меньше чем бесплатная(кстати у бесплатной последний реализ 3-го февраля этого года, а у выложенной декабрь 2009-го)

отвечаю по порядку:
1.Какая панель роли не играет
2.релиз от 20 января 2010 года (и это не бесплатная версия)

скоро выложу обновленную базу
 
Пните в ман iptables+geoip = fuck asia, africa и прочая куйня :crazy:
 
Назад
Сверху