CLI¶
Обзор¶
GSLB-сервис действует как авторитетный DNS-сервер, распределяя DNS-ответы на основе состояния и политик Target-групп. Он принимает DNS-запросы и динамически отвечает IP-адресами из соответствующей группы.
Каждый сервис может определять несколько DNS Access points, доменных имён, ресурсных записей (включая MX, TXT и GSLB) и политик поведения, таких как TTL и маскирование префиксов IP-адресов клиентов.
Настройка¶
- gslb service NAME¶
Создать GSLB-сервис.
В этом режиме конфигурации доступны следующие команды:
- access-point type udp ip A.B.C.D [port]¶
Добавить Access point к GSLB-сервису. По умолчанию порт — 53. Access point определяет IP-адрес и порт, на которых GSLB-сервис принимает входящие DNS-запросы. Для одного GSLB-сервиса можно настроить несколько Access points для обеспечения отказоустойчивости, multi-site развёртываний или anycast-распределения.
- origin-domain-name NAME¶
Задать базовое доменное имя для относительных записей. По умолчанию источник — корень доменного дерева (
.).
- ttl (0-2147483647)¶
Задать значение TTL по умолчанию для ресурсных записей. Определяет, как долго запись может храниться в кэше после получения. По умолчанию — 0 (без кэширования).
- prefix-length-ipv4 (0-32)¶
Задать количество старших битов из IPv4-адреса клиента, используемых для хеширования в алгоритмах
wshиmaglev-ip. По умолчанию — 32 бита (весь адрес).
- prefix-length-ipv6 (0-128)¶
Задать количество старших битов из IPv6-адреса клиента, используемых для хеширования в алгоритмах
wshиmaglev-ip. По умолчанию — 128 бит (весь адрес).
Добавление ресурсных записей¶
- rr NAME type <mx|txt|gslb> ...¶
Создать ресурсную запись с доменным именем
NAMEи указанным типом (MX, TXT или GSLB). Доменное имя может быть абсолютным (заканчивается точкой) или относительным.
MX-запись¶
- rr NAME type mx [ttl (0-2147483647)] data (0-65535) EXCHANGE¶
Создать ресурсную запись типа MX со следующими ключами:
ttl— переопределяет глобальный TTL для ресурсных записей.data— приоритет (предпочтение) почтового сервера.EXCHANGE— доменное имя почтового сервера (относительное или абсолютное).
TXT-запись¶
- rr NAME type txt [ttl (0-2147483647)] id (0-65535) data STRINGS¶
Создать ресурсную запись типа TXT со следующими ключами:
ttl— переопределяет глобальный TTL для ресурсных записей.id— идентификатор ресурсной записи.data STRINGS— последовательность строк. Строки разделяются пробелами и/или табуляцией. Если строка содержит пробелы или табуляцию, она должна быть заключена в двойные кавычки. Если внутри строки в кавычках встречается двойная кавычка, перед ней должен стоять обратный слэш, который сам не включается в итоговую строку. Например, следующая запись определяет три строки:string_one "string two" "string \"three\""
GSLB-запись¶
- rr NAME type gslb <ipv4>¶
Создать ресурсную запись типа GSLB.
После создания ресурсной записи типа GSLB вы переходите в режим конфигурации этой записи. В этом режиме доступны следующие команды:
- primary-target-group NAME¶
Задать основную Target-группу.
- standby-target-group NAME¶
Задать резервную Target-группу.
- final-target-group NAME [ttl (0-2147483647)]¶
Задать финальную Target-группу. Параметр
ttlопределяет TTL для ресурсных записей с IP-адресами из финальной группы.
- priority <primary|equal>¶
Задать относительный приоритет основной и резервной групп. По умолчанию —
primary.
Логика выбора активной группы¶
При получении DNS-запроса на IP-адрес, привязанный к доменному имени (запрос A-записи), GSLB-сервис возвращает IP-адрес одного из серверов активной группы, используя настроенный для этой группы алгоритм балансировки нагрузки.
Логика выбора активной группы:
Если обе группы — основная и резервная — доступны:
Если приоритет установлен в
primary, активной является основная группа.Если приоритет установлен в
equal, активной является группа, которая стала доступной первой.
Если доступна только одна из групп — основная или резервная — то она становится активной.
Если обе группы — основная и резервная — недоступны, а финальная группа доступна, то активной становится финальная группа.
Если все три группы недоступны, GSLB-сервис возвращает пустой ответ.
Если какая-либо группа не указана, она считается недоступной.
Пример¶
gslb service gs1
access-point type udp ip 192.168.1.1
origin-domain-name company.com
ttl 300
rr mail type mx data 10 mailserver
rr mail type txt id 0 data "favorite drink=orange juice"
rr mailserver type gslb ipv4
primary-target-group mailgroup
exit
rr www type gslb ipv4
primary-target-group webgroup1
standby-target-group webgroup2
exit
exit