Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Этот поставщик также бесплатно предоставляет базу
данных по странам, обновляемую один раз в месяц. Получаем необходимую базу с
сайта
gzip -d GeoIP.dat.gz
mkdir /var/geodns
mv GeoIP.dat /var/geodns/
С этого сайта получаем библиотеку, предоставляющую API GeoDNS и устанавливаем ее:
tar -xzvf GeoIP.tar.gz
./configure –with-dbdir=/var/geodns
make
make install
ldconfig
Установка сервера имен
Для сервера имен я использовал BIND 9, для которого существует соответствующий патч, позволяющий серверу имен работать с базой данных регионов через вышеуказанный API.
Патч доступен по адресу
tar -xzvf bind-9.4.1-geodns-patch.tar.gz
cp bind-9.4.1-geodns-patch/patch.diff bind-9.4.2
cd bind-9.4.1
patch -p 1 < patch.diff
CFLAGS="-I/usr/local/geoip/include" LDFLAGS="-L/usr/local/geoip/lib -lGeoIP" ./configure --prefix=/usr/local/geobind
make
make install
Настройка сервера имен
В BIND 9 существует возможность создавать «виды». В зависимости от параметров запроса (в нашем случае – адреса посетителя, который транслируется в страну с помощью базы данных регионов), BIND использует различные определения зон. После установки BIND наша конфигурация может выглядеть следующим образом:
; стандартные опции конфигурации
options {
directory "/usr/local/geobind/etc";
notify yes;
pid-file "/var/run/geo-named.pid";
statistics-file "/var/log/geo-named.stats";
};
; представление для региона USA и Canada
view "us" {
match-clients { country_US; country_CA; };
recursion no;
zone "example.com" {
type master;
file "us.db";
};
};
; представление для региона JP
view "jp" {
match-clients { country_jp; };
recursion no;
zone "example.com" {
type master;
file "jp.db";
};
};
; представление для региона RU
view "ru" {
match-clients { country_ru; };