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

Тема в разделе "Администрирование серверов", создана пользователем despainer, 30 янв 2010.

Модераторы: mefish, stooper
  1. despainer

    despainer

    Регистр.:
    15 фев 2008
    Сообщения:
    615
    Симпатии:
    168
    Вот решил наваять инструкцию на коленке по установке 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

    http://depositfiles.com/files/jgramxvd2

    распаковываем их на своем компутере и переносим на сервер в папку /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 (для цента я выложил файлы)
    http://depositfiles.com/files/yjvj0pnab
    Этот файл надо закинуть в /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

    http://depositfiles.com/files/jgramxvd2

    распаковываем их на своем компутере и переносим на сервер в папку /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

    http://depositfiles.com/files/jgramxvd2

    распаковываем их на своем компутере и переносим на сервер в папку /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 но я не проверял поэтому чтото сказать не могу.
     
    General Fizz, vgvgvg, dig555 и 4 другим нравится это.
  2. exn

    exn Постоялец

    Регистр.:
    22 янв 2010
    Сообщения:
    146
    Симпатии:
    23
    Отличная статья, а за базы вообще огромное спасибо !


    Но меня больше интересует:
    Дело в том что текущая реализация
    ttp://people.netfilter.org/peejix/patchlets/geoip.tar.gz
    с связным списком это ппц для таких вещей (я конечно понимаю ограничения netlink но хотябы деревья быб). может кто наталкивался на другие реализации или методы скрещивания geoip с другими модулями под пакетные фильтра (комерческие зануленные :-])?
     
  3. despainer

    despainer

    Регистр.:
    15 фев 2008
    Сообщения:
    615
    Симпатии:
    168
    более простой вариант:
    http://www.opennet.ru/tips/info/1969.shtml

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


    http://boombick.org/blog/posts/30



    только с геоайпи точнее получается...
     
  4. exn

    exn Постоялец

    Регистр.:
    22 янв 2010
    Сообщения:
    146
    Симпатии:
    23
    Второй вариант как-раз таки и вызвал недовольство, первый - маразм. Грузить весь country list в iptables чтоб тот поперхнулся далеко не лучшая идея.

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

    despainer

    Регистр.:
    15 фев 2008
    Сообщения:
    615
    Симпатии:
    168

    ну не знаю как у вас у меня как раз мод геоип не грузить все лист а берет непосредственно по мере необходимости,при этом все реализовано как мод к геоип
     
  6. help40

    help40

    Регистр.:
    1 окт 2006
    Сообщения:
    252
    Симпатии:
    26
    На сколько они свежие? смотря по размер GeoIPCity.dat вообще и не пахнет на свежая ...? "коммерческие" ??
     
  7. despainer

    despainer

    Регистр.:
    15 фев 2008
    Сообщения:
    615
    Симпатии:
    168
    да базы свежие по мере выхода новых баз буду выкладывать их в этом топике
     
  8. adenaden

    adenaden Создатель

    Регистр.:
    22 янв 2009
    Сообщения:
    11
    Симпатии:
    1
    вопрос

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

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

    despainer

    Регистр.:
    15 фев 2008
    Сообщения:
    615
    Симпатии:
    168
    отвечаю по порядку:
    1.Какая панель роли не играет
    2.релиз от 20 января 2010 года (и это не бесплатная версия)

    скоро выложу обновленную базу
     
  10. mefish

    mefish Support

    Moderator
    • Супермодератор
    Регистр.:
    30 авг 2007
    Сообщения:
    855
    Симпатии:
    618
    Пните в ман iptables+geoip = fuck asia, africa и прочая куйня :crazy: