DNS
Общие настройки DNS
DNS: основные понятия, типы записей и принцип работы услуги
Что такое DNS?
DNS или система доменных имён — это база данных, которая определяет соответствия между доменным именем и его IP-адресом. DNS помогает пользователю добраться до интернет-ресурса, используя только его название. Но одного названия мало для подключения — необходим IP-адрес, который пользователю незнаком.
Например, чтобы перейти на сайт MaCloud, в адресной строке браузера нужно ввести имя: macloud.pro. Но браузеру для подключения к сайту нужен IP-адрес. Здесь в работу вступает DNS, ищет в своей системе соответствующий IP, чтобы помочь установить соединение. Если DNS не сможет определить адрес ресурса, браузер покажет ошибку.
Простыми словами DNS похож на телефонную книгу. Вы вводите имя человека, а ваша телефонная книга находит его номер. Так же и DNS находит IP-адреса запрашиваемых доменных имён.
Что такое DNS-сервер?
DNS-сервер — это специальный сервер или группа серверов, которые хранят данные о соответствиях между доменным именем и IP-адресом и предоставляют их по запросу пользователей. Они также кешируют DNS-записи, полученные от других серверов.
Типы DNS-серверов
1. Резолверы (локальные)
Резолверы — это посредники между браузером пользователя и остальными DNS-серверами. Они обеспечивают преобразование доменных имён в IP-адреса и кешируют ответы на запросы, тем самым ускоряя доступ к ресурсам. Такие серверы чаще всего расположены в сети интернет-провайдера.
2. Корневые
Корневые серверы принимают DNS-запросы от резолверов. Они содержат информацию о том, какой сервер отвечает за искомый домен верхнего уровня (TLD) и перенаправляет запрос к нему. Таких серверов всего 13, однако по всему миру существуют их копии для обеспечения отказоустойчивости.
3. Серверы доменов верхнего уровня (TLD)
Серверы доменов верхнего уровня владеют информацией о таких доменах и их зонах как, например, .ru, .com, .org и т.д. Эти серверы перенаправляют запросы на авторитетные серверы, которые в свою очередь управляют доменами второго уровня искомого домена.
4. Авторитетные
Авторитетные серверы содержат информацию о DNS-зонах и записях доменов второго уровня. Именно они отдают IP-адрес искомого домена, завершая DNS-запрос.
Как работает DNS?
Допустим, вы хотите перейти на сайт macloud.pro. Вы вводите домен в адресную строку вашего браузера, и начинается «магия».
Сначала ваш компьютер обращается к локальному файлу hosts, в котором хранятся IP-адреса ресурсов, на которые вы переходили. Если в файле hosts есть запись для домена macloud.pro, браузер сразу перейдёт на сайт. Если такой записи там нет, браузер отправит DNS-запрос к локальному серверу (резолверу) вашего интернет-провайдера, чтобы тот нашёл IP-адрес домена.
Сначала резолвер ищет ответ в своём кеше. Если запись в кеше резолвера присутствует, ваш браузер получит IP-адрес и откроет искомый сайт. Если записи нет, резолвер направит запрос на корневой DNS-сервер.
Корневой сервер не хранит информацию об IP-адресах доменов, однако знает, какой TLD-сервер отвечает за домен верхнего уровня .ru, поэтому отправляет резолверу IP-адрес соответствующего TLD-сервера.
Так как TLD-сервер домена .pro знает только IP-адреса авторитетных DNS-серверов доменов в зоне .pro, он также не может отдать искомый IP домена macloud.pro. Запрос перенаправляется на авторитетный DNS-сервер домена macloud.pro — на ns1.edgedns.ru.
Авторитетный сервер затем проверяет свои записи и ищет IP-адрес, соответствующий домену macloud.pro. Если запись найдена, авторитетный сервер передаёт адрес резолверу. Если такой записи нет, скорее всего такого сайта не существует, а вы увидите ошибку в браузере.
В случае успеха резолвер сохраняет полученный IP-адрес в своём кеше на время, заданное в параметре TTL искомого домена. Так, в следующий раз сайт откроется быстрее, и резолверу не придётся выполнять шаги, описанные выше.
В результате резолвер отправляет вашему браузеру результат DNS-запроса — IP-адрес домена macloud.pro, и сайт открывается.
Что такое DNS-зона и DNS-запись?
DNS-зона — это специальный файл в DNS, который содержит информацию о соответствии между доменами и их IP-адресами, а также их поддоменами, почтовыми серверами и так далее. Такая информация создаётся путём добавления DNS-записей.
DNS-запись или ресурсная запись — это элемент DNS, который обеспечивает управление доменами, помогает балансировать трафик и верифицировать данные, а также поддерживает работу электронной почты.
Основные типы DNS-записей
1. A-запись
A-запись связывает доменное имя с IP-адресом (IPv4). Это адрес сервера веб-страницы, которая будет открываться по имени вашего домена.
Пример: 128.128.128.128
2. AAAA-запись
AAAA-запись почти то же, что и A-запись, только связывает домен с IP-адресом вида IPv6. Такой стандарт IP поддерживает больше адресов по сравнению с IPv4.
Пример: 7625:0d18:1fa3:07d7:1f44:8a2e:07a0:678h
3. MX-запись
MX-запись определяет адрес почтового сервера, принимающего почту для вашего домена. Если вы пользуетесь резервными почтовыми серверами, для них можно настроить приоритизацию, повысив тем самым отказоустойчивость.
Пример: ASPMX.L.GOOGLE.COM
4. CNAME-запись
CNAME-запись используется для создания поддоменов, для перенаправления одного домена на другой и для указания связи между доменами.
Пример: www.site.ru указывает на site.ru.
5. NS-запись
NS-запись определяет адрес авторитетного DNS-сервера, который содержит информацию о ресурсных записях.
Пример: ns1.example.com
6. TXT-запись
TXT-запись используется для хранения вспомогательной текстовой информации о домене — для верификации домена, проверки почты, предотвращения спама и т.д.
Пример: logmein-verification-code=976afe6f-8039-40e4-95a5-261b462
Кто использует услугу DNS?
Каждый сервис и каждая организация, взаимодействующие с пользователями в сети Интернет, используют DNS. Услуга MaCloud DNS содержит множество полезных опций, улучшает SEO, распределяет нагрузку на серверы и защищает от разных DDoS-атак, делая сервис отказоустойчивым, а также предоставляет техподдержку, которая всегда готова помочь.
Посмотрим, какие отрасли успешно работают с нашим провайдером MaCloud DNS, и как мы помогаем им развиваться.
Новостные ведомства. MaCloud DNS помогает новостным каналам показывать пользователям региональные новости благодаря балансировке по регионам и странам. Так, например, читателю из Москвы при входе на сайт не откроется новостная лента Казани, а пользователю из Беларуси не отобразится репортаж из города России.
Онлайн-ритейл. MaCloud DNS оснащён опцией DNS Failover, который обеспечивает бесперебойную работу онлайн-магазинов, чтобы не потерять ни одного клиента. Если один из серверов клиента выходит из строя, Failover убирает его IP из ответа DNS и перенаправляет запросы на другой работающий сервер. Так, мы помогаем сохранять лояльность покупателей и прибыль.
Онлайн-услуги. Мы продвигаем сайты клиентов в поисковой выдаче, повышаем их SEO-оптимизацию. Мы добиваемся этого благодаря короткому времени отклика DNS. Пользователи активнее ведут себя на быстрых сайтах, поэтому поисковые алгоритмы чаще выносят такие ресурсы в топ.
Компании с резервным DNS. Некоторые компании в целях безопасности хранят резервную копию информации о зонах и записях на другом провайдере DNS. Для таких компаний мы предлагаем удобный функционал создания вторичного DNS с помощью механизма AXFR, а также использование инструмента OctoDNS. С их помощью можно «подстраховать» основной сервер и быстро восстановить данные.
MaCloud DNS отлично совмещается с другими продуктами:
- С помощью MaCloud Hosting и MaCloud Cloud можно разместить ваш проект на мощных серверах.
- MaCloud Security поможет добавить более тонкие настройки для проверки входящих запросов и сразу фильтровать вредоносный трафик.
- MaCloud CDN ускорит работу вашего онлайн-сервиса, быстро доставит контент пользователям по всему миру.
О чём важно помнить?
1. Домен не начнёт работать сразу после покупки — сначала для него нужно прописать DNS-серверы. Серверы прописываются с помощью NS-записей, и чаще всего указывают по 2 записи для каждого домена (напр., ns1.example.com, ns2.example.com). Для большей отказоустойчивости можно прописать больше серверов.
2. Информация о новых DNS-серверах обновляется в среднем в течение 24 часов. В это время сайт может не работать.
3. Если вы изменяете название сайта, но оставляете его на тех же DNS-серверах, сайт также станет недоступен, пока DNS не обновится. В таких случаях рекомендуем преждевременно настроить редирект.
Создать, редактировать или удалить DNS-зону
Что такое DNS-зона
DNS-зона — домен, который вы делегируете на NS-серверы MaCloud. В качестве DNS-зоны могут выступать такие значения:
- домен второго уровня (testdomain.com)
- домен третьего уровня и выше (store.testdomain.com, sales.store.testdomain.com)
После создания DNS-зоны вы можете управлять DNS-записями в обычном или продвинутом режиме.
Создать DNS-зону
Перед тем как делегировать нужный домен на наши авторитетные DNS-серверы, в личном кабинете создайте DNS-зону. Для этого:
1. На вкладке продукта DNS нажмите Добавить DNS-зону.
2. В открывшемся окне введите название вашей доменной зоны — оно должно соответствовать домену, которым вы хотите управлять.
Чтобы автоматически добавить DNS-записи указанной зоны, отметьте галочкой опцию Автоматический перенос записей. Опция просканирует вашу зону и добавит самые распростанённые записи в ваш личный кабинет. Так, например, для зоны mydnszone.com сканер добавит записи cname.mydnszone.com, www.mydnszone.com, mail.mydnszone.com, но может пропустить запись abc123.mydnszone.com.
Нажмите Создать. Созданная зона отобразится в разделе Все DNS-зоны.
{width="602" height="269"}
3. Перейдите кабинет регистратора вашего домена и замените серверы имён на NS-серверы MaCloud.
Редактировать DNS-зону
1. Перейдите в раздел Все DNS-зоны, перейдите в меню, нажав на ··· напротив нужной зоны, и выберите Настройки.
Откроется окно настройки.
2. Настройте зону в соответствии с описанием ниже и нажмите на кнопку Сохранить изменения. Вписанные вами значения будут присвоены SOA-записи.
- Доменное имя. Параметр нельзя изменить. Если вы хотите задать иное имя доменной зоны, создайте новую DNS-зону, используя инструкцию выше.
- Время негативного кеширования. Время кеширования отрицательных результатов запросов на рекурсивных DNS-серверах, указанное в секундах. Например, если у рекурсивного кеширующего DNS-сервера запросить А-запись для имени test.example.com, а такая запись ещё не прописана на авторитетных серверах. Тогда в течение интервала, указанного в этом поле, сервер будет отвечать отсутствием имени.
- Первичный NS (опция доступна только для тарифа Enterprise). В этом параметре указывается главный DNS-сервер, который обслуживает зону и хранит файл с информацией о всех ресурсных записях. Указание первичного NS помогает повысить отказоустойчивость: если первичный NS (master) выйдет из строя, запросы будут перенаправлены на вторичный NS (slave).
- Контакт (опция доступна, начиная с тарифа Pro). Здесь указывается email адрес администратора, ответственного за управление зоной.
{width="602" height="520"}
Удалить DNS-зону
1. Перейдите в раздел Все DNS-зоны, перейдите в меню, нажав на ··· напротив нужной зоны, и выберите Удалить зону.
2. В открывшемся окне подтвердите удаление.
Создать набор DNS-записей в Продвинутом режиме с настройкой балансировки
Статья описывает работу в продвинутом режиме интерфейса. Различия между режимами описаны в статье «Начало работы с DNS».
1. Перейдите к настройкам записи
Откройте вкладку Все DNS-зоны и выберите доменную зону, для которой хотите добавить записи. Нажмите на неё или на кнопку Перейти в набор записей в меню.
Нажмите Добавить набор записей.
Вы увидите интерфейс добавления записей. Остальные пункты инструкции выполняйте в нём.
2. Выберите тип записи
В поле «Тип» выберите тип DNS-записи. Доступны следующие типы:
- А — определяет, какому IP-адресу соответствует домен. А-запись предназначена для IPv4 вида 128.128.128.128.
- AAAA — определяет, какому IP-адресу соответствует домен. АААА-запись предназначена для IPv6 вида 7625:0d18:1fa3:07d7:1f44:8a2e:07a0:678h.
- NS — определяет адреса DNS-серверов, обслуживающих домен.
- CNAME — привязывает ресурсные записи одного домена к другому. Если вы укажете для site.com CNAME-запись со значением another.site.com, то при открытии site.com для него будут действовать те же DNS-записи, что и для another.site.com (например, он будет обращаться к тому же IP при наличии А/AAAA-записи у another.site.com).
- MX — указывает сервер, который принимает почту для домена.
- TXT — указывает вспомогательную информацию о домене. Например, вы можете указать правила SPF (Sender Policy Framework), которые определяют, с каких почтовых серверов разрешено получать почту.
- SRV — указывает сервер, обеспечивающий работу тех или иных служб для домена.
- CAA — определяет центры сертификации, которым разрешен выпуск SSL/TLS-сертификатов для определенного доменного имени или субдомена.
3. Укажите, к каким доменам относится запись
В поле «Наименование» укажите, к какому домену или каким поддоменам относится запись. Чтобы добавить запись для:
- Основного домена (apex/naked domain) — оставьте поле пустым.
- Конкретного поддомена — введите имя этого поддомена (например, если на картинке выше ввести one, то запись будет создана для one.examplesite.co).
- Всех поддоменов сразу (wildcard record) — поставьте звёздочку (*).
4. Укажите содержимое записи
Заполните поле «Содержимое записи». Введите значение, подходящее для вашего типа записи.
**Тип записи** | **Значение** |
A | IP-адрес (IPv4) сервера веб-страницы, которая будет открываться по имени вашего домена. Пример: 128.128.128.128 |
AAAA | IP-адрес (IPv6) сервера веб-страницы, которая будет открываться по имени вашего домена. Пример: 7625:0d18:1fa3:07d7:1f44:8a2e:07a0:678h |
NS | Имя зоны, которой хотите делегировать ваш домен. Пример: ns1.smth.ru |
CNAME | Домен или имя доменной зоны, на которые должен ссылаться ваш домен. Пример: uuuuu8.cdn.co |
MX | Имя почтового сервера, принимающего почту для вашего домена. Пример: ASPMX.L.GOOGLE.COM Если используете несколько почтовых серверов, заполните поле «Приоритет» для каждого сервера. Чем меньше значение в этом поле, тем выше приоритет. |
SRV | Определяет местоположение (имя хоста и номер порта серверов) для некоторых служб. Имеет формат: \_service.\_proto.name TTL class SRV priority weight port target, где: service — символьное имя сервиса proto — протокол используемый сервисом (обычно TCP или UDP) name — доменное имя, для которого действует эта запись TTL — время жизни записи class — поле класса (всегда IN) SRV — тип записи (всегда SRV) priority — приоритет целевого хоста (предпочтение отдаётся серверу с более низким приоритетом) weight — относительный вес для записей с одинаковым приоритетом port — порт, на котором работает сервис target — каноническое имя машины, предоставляющей сервис В поле «Наименование» введите значения \_service.\_proto.name, например: \_sip.\_tcp.test.com. В поле «Содержимое записи» добавьте значения priority weight port target, например: 0 5 5060 sip.example.com. |
TXT | Текстовая информация, которую должна содержать запись. Пример: logmein-verification-code=976afe6f-8039-40e4-95a5-261b462 |
CAA | Определяет центры сертификации, которым разрешен выпуск SSL/TLS-сертификатов. Значение CAA-записи состоит из трех частей, которые разделены пробелом: CAA \[flags\] \[tag\] \[value\] Пример: 0 issue comodo.com |
SPF Wizard
Наш SPF Wizard поможет сгенерировать SPF-запись: вам нужно только подставить значения.
1) Для этого выберите тип записи TXT, а в поле «Содержимое записи» нажмите на иконку ···, затем перейдите в SPF Wizard.
2) Заполните поля в появившемся окне визарда.
- IPv4 — адрес IPv4 сервера или подсеть IPv4 в формате CIDR.
- IPv6 — адрес IPv6 сервера или подсеть IPv6 в формате CIDR.
- Include — сторонние разрешённые почтовые отправители на основе домена (например, servers.mail.net).
- All — политика приёма электронной почты от прочих отправителей, определяемая квалификатором (+, -, \~ или ?).\ \ Квалификатор — это необязательный префикс, который сообщает почтовым серверам получателей, какое действие нужно совершить в отношении писем, соответствующих механизмам в SPF-записи.
- MX — разрешённые почтовые серверы на основе записи MX домена (например, mail.example.com).
- A — разрешённые почтовые серверы на основе доменного имени (например, example.com).
3) Нажмите Сохранить. Версия протокола «v=spf1» подставится автоматически.
{width="602" height="212"}
5. Укажите TTL
TTL (time to live) — это интервал в секундах, с которым серверы в интернете будут проверять, не изменились ли DNS-записи для вашего домена.
Пример: у A-записи установлен TTL 300. Вы поменяли значение этой записи с 128.0.0.8 на 127.0.0.7. В течение 5 минут при запросе вашего домена пользователи будут получать направление на сервер с IP 128.0.0.8 (это значение будет храниться в кэше рекурсивных DNS-серверов). Но спустя 5 минут DNS-сервер проверит настройки и увидит новое значение A-записи. Теперь при запросе вашего домена он станет направлять пользователей на сервер с IP 127.0.0.7.
6. Добавьте дополнительные записи выбранного типа (необязательный пункт)
Можно добавить сразу несколько записей одного типа к своему домену. Чтобы добавить ещё одну запись, нажмите Добавить запись. Появится новая строка, куда можно ввести значение второй записи и связанные с ней метаданные (метаданные описаны в пункте 7). Любую запись можно удалить, нажав кнопку — рядом.
7. Настройте балансировку (необязательный пункт)
Наш DNS-сервер может отдавать разным пользователям разные DNS-записи — например, направлять пользователей из Азии на азиатский сервер, а европейских на европейский. Это называется балансировкой. Чтобы включить балансировку, передвиньте ползунок «Выбор записей на основе метаданных». Если балансировка не нужна, оставьте ползунок выключенным и перейдите к пункту 8.
Балансировка работает на основе метаданных, которые вы прописываете для каждой записи. Можно добавить следующие типы данных:
- asn — номер автономной системы
- continents — континент
- countries — страна
- latlong — координаты широта (latitude) и долгота (longitude)
- regions — названия регионов России, например, Москва и Московская область
- fallback — метаданные для записи, которая будет отдаваться, если запрос не подходит под другие метаданные
- backup — метаданные для резервной записи, которая будет использована в ответе при недоступности всех не резервных записей. Данный тип метаданных работает только при включённом переключателе Проверка доступности (DNS Failover)
- notes — любые персональные комментарии; например, можно указать, город, имя дата-центра или кластера
- weight — вес записи. По умолчанию для каждой ресурсной записи значение weight равно 50
Система будет проверять, соответствует ли пользователь указанным параметрам: если соответствует, отдаст запись, если нет — не отдаст. Например, вы можете привязать к записи метаданные типа «континент» со значением «Африка», и её получат только пользователи из Африки.
Доступно три вида балансировки: по координатам, по ASN/стране/континенту и по весу ресурса.
Балансировка по координатам (Geo Proximity)
Вы добавляете к каждой записи координату. При запросе домена пользователь получит запись, к координате которой находится ближе всего.
1. Чтобы использовать балансировку по координатам, передвиньте ползунок «Выбор записей на основе метаданных» и выберите пункт «на основании метаданных latlong (широта/долгота)».
2. В разделе Записи в поле «Мета» можно привязать три типа метаданных: latlong, backup, notes.
Добавьте к записям метаданные latlong (от англ. latitude and longitude — широта и долгота), то есть координаты.
При помощи иконки карты вы можете проверить, верно ли ввели координаты: кликните на неё, и увидите место, которому соответствуют ваши параметры.
3. (опционально) Чтобы добавить несколько метаданных к одной записи, нажмите кнопку + справа. Метаданные можно удалять с помощью кнопки —.
Пример. Ниже вы видите параметры, с которыми при обращении к test.mydnszone.ru система будет отдавать А-запись со значением 128.0.0.8 тем, кто находится ближе к координате 51.52318152049715/-0.13458412218999416 (центру Лондона), и А-запись со значением 127.0.0.7 — тем, кто ближе к 48.859741241898114/2.3415648470109653 (центру Парижа).
Настройка закончена. Как только вы завершите создание записей, балансировка заработает.
Балансировка по ASN, стране, региону или континенту (Geo DNS)
Вы привязываете к каждой записи метаданные разных видов. При запросе домена пользователь получит запись, под метаданные которой подходит.
1. Чтобы использовать балансировку по ASN, стране или континенту, передвиньте ползунок «Выбор записей на основе метаданных» и выберите пункт «на основании метаданных без учета latlong».
2. В разделе Записи в поле «Мета» можно привязать семь типов метаданных: asn, continents, countries, regions, fallback, backup, notes.
Укажите метаданные asn, continents, regions или countries для каждой записи и выберите необходимые значения.
3. (опционально) Чтобы добавить несколько метаданных к одной записи, нажмите кнопку + справа. Метаданные можно удалять с помощью кнопки —.
Система будет проверять, соответствует ли пользователь критериям из метаданных, в следующем порядке: ASN, страна, континент. Выбор ответа происходит так:
1) DNS-сервер получает запрос к домену, за чью зону ответственен.
2) Cервер сравнивает ASN пользователя с ASN из метаданных. При совпадении отдаёт подходящую запись.
3) Если данные ASN не подошли или не указаны в метаданных, сервер сравнивает страну пользователя со странами из метаданных. При совпадении отдаёт подходящую запись.
4) Если ASN и страна не подошли или не указаны в метаданных, сервер сравнивает континент пользователя с континентами из метаданных. При совпадении отдаёт подходящую запись.
5) Если пользователь не подходит по всем критериям выше, сервер отдаёт запись с метаданными fallback.
Пример. Пользователь из Дании с ASN 20001 делает запрос к mydnszone.ru. Наш DNS-сервер сработает так:
1) Сравнит ASN пользователя с ASN из метаданных. Номера верхней (123456) и нижней (321654) записей, не совпадают с номером пользователя (20001), никакая запись не отдаётся.
2) Сравнит страну пользователя с указанными в метаданных. Страна указана только у нижней записи (Финляндия), она не совпадает со страной пользователя (Дания), нижняя запись не отдаётся.
3) Сравнит континент пользователя с указанными в метаданных. Континент указан только у верхней записи (Европа), он совпадает с континентом пользователя (Европа). Отдаётся верхняя запись, пользователь получает направление на IP 128.0.0.8.
Настройка закончена. Как только вы завершите создание записей, балансировка заработает.
Балансировка по весу ресурса
Вы указываете вес для каждой записи. При запросе ресурса пользователь получит запись, которая в тот момент попала в выборку. Вероятность попадания рассчитывается как отношение веса записи к общей сумме весов.
Используйте опцию, чтобы распределять нагрузку на источники статистически корректно.
1. Чтобы настроить балансировку по весам, передвиньте ползунок «Выбор записей на основе метаданных» и выберите пункт «на основании веса ресурса (пользовательские значения)».
2. В разделе Записи в поле «Мета» можно привязать три типа метаданных: weight, backup, notes.
Добавьте метаданные weight для каждой записи и укажите её вес в появившемся поле (принимаются только целочисленные значения). По умолчанию для каждой ресурсной записи значение weight равно 50.
3. (опционально) Чтобы добавить несколько метаданных к одной записи, нажмите кнопку + справа. Метаданные можно удалять с помощью кнопки —.
Пример. У вас есть три сервера: один обрабатывает 100 запросов в минуту, второй — 300 запросов, а третий — 600 запросов. Для оптимизации вам необходимо направить на один источник 10% всех запросов, на второй — 30%, а на третий — 60%.
Для этого нужно создать три записи и присвоить им значения weight:
- a.website.com ➝ weight = 10
- b.website.com ➝ weight = 30
- c.website.com ➝ weight = 60
Сумма весов составит 100, следовательно, вероятность выдачи на основании веса составит:
- a.website.com ➝ 10%
- b.website.com ➝ 30%
- c.website.com ➝ 60%
Настройка закончена. Как только вы завершите создание записей, балансировка заработает.
Обратите внимание:
- Опция «на основании веса ресурса (пользовательские значения)» не может быть включена одновременно с опциями «на основании метаданных без учета latlong» и «на основании метаданных latlong (широта/долгота)».
- При выборе опции «на основании веса ресурса (пользовательские значения)» любые другие метаданные (напр., latlong, countries и другие) будут проигнорированы при формировании ответа на запрос ресурсных записей.
- Если выбрана любая балансировка, кроме балансировки по весу, мета weight будет игнорироваться.
8. Укажите максимальное количество ответов (необязательный пункт)
Если используете балансировку, заполните поле «Количество записей в ответе». В нём вы указываете, сколько записей одного типа можно отдать пользователю.
Пример, балансировка по ASN/стране/континенту. В результате балансировки оказалось, что пользователю подходит сразу четыре A-записи. Если вы указали в «Количестве записей в ответе» число «2», наш DNS-сервер отдаст только две A-записи. Эти записи будут выбраны из подходящих четырёх случайным образом.
Пример, балансировка по координатам. Пользователю доступны четыре A-записи с разными координатами, а в «Количестве записей в ответе» указано число «2». Наш DNS-сервер отдаст две записи с ближайшими координатами.
9. Завершите настройку и создайте ресурсные записи
После завершения настроек нажмите кнопку Создать. DNS-записи с указанными параметрами будут созданы.
Импорт и экспорт DNS-записей
Импортируйте и экспортируйте записи вашей DNS-зоны с помощью MaCloud DNS.
Если у вас есть другой DNS-провайдер, и вы хотели бы обменяться с ним информацией о DNS-зонах, воспользуйтесь инструментом OctoDNS.
Импорт записей
Чтобы импортировать записи в DNS-зону:
1. Создайте DNS-зону.
2. Напротив созданной зоны нажмите на иконку ··· и выберите Перейти в набор записей.
3. Нажмите на иконку ··· в правом верхнем углу страницы и выберите Импорт записей.
4. В появившемся окне вставьте данные о записях в формате bind9 или Загрузите файл зоны в формате TXT или JSON. Содержимое файла зоны должно соответствовать bind9.
Пример:
$TTL 14400
test.local. IN SOA ns1.test.local. admin.test.local. (
2017082401 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
604800 ; Negative Cache TTL
)
IN NS ns1.test.local.
IN NS ns2.test.local.
IN MX 10 mx.test.local.
IN MX 20 mx2.test.local.
@ IN A 192.168.1.1
localhost IN A 127.0.0.1
ns1 IN A 192.168.1.2
ns2 IN A 192.168.1.3
mx IN A 192.168.1.4
mail IN A 192.168.1.5
www IN CNAME test.local.
5. Нажмите Импортировать. В окне импорта появится сообщение о количестве импортированных записей и об ошибках, которые возникли во время импорта. Нажмите Подробнее, чтобы узнать причину ошибки.
6. Нажмите Закрыть. Записи появились в вашей DNS-зоне.
Экспорт записей
Чтобы экспортировать записи из DNS-зоны:
1. Создайте DNS-зону и добавьте для неё ресурсные записи.
2. Нажмите на иконку ··· в правом верхнем углу страницы и выберите Экспорт записей.
3. Начнётся скачивание TXT файла с содержимым вашей зоны. Дождитесь окончания загрузки файла.
Начало работы с DNS
О сервисе
Продукт DNS предназначен для управления ресурсными записями вашего домена.
Чтобы управлять конфигурацией домена:
1. Создайте доменную зону в личном кабинете.
2. Создайте и настройте ресурсные записи в обычном или продвинутом режиме.
3. Укажите наши NS-серверы в настройках домена на сайте регистратора вашего домена. NS-серверы указаны в подсказке в вашем личном кабинете. Например, на скриншоте ниже это ns1.edgedns.co и ns2.edgedns.co.
Режимы интерфейса: обычный и продвинутый
Есть два режима интерфейса: обычный и продвинутый. Переключатель между режимами можно найти, открыв любую DNS-зону.
**Обычный режим** | **Продвинутый режим** | |
Добавить несколько значений к одной записи за раз | ✖️ | ✔️ |
Настроить балансировку записей по координатам (Geo Proximity) | ✖️ | ✔️ |
Настроить балансировку записей по ASN, стране или континенту(Geo DNS) | ✖️ | ✔️ |
Настроить балансировку записей по весу | ✖️ | ✔️ |
Настроить интеграцию с нашей CDN | Не получится интегрировать запись с CDN, но можно редактировать запись, интегрированную ранее. Например, если вы интегрировали запись при создании CDN-ресурса с ускорением всего сайта | ✔️ |
Создать DNS-запись в обычном режиме
Статья описывает работу в обычном режиме интерфейса сервиса DNS. Различия между режимами описаны в статье «Начало работы с DNS».
1. Перейдите к настройкам записи
Откройте вкладку Все DNS-зоны и выберите доменную зону, для которой хотите добавить записи. Нажмите на неё или на кнопку Перейти в набор записей в меню.
Нажмите Добавить запись.
Вы увидите интерфейс добавления записей. Остальные пункты инструкции выполняйте в нём.
2. Выберите тип записи
В поле «Тип» выберите тип DNS-записи. Доступны следующие типы:
- А — определяет, какому IP-адресу соответствует домен. А-запись предназначена для IPv4 вида 128.128.128.128.
- AAAA — определяет, какому IP-адресу соответствует домен. АААА-запись предназначена для IPv6 вида 7625:0d18:1fa3:07d7:1f44:8a2e:07a0:678h.
- NS — определяет адреса DNS-серверов, обслуживающих домен.
- CNAME — привязывает ресурсные записи одного домена к другому. Если вы укажете для site.com CNAME-запись со значением another.site.com, то при открытии site.com для него будут действовать те же DNS-записи, что и для another.site.com (например, он будет обращаться к тому же IP при наличии А/AAAA-записи у another.site.com).
- MX — указывает сервер, который принимает почту для домена.
- TXT — указывает вспомогательную информацию о домене. Например, вы можете указать правила SPF (Sender Policy Framework), которые определяют, с каких почтовых серверов разрешено получать почту.
- SRV — указывает сервер, обеспечивающий работу тех или иных служб для домена.
- CAA — определяет центры сертификации, которым разрешён выпуск SSL/TLS-сертификатов для определенного доменного имени или субдомена.
3. Укажите, к каким доменам относится запись
В поле «Наименование» укажите, к какому домену или поддоменам относится запись. Чтобы добавить запись для:
- Основного домена (apex/naked domain) — оставьте поле пустым.
- Конкретного поддомена — введите имя этого поддомена (например, если на картинке выше ввести one, то запись будет создана для one.examplesite.co).
- Всех поддоменов сразу (wildcard-запись) — поставьте звёздочку (*).
4. Укажите содержимое записи
В поле «Содержимое записи» введите значение, подходящее для вашего типа записи.
**Тип записи** | **Значение** |
A | IP-адрес (IPv4) сервера веб-страницы, которая будет открываться по имени вашего домена. Пример: 128.128.128.128 |
AAAA | IP-адрес (IPv6) сервера веб-страницы, которая будет открываться по имени вашего домена. Пример: 7625:0d18:1fa3:07d7:1f44:8a2e:07a0:678h |
NS | Имя зоны, которой хотите делегировать ваш домен. Пример: ns1.smth.ru |
CNAME | Домен или имя доменной зоны, на которые должен ссылаться ваш домен. Пример: uuuuu8.cdn.co |
MX | Имя почтового сервера, принимающего почту для вашего домена. Пример: ASPMX.L.GOOGLE.COM Если используете несколько почтовых серверов, заполните поле «Приоритет» для каждого сервера. Чем меньше значение в этом поле, тем выше приоритет. |
SRV | Определяет местоположение (имя хоста и номер порта серверов) для некоторых служб. Имеет формат: \_service.\_proto.name TTL class SRV priority weight port target, где: service — символьное имя сервиса proto — протокол используемый сервисом (обычно TCP или UDP) name — доменное имя, для которого действует эта запись TTL — время жизни записи class — поле класса (всегда IN) SRV — тип записи (всегда SRV) priority — приоритет целевого хоста (предпочтение отдаётся серверу с более низким приоритетом) weight — относительный вес для записей с одинаковым приоритетом port — порт, на котором работает сервис target — каноническое имя машины, предоставляющей сервис В поле «Наименование» введите значения \_service.\_proto.name, например: \_sip.\_tcp.test.com. В поле «Содержимое записи» добавьте значения priority weight port target, например: 0 5 5060 sip.example.com. |
TXT | Текстовая информация, которую должна содержать запись. Пример: logmein-verification-code=976afe6f-8039-40e4-95a5-261b462 |
CAA | Определяет центры сертификации, которым разрешен выпуск SSL/TLS-сертификатов. Значение CAA-записи состоит из трех частей, которые разделены пробелом: CAA \[flags\] \[tag\] \[value\] Пример: 0 issue comodo.com |
5. Укажите TTL
TTL (time to live) — это интервал в секундах, с которым серверы в интернете будут проверять, не изменились ли DNS-записи для вашего домена.
Пример: у A-записи установлен TTL 300. Вы поменяли значение этой записи с 128.0.0.8 на 127.0.0.7. В течение 5 минут при запросе вашего домена пользователи будут получать направление на сервер с IP 128.0.0.8 (это значение будет храниться в кэше рекурсивных DNS-серверов). Но спустя 5 минут DNS-сервер проверит настройки и увидит новое значение A-записи. Теперь при запросе вашего домена он станет направлять пользователей на сервер с IP 127.0.0.7.
6. Завершите настройку и создайте ресурсные записи
После завершения настроек нажмите кнопку Добавить. DNS-запись с указанными параметрами будет создана.
Редактировать или удалить DNS-запись в обычном режиме
Статья описывает работу в обычном режиме интерфейса сервиса DNS. Различия между режимами описаны в статье «Начало работы с DNS».
Редактировать ресурсную запись
1. Откройте вкладку Все DNS-зоны и выберите доменную зону, записи которой нужно отредактировать. Нажмите на неё или на кнопку Перейти в набор записей в меню.
2. Нажмите на иконку карандаша 🖉 напротив нужной ресурсной записи.
3. Внесите изменения.
4. Примените новые настройки, нажав Сохранить.
Удалить ресурсную запись
1. Откройте вкладку Все DNS-зоны и выберите доменную зону, записи которой нужно удалить. Нажмите на неё или на кнопку Перейти в набор записей в меню.
2. Нажмите на иконку корзины напротив необходимой ресурсной записи.
3. Подтвердите удаление.
Редактировать или удалить набор DNS-записей в Продвинутом режиме
Статья описывает работу в продвинутом режиме интерфейса. Различия между режимами описаны в статье «Начало работы с DNS».
Редактировать ресурсную запись
1. Откройте вкладку Все DNS-зоны и выберите доменную зону, записи которой нужно отредактировать. Нажмите на неё или на кнопку Перейти в набор записей в меню.
2. Кликните на имя записи или откройте меню напротив неё и нажмите Редактировать.
3. Внесите изменения.
4. Примените новые настройки, нажав Сохранить или Сохранить и закрыть.
Удалить ресурсную запись
1. Откройте вкладку Все DNS-зоны и выберите доменную зону, записи которой нужно удалить. Нажмите на неё или на кнопку Перейти в набор записей в меню.
2. Напротив нужной записи откройте меню и нажмите Удалить.
3. Подтвердите удаление.
Дополнительные опции DNS
Создать вторичные DNS-зоны с помощью AXFR (Beta)
Что такое вторичные DNS-зоны?
Вторичные DNS-зоны — это резервная копия информации о зонах и записях, полученная с основного DNS-сервера. Вторичные зоны необходимы для «страховки» основного сервера, если он выйдет из строя, а данные будут передаваться от вторичного DNS. Такие зоны доступны только для просмотра и не редактируются.
Что такое AXFR?
AXFR — механизм репликации баз DNS между серверами. В MaCloud с помощью этого механизма информация синхронизируется между вашим NS-сервером (мастером) и NS-сервером MaCloud (слейвом). Так, когда вы обновляете данные на вашем NS-сервере, они автоматически изменяются и у нас, а MaCloud DNS становится вашим вторичным DNS.
Важно:
- Для синхронизации зон ваш DNS-сервер или DNS-провайдер должны поддерживать AXFR-репликацию.
- Для работы с механизмом AXFR вам также понадобится TSIG-ключ, который вы выпускаете самостоятельно или получаете у провайдера DNS. TSIG-ключ обеспечивает идентификацию и целостность ваших данных DNS.
Как создать вторичную зону?
1. Перейдите в раздел DNS, откройте вкладку Вторичные зоны и нажмите Добавить вторичную зону.
2. Откроется окно добавления зоны. Все поля обязательны для заполнения.
1) В поле «Доменное имя» введите название DNS-зоны, которую хотите синхронизировать.
2) Для поля «TSIG-ключ» необходимо указать строку ключа в формате Base64. Такой ключ нужно выпустить самостоятельно или получить у вашего DNS-провайдера.
3) В поле «IP-адрес основного DNS-сервера» введите IP вашего сервера.
4) Для последнего поля «Имя ключа TSIG» установите название ключа в формате:
keyName.zoneName
где:
- keyName — название ключа латинскими буквами,
- zoneName — имя доменной зоны.
Пример: mykey.example.com.
3. Нажмите Создать.
Как редактировать или удалить вторичную зону?
1. Перейдите в раздел DNS, откройте вкладку Вторичные зоны и откройте меню соответствующей зоны.
2. Выберите Редактировать или Удалить.
DNS Failover. Настроить и использовать
Настроить DNS Failover
1. Откройте страницу услуги DNS.
2. Нажмите на DNS-зону сайта или приложения, к которой вы хотите применить опцию DNS Failover, и перейдите к набору её записей.
Откроется вкладка с DNS-записями.
3. Включите Режим продвинутого интерфейса. Опция DNS Failover не отобразится в настройках, если этот режим выключен.
4. Перейдите в настройки нужной A, AAAA или CNAME-записи. Для этого нажмите на доменное имя или на иконку ··· напротив и выберите Редактировать.
Откроется страница Списка записей/Редактирования набора записей. Выполняйте остальные шаги на ней.
5. Активируйте сервис Проверка доступности.
6. Выберите подходящий протокол, по которому DNS Failover будет отправлять запросы к веб-серверам. Выбор протокола зависит от того, как вы хотите проверять веб-серверы вашего сайта или приложения.
7. Настройте опции проверки доступности. У каждого протокола свой набор опций.
Проверка по TCP/UDP
- Порт определяет, по какому порту будет происходить подключение. Например, по 80, 443 или другому.
- Частота проверки задаёт интервал, в течение которого будут выполняться проверки. Выберите значение из выпадающего списка.
- Timeout указывает, за какое время должно быть установлено соединение или должен быть получен ответ от веб-сервера.
Проверка по ICMP
- Частота проверки задаёт интервал, в течение которого будут выполняться проверки. Выберите значение из выпадающего списка.
- Timeout указывает, за какое время должно быть установлено соединение или должен быть получен ответ от веб-сервера.
Проверка по HTTP
- Порт определяет, по какому порту будет происходить подключение. Например, по 80, 443 или другому.
- Частота проверки задаёт интервал, в течение которого будут выполняться проверки. Выберите значение из выпадающего списка.
- Timeout указывает, за какое время должно быть установлено соединение или должен быть получен ответ от веб-сервера.
- Хост задаёт значение заголовка Host, которое будет передано в запросе.
- URL-адрес запроса определяет URL, на который будут приходить запросы для проверки.
- Метод запроса позволяет выбрать метод запросов для проверки. Например, GET.
- Использовать TLS определяет необходимость использования TLS. Нельзя использовать опцию со значением Да для wildcard-записей (напр.,*.domain.com).
- Валидация сертификата (доступна, если для опции Использовать TLS выбрано значение Да) определяет необходимость валидации сертификата. Опция полезна, если вы используете самоподписанный SSL-сертификат, который не проходит некоторые проверки. Если для опции выбрано значение Да, а сертификат не пройдёт проверку, настраиваемая запись будет отключена и исключена из ответа DNS.
- Код ответа HTTP устанавливает ожидаемый код ответа при проверке веб-сервера. Оставьте поле пустым, если проверка не требуется.
- Ожидаемое регулярное выражение контента указывает регулярное выражение, которое должно содержаться в ответе веб-сервера, чтобы проверка считалась успешной. Оставьте поле пустым, если проверка не требуется.
8. Здесь вы можете настроить логику, которая будет использоваться для балансировки запросов между доступными веб-серверами, в случае если некоторые из них станут недоступны. По умолчанию DNS Failover использует балансировку Round-robin. Если вам подходит такая балансировка, ничего настраивать не нужно — перейдите к следующему шагу настройки. Если вы хотите изменить критерии балансировки, следуйте инструкции «Создать набор DNS-записей в Продвинутом режиме с настройкой балансировки».
9. Сохраните изменения.
10. Если для проверяемой записи настроен файрвол или ACL, адреса Failover могут блокироваться. Запросите список IP-адресов, которые мы используем для проверки доступности, и добавьте их в исключения.
Настройка завершена! Теперь DNS Failover проверяет доступность ваших серверов.
Журнал доступности
Вы также можете проверить последние события проверок в Журнале доступности.
Что показывает Журнал доступности:
Данные о проведённых проверках | Типы проверок |
* \ Время проверки * Проверяемый адрес * События (добавление записи для проверки, её доступность) * IP-адрес, с которого проводилась проверка * Подробности о возможных ошибках проведения проверки | * \ Добавление нового IP-адреса для проверки * Неудачные проверки и код ошибки * Успешные проверки после ошибки Обратите внимание. Мы логируем не все проверки: если после неудачной проверки идёт череда успешных проверок, мы покажем только первую успешную проверку. Далее (если есть) логируется следующая неудачная проверка, а затем первая успешная проверка по предыдущей проблеме. |
Certbot плагин. Получить бесплатный Let’s Encrypt сертификат с помощью Certbot
Что такое Certbot плагин
Certbot плагин автоматизирует выписку Let’s Encrypt сертификатов с помощью API DNS MaCloud.
Как работает. Чтобы выписать сертификат для домена, вам нужно подтвердить, что вы являетесь его владельцем. Это можно сделать несколькими способами: о них рассказывается в документации Let’s Encrypt. Распространённым способом является проверка DNS-01. Проверка требует подтверждения прав на домен с помощью создания специальной TXT-записи для этого домена.
Запустите Certbot плагин, чтобы создать запрос на выписку сертификата. Certbot автоматически создаёт TXT-записи и последовательно удаляет их, чтобы выписать, обновить или отозвать сертификаты. Обратитесь к официальной документации Certbot, чтобы узнать подробности.
Чтобы настроить и использовать Certbot плагин, вам понадобится:
- Аккаунт на платформе MaCloud
- Доменное имя, направленное на серверы имён MaCloud (указаны в подсказке в вашем личном кабинете)
Как установить Certbot плагин
В этой статье дана инструкция по установке Certbot плагина для Ubuntu 22.10. Если вы используете другую ОС, команды могут отличаться.
1. Подключитесь к вашему серверу по SSH.
2. Скачайте и установите обновления для устаревших пакетов. Так, вы предотвратите возможные ошибки при установке плагина.
sudo apt update
3. Установите pip3 Python-библиотеку, если она отсутствует. Она необходима для установки Certbot.
sudo apt install python3-pip
4. Установите пакеты для Certbot:
sudo apt install certbot
5. Установите Certbot плагин, используя команду:
pip install certbot-dns-ecenter
Если вы видите сообщение Successfully installed …, значит, установка завершена.
Как добавить учётные данные для Certbot плагина
Для работы с Certbot плагином вам нужны учётные данные API DNS MaCloud. Без этих данных Certbot плагин не выпишет сертификат для вашего домена.
1. Перейдите в домашнюю директорию home/user_name:
cd \~/
2. Создайте файл ecenter.ini (название может быть любым) с помощью nano или другого текстового редактора. Например:
nano ecenter.ini
3. Добавьте в этот файл ваши учётные данные. Вы можете использовать два типа данных:
- (рекомендуемый) Перманентный API-токен
- Email-адрес и пароль, используемые для авторизации в аккаунте MaCloud
Мы рекомендуем использовать перманентный API-токен, так как это более подходящий тип данных для интеграции через API. Чтобы получить токен, следуйте инструкции «Как создать перманентный API-токен».
Добавьте учётные данные в файл ecenter.ini.
Добавить перманентный API-токен:
dns_ecenter_apitoken = 0123456789abcdef...
где 0123456789abcdef... — ваш API-токен.
Добавить email-адрес и пароль_:_
dns_ecenter_email = macloud_user@example.com dns_ecenter_password = 0123456789abcdef
где macloud_user@example.com — ваш email-адрес, а 0123456789abcdef — ваш пароль.
4. Запретите доступ к файлу ecenter.ini, чтобы защитить свои учётные данные от других пользователей. Для этого выполните команду:
chmod 600 ecenter.ini
Ваши учётные данные добавлены.
Как выписать сертификат с помощью Certbot плагина
1. Запустите команду, чтобы получить сертификат:
certbot certonly --authenticator dns-ecenter --dns-ecenter-credentials=./ecenter.ini --dns-ecenter-propagation-seconds=80 -d 'example.com' --key-type ecdsa --logs-dir=. --config-dir=. --work-dir=.
где:
- example.com — домен, для которого нужно выписать Let’s Encrypt сертификат. Можно также указать значение *.example.com, чтобы выписать wildcard сертификат для example.com и всех его поддоменов.
- --dns-ecenter-propagation-seconds=80 — время в секундах, необходимое на распространение DNS-записи. Мы рекомендуем использовать значение 80 секунд и больше. Если запись не успеет распространиться, вы получите ошибку.
- --key-type ecdsa — используемый алгоритм шифрования и подписи. В примере используется алгоритм ECDSA. Если вы хотите использовать RSA алгоритм, установите значение --key-type rsa.\ В чём разница? Алгоритм ECDSA основан на эллиптических кривых, а RSA — на натуральных числах. Алгоритм RSA работает медленнее, так как для него используются большие биты ключей (3000-4000 бит). Для ECDSA нужна меньшая длина ключа (300 бит), поэтому алгоритм работает быстрее.
2. Далее система попросит ввести ваш email-адрес. По почте она сможет оповестить вас о срочных обновлениях сертификатов или отправить оповещения безопасности.
Введите ваш email-адрес. Если вы этого не сделаете, появится ошибка An email address or --register-unsafely-without-email must be provided.
Введите Y, чтобы принять условия обслуживания — начнётся выписка сертификата.
3. При успешной выписке сертификата для домена вы увидите такое сообщение:
Если вы получили ошибку Some challenges have failed, попробуйте увеличить время распространения для DNS:
--dns-ecenter-propagation-seconds=80
где 80 — значение в секундах.
Повторите команду из шага 1, указав новое значение:
certbot certonly --authenticator dns-ecenter --dns-ecenter-credentials=./ecenter.ini --dns-ecenter-propagation-seconds=80 -d 'example.com' --key-type ecdsa --logs-dir=. --config-dir=. --work-dir=.
Если проблема не решилась, убедитесь, что ваш домен направлен на серверы имён MaCloud, используя команду dig или онлайн сервисы. Направьте его на наши серверы имён и подождите 24 часа для обновления DNS. Затем повторите запрос на выписку сертификата.
Как обновить сертификат
Срок действия Let’s Encrypt сертификата — 90 дней. Certbot плагин обновит сертификат для вашего домена самостоятельно, но вы можете сделать это с помощью команды:
certbot renew
DNS Failover. Что такое и как работает?
Что такое DNS Failover?
DNS Failover — это платная опция, которая проверяет доступность вашего сайта или сервера, а в случае возникновения проблем, выводит неработающие IP-адреса из ответов DNS. Трафик будет перенаправлен с неактивного сервера на другой активный, чтобы сервис оставался доступным для пользователей.
Для чего нужна опция?
Опция DNS Failover обеспечивает отказоустойчивость вашего сайта или приложения, если некоторые серверы выходят из строя.
Актуально для бизнеса, где потеря доступности означает потерю клиентов. Приведём пример. Представьте, что вы владеете сайтом интернет-магазина, который работает в Европе и США. Сайт находится на двух серверах: европейском и американском. Вы используете гео-балансировку трафика и направляете людей по всему миру на ближайший для них сервер, чтобы сайт загружался быстрее. Клиенты из Франции и Испании балансируются на европейский сервер, а клиенты из Канады и США — на американский сервер.
Вы замечаете, что европейский сервер перестаёт работать. Пользователи, которые балансируются на него, вместо страницы вашего сайта видят ошибку. Пока вы чините сервер, клиенты переходят на сайт вашего конкурента и покупают товары там.
Затем вы включаете опцию DNS Failover. Опция постоянно проверяет доступность ваших серверов. Если ваш европейский сервер перестанет работать снова, DNS Failover скажет DNS-серверу, чтобы тот не добавлял IP-адрес неработающего европейского сервера в ответ DNS. Все запросы ваших клиентов будут перенаправлены на американский сервер, а сайт продолжит работать. Клиенты без проблем смогут совершать покупки.
Когда ваш европейский сервер восстановится, DNS Failover заметит это и вернёт IP-адрес сервера обратно в ответ DNS.
Как работает DNS Failover?
В общих чертах:
DNS Failover регулярно отправляет запросы на IP-адреса, чтобы определить, доступны ли они. Если сервер не отвечает, DNS Failover отправит DNS-серверам команду на исключение IP-адреса из ответов DNS. Когда сервер восстановится, DNS Failover отправит DNS-серверам команду на возврат этого IP-адреса в ответы DNS.
DNS Failover по умолчанию использует балансировку Round robin, чтобы распределять пользовательские запросы по веб-серверам. Но вы можете включить гео-балансировку во время настройки сервиса.
В деталях:
1. DNS Failover отправляет запросы на серверы, чтобы проверить их доступность. Вам нужно настроить параметры отправляемого запроса (протокол, частоту запросов и другие) в личном кабинете после подключения опции.
Например, вы можете настроить запросы DNS Failover так:
- Протокол: ICMP
- Частота запросов: 1 в минуту
- Время timeout: 10 секунд
При таких настройках DNS Failover будет отправлять запросы по протоколу ICMP каждые 60 секунд.
2. Запросы отправляются со всех локаций, где присутствуют наши DNS-серверы. Если ваши веб-серверы ответят на запросы 85% локаций наших DNS-серверов в течение времени установленного timeout (например, 10 секунд), ваши веб-серверы будут считаться доступными.
Если веб-серверы не ответят за это время на запросы 20% локаций наших DNS-серверов, ваши веб-серверы будут считаться недоступными.
3. Если веб-сервер недоступен, DNS Failover оповестит DNS-сервер: “Перестаньте передавать IP (адрес недоступного сервера) в ответе DNS”.
Важно. Если не ответит каждый веб-сервер, в ответе DNS будут переданы все А-записи, независимо от фильтров geo или first_n.
3. DNS-сервер исключит из ответов А-запись недоступного сервера. Все запросы, которые предназначались для этого сервера, будут перераспределены на другие доступные серверы.
Перераспределением запросов занимается механизм балансировки. По умолчанию DNS Failover работает по балансировке Round-robin, но вы можете настроить собственную, например, гео-балансировку. Настройка такой балансировки описана в статье «DNS Failover. Настроить и использовать».
4. DNS Failover продолжит отправлять запросы к веб-серверам. Когда веб-сервер снова станет доступным и ответит на запрос, DNS Failover обновит информацию на DNS-сервере.
{width="602" height="347"}
Затем веб-сервер будет помечен как «доступный», и снова начнёт отвечать на запросы конечных пользователей.
Как настроить DNS Failover?
Мы рассказываем, как настроить DNS Failover в статье «DNS Failover. Настроить и использовать».