DNS-хостинг¶
В этой статье
- Настройка DNS на стороне регистратора доменного имени
- Настройка DNS в панели управления c использованием серверов имен HOSTKEY
- Добавление DNS зоны
- Удаление DNS зоны
- Добавление и изменение DNS записей
- Поддомены и их настройка
- Проверка добавления DNS-записей
- Управление DNS с помощью API
- Типы DNS записей
- Пример добавления доменного имени
- Стандартный NGINX-Certbot для автоматического получения SSL-сертификатов
Настройка DNS на стороне регистратора доменного имени¶
Вы можете настроить DNS 1 у регистратора вашего домена. Для этого вам необходимо зайти в настройки вашего домена, выбрать NS-сервера регистратора и прописать для вашего домена следующие А-записи для IPv4 или AAAA-записи для IPv6:
Record | Subdomain | IP-address/Data |
---|---|---|
A | @ | IP-адрес сервера |
A | www | IP-адрес сервера |
или
Record | Subdomain | IP-address/Data |
---|---|---|
A | @ | IP-адрес сервера |
CNAME | www | ваше доменное имя |
Внимание
Все последующие добавления и изменения записей для домена вам нужно проводить в настройках домена у регистратора.
Настройка DNS в панели управления c использованием серверов имен HOSTKEY¶
Для начала вам необходимо убедиться, что в настройках доменного имени на стороне регистратора стоит ссылка на DNS-сервера HOSTKEY и, при ее отсутствии, задать ее.
Для этого необходимо в настройках DNS-серверов для вашего домена в личном кабинете у регистратора имен вашего домена указать свой список DNS-серверов и задать следующие значения: ns1.hostkey.com
, ns2.hostkey.com
и ns3.hostkey.com
.
Внимание
Любые изменения в DNS зоне от имени серверов до добавления/изменения DNS-записей требуют от 15 минут до 24 часов для их применения.
Примечание
Если вы не зададите NS-сервера ни на стороне регистратора, ни на стороне HOSTKEY, то ваш домен не будет делегирован.
Далее можно переходить к управлению DNS в Invapi. Для этого необходимо раскрыть меню, нажав на имя пользователя и выбрать подменю DNS хостинг:
После чего будет выполнен переход в раздел управления Управление ДНС зонами.
Добавление DNS зоны¶
DNS разбит на множество различных DNS зон 2. Эти зоны различают четко управляемые области в пространстве имен DNS.
DNS зона добавляется с помощью диалога Добавить DNS зону (Добавить зону DNS) раздела Управление DNS зонами (подменю DNS хостинг раскрывающегося меню по нажатию на имя пользователя).
В открывшемся окне есть несколько полей для заполнения:
- Название — название DNS зоны. Это должно быть полное квалифицированное доменное имя (Fully Qualified Domain Name, FQDN);
- SOA запись (TTL, Mname и другие из раздела SOA запись) — подробности смотрите в SOA записи;
- Две NS записи — подробности смотрите в NS записи.
Все поля, кроме поля Название уже заполнены рекомендованными значениями, поэтому вам нужно добавить только имя вашего домена и нажать кнопку Добавить DNS зону.
Удаление DNS зоны¶
Для удаления DNS зоны, выберите ее из выпадающего списка рядом с надписью DNS zone и затем нажмите кнопку Удалить DNS зону.
Добавление и изменение DNS записей¶
Чтобы настроить DNS запись для нужной DNS-зоны:
- Откройте раздел Управление ДНС зонами, выбрав подменю DNS хостинг из раскрывающегося меню по нажатию на имя пользователя;
- Выберите из выпадающего списка рядом с надписью DNS зоны нужную зону для добавления или изменения DNS записи;
- Если нужно добавить новую запись, нажмите на кнопку
Добавить DNS записьи выберите тип записи из выпадающего списка; - Если нужно изменить или удалить уже созданную запись, кликните на DNS запись, которая должна быть обновлена или удалена;
- Заполните поля или внесите изменения в открывшемся диалоговом окне;
- Нажмите кнопку
Добавить записьесли вы добавляете запись илиСохранить записьесли изменяете ее.
Вы можете настроить следующие записи для доменов и поддоменов:
- SOA запись
- NS запись
- A запись
- AAAA запись
- CNAME запись
- MX запись
- TXT запись
- DKIM запись
- SPF запись
- SRV запись
SOA запись¶
В открывшемся диалоге укажите поля SOA записи:
- TTL — время жизни. Это поле в DNS записях, которое определяет, как долго каждая запись действительна и, как следствие, сколько времени требуется, чтобы обновления записей дошли до конечных пользователей. Более длинные TTL ускоряют поиск DNS, увеличивая вероятность кэширования результатов, но более длинный TTL также означает, что обновления записей вступят в силу дольше.
- Mname — основной главный сервер имен для этой DNS зоны.
UPDATE
запросы должны быть перенаправлены к основному мастеру.NOTIFY
запросы распространяются наружу от основного мастера.
- Rname — адрес электронной почты администратора, ответственного за эту DNS зону. Как обычно, адрес электронной почты закодирован как имя. Часть адреса электронной почты перед @ становится первой меткой имени; доменное имя после @ становится остальной частью имени. В формате файла зоны точки в метках экранируются обратной косой чертой; таким образом, адрес электронной почты
[email protected]
будет представлен в файле зоны какjohn\.doe.example.com
. - Serial — серийный номер для этой DNS зоны. Если вторичный сервер имен, подчиненный этому серверу, заметит увеличение этого числа, подчиненный сервер предположит, что зона была обновлена, и инициирует передачу зоны:
- Refresh — количество секунд, по истечении которых вторичные серверы имен должны запросить у главного сервера SOA запись, чтобы обнаружить изменения DNS зоны. Рекомендация для небольших и стабильных DNS зон: 86400 секунд (24 часа).
- Retry — количество секунд, по истечении которых вторичные серверы имен должны повторить попытку запроса серийного номера у главного сервера, если главный сервер не отвечает. Оно должно быть меньше, чем Refresh. Рекомендация для небольших и стабильных DNS зон: 7200 секунд (2 часа).
- Expire — количество секунд, по истечении которых вторичные серверы имен должны перестать отвечать на запросы для этой DNS зоны, если главный сервер не отвечает. Это значение должно быть больше суммы обновлений и повторов. Рекомендация для небольших и стабильных DNS зон: 3600000 секунд (1000 часов).
- Minimum — используется при расчете времени жизни для отрицательного кэширования. Авторитетные серверы имен принимают меньшее из значений SOA TTL и SOA минимум для отправки в качестве SOA TTL в отрицательных ответах. Резолверы используют полученный SOA TTL, чтобы понять, как долго им разрешено кэшировать отрицательный ответ. Рекомендация для небольших и стабильных DNS зон: 172800 секунд (2 дня). Первоначально это поле имело значение минимального значения TTL для записей ресурсов в этой DNS зоне; его нынешнее значение было изменено в RFC 2308.
Внимание
Изменяйте значения SOA-записи только если уверены в их правильности. Неверные значения приведут к проблемам разрешения доступа к вашему серверу по доменному имени.
NS запись¶
В открывшемся диалоге укажите поля NS записи:
- Название — название записи, пустое для самой DNS зоны;
- Время жизни (TTL) — время жизни (кэширования) записи в секундах. Указывает, как долго другие DNS сервера могут кэшировать эту запись. Обычно принимается равным 3600;
- Данные — одно или несколько FQDN, разделенных пробелом. Например:
ns1.example.com ns2.example.com
.
A запись¶
В открывшемся диалоге укажите поля A записи:
Ниже приведены поля A записи:
- Название — название записи для поддомена, пустое для самой DNS зоны (@);
- Время жизни (TTL) — время жизни. Обычно принимается равным 3600;
- Данные — одно или несколько IPv4 адресов, разделенных пробелом. Например:
104.17.210.9 104.17.210.20
. Обычно это адрес вашего сервера.
Примечание
IP-адрес вашего сервера вы можете найти во вкладке Сеть панели управления вашим сервером в Invapi.
AAAA запись¶
В открывшемся диалоге укажите поля AAAA записи:
- Название — название записи, пустое для самой DNS зоны;
- Время жизни (TTL) — время жизни, Обычно принимается равным 3600;
- Данные — одно или несколько IPv6 адресов, разделенных пробелом. Например:
2606:4700:4700::1111 2606:4700:4700::1001
.
CNAME запись¶
В открывшемся диалоге укажите поля CNAME записи:
- Название — название записи, пустое для самой DNS зоны;
- Время жизни (TTL) — время жизни. Обычно принимается равным 3600;
- Данные — один FQDN. Например:
example.com
.
MX запись¶
В открывшемся диалоге укажите поля MX записи:
- Название — название записи, пустое для самой DNS зоны;
- Время жизни (TTL) — время жизни. Обычно принимается равным 3600;
- Приоритет — определяет, какой почтовый сервер следует предпочесть. Предпочтительно более низкое значение «приоритета», например 10 или 20;
- Данные — одно или несколько FQDN почтового сервера, IPv4 и IPv6. Например,
mail.example.com 2606:4700:4700::1001 104.17.210.20:
TXT запись¶
В открывшемся диалоге укажите поля TXT записи:
- Название — название записи, пустое для самой DNS зоны;
- Время жизни (TTL) — время жизни. Обычно принимается равным 3600;
- Данные — текст (без внешних кавычек):
Примечание
Используйте TXT запись например для создания DKIM-записи.
DKIM запись¶
В открывшемся диалоге укажите поля DKIM записи:
- Название — название записи, пустое для самой DNS зоны.
- Время жизни (TTL) — время жизни. Обычно принимается равным 3600;
- Данные —
v=DKIM1; p=[Public key]
SPF запись¶
В открывшемся диалоге укажите поля SPF записи:
- Время жизни (TTL) - время жизни. Обычно принимается равным 3600;
- Данные —
v=spf1 ip4=192.0.2.0 ip4=192.0.2.1 include:examplesender.email [-//+]all
SRV запись¶
В открывшемся диалоге укажите поля SRV записи:
- Сервис — символическое имя желаемой услуги;
- Протокол — транспортный протокол желаемой услуги, обычно это TCP или UDP;
- TTL — время жизни. Обычно принимается равным 3600;
- Приоритет — приоритет целевого хоста, более низкое значение означает более предпочтительный;
- Вес — относительный вес записей с одинаковым приоритетом, более высокое значение означает более высокий шанс быть выбранным;
- Порт — порт TCP или UDP, на котором должна быть найдена служба;
- Цель — каноническое имя хоста машины, предоставляющей услугу:
Поддомены и их настройка¶
Поддомен 3 — это дополнительная часть основного доменного имени. Субдомены создаются для организации и навигации по различным разделам сайта. В основном домене можно создать несколько поддоменов или дочерних доменов.
Чтобы настроить поддомены нужно:
- Открыть инструмент Управление ДНС зонами
- Перейти во вкладку Поддомены
- Если нужно добавить новый поддомен, нажмите на кнопку
Добавить поддомен. Откроется соответствующее диалоговое окно - Если нужно изменить или удалить уже созданный поддомен, кликните на поддомен, который будет обновлен или удален.
В открывшемся окне есть 2 поля для заполнения:
- Название — название субдомена. Он должен иметь длину от 1 до 63 символов и состоять из букв a–z, A–Z, 0–9 и может содержать символы .- в середине.
- Сервер — сервер, на котором расположен субдомен. Может быть пустым. При выборе сервера будет добавлена A запись с использованием IP-адреса сервера в DNS зоне субдомена. Если отменить выбор сервера, A запись будет соответственно удалена.
Проверка добавления DNS-записей¶
Проверить добавление и прописывание DNS-зоны и записей для конкретного домена можно с помощью утилиты dig
из консоли или через сервис DNS Lookup от Google, DNS Checker или рег.ру.
Управление DNS с помощью API¶
Вы можете добавлять/изменять или удалять DNS-зоны и записи, а также получать их текущие значения с помощью API-вызовов Invapi.
Типы DNS записей¶
DNS записи — это инструкции, которые хранятся на авторитетных DNS-серверах и предоставляют информацию о зоне, в том числе о том, какой IP-адрес связан с этим зоной и как обрабатывать запросы для этого зоны. Эти записи состоят из серии текстовых файлов, написанных с использованием так называемого синтаксиса DNS. Синтаксис DNS — это просто строка символов, используемая в качестве команд, которые сообщают DNS-серверу, что делать. Все DNS записи также имеют TTL
, который означает время жизни и указывает, как часто DNS-сервер будет обновлять эту запись.
Все DNS зоны должны иметь хотя бы несколько основных DNS записей, чтобы пользователь мог получить доступ к своему веб-сайту с использованием доменного имени, а также существует несколько дополнительных записей, которые служат дополнительным целям.
Основные типы DNS записей:
-
SOA запись
DNS запись «start of authority» (SOA) хранит важную информацию о DNS зоне, такую как адрес электронной почты администратора, время последнего обновления зоны и время ожидания сервера между обновлениями.
Всем зонам DNS необходима SOA запись, чтобы соответствовать стандартам IETF. SOA записи также важны для передачи зон. SOA запись будет добавлена при создании DNS зоны.
-
NS запись
NS означает «nameserver», а NS запись указывает, какой DNS-сервер является авторитетным для этого DNS зоны (т. е. какой сервер содержит фактические записи DNS). По сути, NS записи сообщают Интернету, куда обратиться, чтобы узнать IP-адрес DNS зоны. DNS зона часто имеет несколько NS записей, которые могут указывать первичный и вторичный серверы имен для этого DNS зоны. Без правильно настроенных NS записей пользователи не смогут загрузить веб-сайт или приложение.
-
A запись
«А» означает адрес, и это самый фундаментальный тип DNS записи. он указывает IP-адрес данной DNS зоны.
A записи содержат только адреса IPv4. Если веб-сайт имеет адрес IPv6, вместо него будет использоваться AAAA запись.
-
AAAA запись
AAAA записи сопоставляют имя домена с адресом IPv6. AAAA записи точно такие же, как A записи, за исключением того, что они хранят адрес IPv6 домена вместо его адреса IPv4.
-
CNAME запись
Запись «канонического имени» (CNAME) указывает из псевдонима домена в «канонический» домен. CNAME запись используется вместо A записи, когда домен или поддомен является псевдонимом другого домена. Все CNAME записи должны указывать на домен, а не на IP-адрес.
Предположим, что blog.example.com имеет CNAME запись со значением «example.com» (без «blog»). Это означает, что когда DNS-сервер попадает в DNS записи для blog.example.com, он фактически запускает еще один поиск DNS для example.com, возвращая IP-адрес example.com через свою A запись. В этом случае мы бы сказали, что example.com — это каноническое имя (или истинное имя) blog.example.com.
-
MX запись
DNS запись «mail exchange» (MX) направляет электронную почту на почтовый сервер. MX запись указывает, как сообщения электронной почты должны маршрутизироваться в соответствии с простым протоколом передачи почты (SMTP, the standard protocol for all email). Как и CNAME записи, MX запись всегда должна указывать на другой домен.
-
TXT запись
Текстовая запись (TXT) позволяет администратору домена вводить текст в систему доменных имен (DNS). TXT запись изначально предназначалась для хранения удобочитаемых заметок. Однако теперь в TXT записи также можно помещать некоторые машиночитаемые данные. Один домен может иметь множество TXT записей.
-
DKIM запись
DomainKeys Identified Mail (DKIM) — это метод аутентификации электронной почты, который помогает не дать спамерам и другим злоумышленникам выдать себя за законный домен.
У всех адресов электронной почты есть домен — часть адреса после символа @. Спамеры и злоумышленники могут попытаться выдать себя за домен при отправке электронных писем для проведения фишинговых атак или других видов мошенничества.
-
SPF запись
«Sender policy framework» запись (SPF) — это тип TXT записи, в которой перечислены все серверы, которым разрешено отправлять электронные письма из определенного домена.
Записи SPF изначально были созданы потому, что стандартный протокол, используемый для электронной почты — Simple Mail Transfer Protocol (SMTP) — по своей сути не аутентифицирует адрес «от» в электронном письме. Это означает, что без SPF или других записей аутентификации злоумышленник может легко выдать себя за отправителя и обманом заставить получателя выполнить действие или поделиться информацией, которую он в противном случае не сделал бы.
-
SRV запись
«Service» запись (SRV) определяет хост и порт для определенных служб, таких как передача голоса по IP (VoIP), обмен мгновенными сообщениями и т. д. Большинство других DNS записей указывают только сервер или IP-адрес, но SRV записи также включают порт по этому IP-адресу. Некоторые интернет-протоколы для работы требуют использования SRV записей.
Пример добавления доменного имени¶
Добавление DNS зоны и записей¶
-
Создайте новую DNS-зону в Invapi.
- Войдите в свой аккаунт Invapi.
- Перейдите в раздел DNS хостинг в меню вашего аккаунта и нажмите на кнопку
Добавить DNS зону. - В форме Добавить DNS зону в поле Название введите ваше доменное имя
myowndomain.ru
. - Нажмите на кнопку
Добавить DNS зону, чтобы создать новую DNS-зону.
-
Добавьте A запись для домена.
- В настройках DNS-зоны Invapi нажмите на кнопку
Добавить DNS записьи выберите A. - В открывшейся форме введите в поле Название значение
@
, а в поле Данные IP-адрес сервера, к которому вы подключаете данное доменное имя. - Нажмите на кнопку
Добавить запись.
- В настройках DNS-зоны Invapi нажмите на кнопку
-
Добавьте CNAME запись для домена www.
- В настройках DNS-зоны Invapi нажмите на кнопку
Добавить DNS записьи выберите CNAME. - В открывшейся форме введите в поле Название значение
www
, а в поле Данные ваше доменное имяmyowndomain.ru
. - Нажмите на кнопку
Добавить запись.
Примечание
Вместо CNAME записи вы можете добавить вторую A-запись со значениями Name =
www
и Данные = IP-адресу сервера. - В настройках DNS-зоны Invapi нажмите на кнопку
Если вы все сделали правильно, то увидите похожие значения параметров для вашей DNS-зоны myowndomain.ru:
Name | Type | Data |
---|---|---|
@ | SOA | ns1.hostkey.com. hostkeyev_ivan@yandex.ru. 2024050803 14400 3600 604800 3600 |
@ | NS | ns1.hostkey.com ns2.hostkey.com |
@ | A | 176.222.34.23 |
www | CNAME | myowndomain.ru |
Проверка распространения DNS-записей¶
Подождите, пока DNS-записи распространятся по всей сети Интернет (это может занять от 2 до 24 часов).
Используйте команды dig
или nslookup
, для проверки, что DNS-записи обслуживаются ns-серверами HOSTKEY:
Стандартный NGINX-Certbot для автоматического получения SSL-сертификатов¶
В инфраструктуре HOSTKEY для управления SSL-сертификатами используется стандартное решение на базе NGINX и Certbot. Решение основано на официальном образе docker-nginx-certbot и обеспечивает автоматическое управление SSL-сертификатами для всех клиентских панелей управления.
После развертывания контейнера nginx-certbot файл docker-compose располагается в директории /root/data/nginx
, а дефолтная конфигурация находится в поддиректории user_conf.d
этой же директории. Такая структура позволяет настроить дополнительные параметры, такие как:
- Смена электронной почты для Let's Encrypt;
- Кастомизация конфигурации Nginx;
- Добавление собственных доменов.
Для работы сервиса необходимо:
- Корректно настроенные DNS-записи для доменов;
- Открытый порт 80 для прохождения валидации Let's Encrypt;
- Открытый порт 443 для HTTPS-соединений.
-
Система доменных имен (DNS) — это «телефонная книга" Интернета. Когда пользователи вводят доменные имена, такие как
ya.ru
илиhostkey.ru
, в веб-браузеры, DNS отвечает за поиск правильного IP-адреса для этих сайтов. Затем браузеры используют эти адреса для связи с исходными серверами или пограничными серверами CDN для доступа к информации веб-сайта. Все это происходит благодаря DNS серверам: машинам, предназначенным для ответа на DNS запросы. ↩ -
Это часть пространства имен DNS, которой управляет определенная организация или администратор. Это административное пространство, которое позволяет более детально контролировать компоненты DNS, такие как авторитетные серверы имен. Пространство доменных имен представляет собой иерархическое дерево с корневым доменом DNS наверху. DNS зона начинается с домена в дереве и может также распространяться на субдомены, так что один объект может управлять несколькими субдоменами. ↩
-
Поддомены функционируют как отдельный веб-сайт от своего домена. Это различие позволяет развивать раздел веб-сайта, не запутывая общую цель сайта. Поскольку они отличаются от TLD, поддомену могут потребоваться дополнительные ресурсы для управления контентом, технического SEO и инфраструктуры веб-сайта, чтобы быть эффективным. Но хорошо управляемые поддомены могут увеличить шансы на завоевание нишевого авторитета, повысить ценность для клиентов, улучшить видимость результатов поиска и получить органический трафик для бренда в целом. ↩