Геолокационные IP-базы
Общие сведения о геолокационных IP-базах
Геолокационная IP-база (GeoIP) – это база данных, содержащая информацию по пулам IP-адресов, их координатам и наименованиям локаций. Используется для определения местоположения IP-адреса пользователя: страны, города, широты. долготы и др.
В Termidesk Connect такие IP-базы используются для активации определенного алгоритма балансировки и выбора ближайшей к пользователю Площадки.
Добавление геолокационной IP-базы выполняется одним из способов:
-
из интерфейса командной строки Termidesk Connect (см. подраздел Добавление геолокационной IP-базы из CLI);
-
из веб-интерфейса Termidesk Connect (см. подраздел Добавление геолокационной IP-базы из WUI).
Добавление геолокационной IP-базы осуществляется через объект geolb (см. подраздел Объект geolb).
Создание геолокационной IP-базы
Для создания собственной геолокационной IP-базы нужно:
-
конвертировать основную геолокационную IP-базу в формат
JSON, например, с помощью утилитыmmdbctl:
mmdbctl export <путь_к_базе_.mmdb> -o <путь_к_новому_файлу_базы_.json>
-
сформировать текстовый файл (например,
geonames.txt) для удобного поискаgeoname_idс помощью командной строки:
jq -r '.|"\(.continent.geoname_id),\(.country.geoname_id),\(.subdivisions[0].geoname_id),\(.city.geoname_id),\(.location|"\(.latitude),\(.longitude),\(.accuracy_radius)")|\(.continent.code)|\(.country.names|"\(.ru):\(.en)")|\(.subdivisions[0].names|"\(.ru):\(.en)")|\(.city.names|"\(.ru):\(.en)");"' exported-geoip.json | sort | uniq > geonames.txt
-
найти необходимые географические идентификаторы в базе данных, например:
grep -i 'Тюмень' geonames.txt grep -i 'vladivos' geonames.txt sed -e '/Санкт/I!d' -e '/rus/I!d' geonames.txt
| Идентификаторы находятся в первом столбце, если разделительный знак принять за «|». В этом же списке находятся координаты в системе WGS 84 (последние два значения), а также радиус точности местоположения в километрах. Координаты можно заменить, воспользовавшись онлайн-картой. |
-
сформировать файл (например,
infrastructure.txt) с содержимым IP-адресов и их местоположений:
10.0.1.0/24,6255148,2017370,536203,498817,59.93863,30.31413,5
10.0.3.0/25,6255148,2017370,1488747,1488754,57.138530,65.522186,1
10.0.3.128/25,6255148,2017370,1488747,1488754,57.116799,65.550740,1
|
Где:
Необходимые столбцы: 1, 6, 7. |
-
конвертировать получившийся файл в формат
MMDBс помощью исполняемого файлаwriter.py:
|
Необходимо предварительно установить библиотеку
|
python3 writer.py --file infrastructure.txt --output infrastructure.mmdb
Добавление геолокационной IP-базы из CLI
Для добавления геолокационной IP-базы используются команды:
-
загрузка геолокационной IP-базы в формате
.mmdbна устройство:
scp -P 222 <имя_файла>.mmdb tdadmin@<IP-адрес_Termidesk_Connect>:~/
-
переход в интерфейс Linux Shell из CLI на устройстве:
bash
-
перемещение файла в хранилище геолокационных IP-баз:
sudo cp <имя_файла>.mmdb /var/lib/termidesk-gslb
По умолчанию в Termidesk Connect хранилище геолокационных IP-баз расположено в папке /var/lib/termidesk-gslb.
|
-
выход из интерфейса Linux Shell:
exit
-
активация геолокационной IP-базы на устройстве:
set geolb geodb <имя_файла>.mmdb
| Для активации на устройстве доступна только одна геолокационная IP-база. При активации новой IP-базы, предыдущая будет деактивирована. |
-
применение заданных настроек:
commit
-
сохранение настроек:
write
Добавление геолокационной IP-базы из WUI
Для просмотра списка загруженных геолокационных IP-баз следует перейти «Настройки – ГеоБН – ГеоБД».
Для загрузки геолокационной IP-базы следует нажать экранную кнопку [Загрузить] и указать путь к файлу в формате .mmdb.
После загрузки файла он будет расположен в /var/lib/termidesk-gslb.
|
Для активации геолокационной IP-базы в Termidesk Connect следует отметить ее и нажать экранную кнопку [Выбрать].
Для удаления геолокационной IP-базы следует отметить его и нажать экранную кнопку [Удалить].
| Для удаления нескольких IP-баз отметить все необходимые в списке. |
Объект geolb
Доступные команды объекта geolb приведены в таблице (см. таблицу Доступные команды объекта geolb).
| Команда | Описание |
|---|---|
Конфигурация ADNS |
|
|
Добавление ADNS. Указывается IP-адрес и номер порта, на котором Termidesk Connect будет принимать входящие DNS-запросы. В случае использования отказоустойчивой конфигурации Termidesk Connect необходимо указывать общий IP-адрес кластера, т.е IP-адрес с типом Пример команды:
|
|
Задание имени таблицы VRF для привязки сетевого интерфейса с указанным IP-адресом (по умолчанию – |
Конфигурация геолокационной IP-базы |
|
|
Активация геолокационной IP-базы на устройстве. Для активации на устройстве доступна только одна геолокационная IP-база. При активации новой IP-базы, предыдущая будет деактивирована |
Конфигурация Сервиса |
|
|
Создание Сервиса. Возможные типы записи Сервиса:
|
|
Настройка Сервиса с типом записи A. Для настройки доступны следующие параметры:
|
|
Настройка Сервиса с типом записи AAAA. Для настройки доступны следующие параметры:
|
|
Настройка Сервиса с типом записи CNAME. Для настройки доступны следующие параметры:
|
Конфигурация удаленной Площадки |
|
|
Добавление Площадки |
Конфигурация DNS View |
|
|
Создание DNS View |
|
Задание приоритета DNS View. Чем ниже приоритет, тем выше DNS View находится в списке проверок |
|
Список IP-адресов сетей в формате CIDR, при запросе из которых Termidesk Connect будет выдавать настроенные IP-адреса Сервисов (одна команда добавляет только один IP-адрес сети, при добавлении нескольких IP-адресов повторить команду для каждого). Пример команды:
|
Конфигурация Виртуального Сервера геобалансировки |
|
|
Создание Виртуального Сервера геобалансировки. Возможные типы Сервиса для Виртуального Сервера геобалансировки:
|
|
Алгоритм геобалансировки (по умолчанию –
|
|
Использование опции ECS (EDNS Client Subnet) (по умолчанию –
Опция ECS используется для хранения информации о сети исходного источника запроса. Это полезно в случае, когда запрос пришел от вышестоящего DNS-сервера, местоположение которого точно неизвестно. Termidesk Connect получит информацию о сети исходного источника из входящего DNS-запроса и сохранит ее |
|
Использование привязки входящего подключения к одному Сервису на время обработки его DNS-запросов. Возможные значения:
При выборе значения
|
|
Привязка Сервиса к Виртуальному Серверу геобалансировки (одна команда добавляет только один Сервис, для добавления нескольких Сервисов повторить команду для каждого). Для привязки доступны только Сервисы с типом, который указывается при создании Виртуального Сервера геобалансировки |
|
Указание веса Сервиса (значение от 1 до 100). Вес определяет приоритет распределения запросов на Сервис, параметр необходим при балансировке с использованием алгоритма |
Конфигурация Зоны |
|
|
Создание Зоны. Указывается доменное имя Зоны и назначенный DNS View. Пример команды:
|
|
Задание срока действия (в секундах) данных при недоступности первичного DNS-сервера (по умолчанию – |
|
Задание минимального времени (в секундах) жизни отрицательных ответов (по умолчанию – |
|
Задание IP-адреса первичного DNS-сервера (ADNS). IP-адрес указывается для настройки SOA-записи |
|
Указание имени первичного DNS-сервера (по умолчанию – Указывается имя, которое вместе с именем Зоны образует FQDN. Например, если задано имя Зоны |
|
Задание интервала (в секундах) обновлений запросов от вторичного DNS-сервера к первичному (по умолчанию – |
|
Задание интервала (в секундах) повторных попыток обновления, если первичный DNS-сервер не ответил (по умолчанию – |
|
Указание контакта администратора зоны (по умолчанию – |
|
Задание задание TTL (в секундах) для DNS-записей (по умолчанию – |
|
Задание поддомена для указанного домена, который является частью географически распределенной балансировки нагрузки для конкретного домена (возможно добавить несколько поддоменов для одной Зоны). В командах с опцией Пример команды для указания корневого домена:
Пример команды указания поддомена
|
|
Указание IPv4-адреса (возможно добавить несколько IPv4-адресов для одного набора ресурсных записей). IP-адрес указывается при добавлении набора ресурсных записей с типом А для указанного поддомена. При задании ресурсной записи статическим методом указывается IPv4-адрес. При задании ресурсной записи динамическим методом указывается Виртуальный Сервер. Нельзя использовать оба метода вместе. В конфигурацию будут сохранены ресурсные записи, которые заданы последними |
|
Задание времени (в секундах) жизни DNS-записи при кешировании. Значение указывается при добавлении набора ресурсных записей с типом А для указанного поддомена. Если значение не будет задано, то используется значение |
|
Задание Виртуального Сервера и его приоритета использования (возможно добавить несколько Виртуальных Серверов для одного набора ресурсных записей). Значения указываются при добавлении набора ресурсных записей с типом А для указанного поддомена. Указываются следующие значения:
Обработка запросов осуществляется в порядке возрастания порядкового номера Виртуального Сервера. В случае недоступности Виртуального Сервера, запросы будут обработаны следующим по порядку Виртуальным Сервером |
|
Указание IPv6-адреса (возможно добавить несколько IPv6-адресов для одного набора ресурсных записей). IP-адрес указывается при добавлении набора ресурсных записей с типом AAAA для указанного поддомена. При задании ресурсной записи статическим методом указывается IPv6-адрес. При задании ресурсной записи динамическим методом указывается Виртуальный Сервер. Нельзя использовать оба метода вместе. В конфигурацию будут сохранены ресурсные записи, которые заданы последними |
|
Задание времени (в секундах) жизни DNS-записи при кешировании. Значение указывается при добавлении набора ресурсных записей с типом AAAA для указанного поддомена. Если значение не будет задано, то используется значение |
|
Задание Виртуального Сервера и его приоритета использования (возможно добавить несколько Виртуальных Серверов для одного набора ресурсных записей). Значения указываются при добавлении набора ресурсных записей с типом AAAA для указанного поддомена. Указываются следующие значения:
Обработка запросов осуществляется в порядке возрастания порядкового номера Виртуального Сервера. В случае недоступности Виртуального Сервера, запросы будут обработаны следующим по порядку Виртуальным Сервером |
|
Указание канонического имени (возможно добавить несколько канонических имен для одного набора ресурсных записей). Значение указывается при добавлении набора ресурсных записей с типом CNAME для указанного поддомена. При задании ресурсной записи статическим методом указывается каноническое имя. При задании ресурсной записи динамическим методом указывается Виртуальный Сервер. Нельзя использовать оба метода вместе. В конфигурацию будут сохранены ресурсные записи, которые заданы последними |
|
Задание времени (в секундах) жизни DNS-записи при кешировании. Значение указывается при добавлении набора ресурсных записей с типом CNAME для указанного поддомена. Если значение не будет задано, то используется значение |
|
Задание Виртуального Сервера и его приоритета использования (возможно добавить несколько Виртуальных Серверов для одного набора ресурсных записей). Значения указываются при добавлении набора ресурсных записей с типом CNAME для указанного поддомена. Указываются следующие значения:
Обработка запросов осуществляется в порядке возрастания порядкового номера Виртуального Сервера. В случае недоступности Виртуального Сервера, запросы будут обработаны следующим по порядку Виртуальным Сервером |
|
Задание времени (в секундах) жизни DNS-записи при кешировании. Значение указывается при добавлении набора ресурсных записей с типом MX для указанного поддомена. Если значение не будет задано, то используется значение |
|
Задание хоста с почтовой службой и его приоритета использования (возможно добавить несколько хостов для одного набора ресурсных записей). Значения указываются при добавлении набора ресурсных записей с типом MX для указанного поддомена. Ресурсная запись MX задается статическим методом, для записи указываются следующие значения:
|
|
Задание времени (в секундах) жизни DNS-записи при кешировании. Значение указывается при добавлении набора ресурсных записей с типом TXT для указанного поддомена. Если значение не будет задано, то используется значение |
|
Задание ресурсной записи TXT (возможно добавить несколько записей для одного набора ресурсных записей). Значение указывается при добавлении набора ресурсных записей с типом TXT для указанного поддомена. Ресурсная запись TXT задается статическим методом |
|
Задание времени (в секундах) жизни DNS-записи при кешировании. Значение указывается при добавлении набора ресурсных записей с типом SRV для указанного поддомена. Если значение не будет задано, то используется значение |
|
Задание ресурсной записи SRV (возможно добавить несколько записей для одного набора ресурсных записей). Значения указываются при добавлении набора ресурсных записей с типом SRV для указанного поддомена. Ресурсная запись SRV задается статическим методом, для записи указываются следующие значения:
|