С помощью этого руководства вы реализуете Split DNS в облаке Evolution. При такой схеме доменные имена разрешаются в разные IP-адреса в зависимости от источника DNS-запроса: изнутри VPC или из интернета.
Схема реализации Split DNS приведена ниже.
Вы будете использовать следующие сервисы:
«Виртуальные машины» — сервис, в рамках которого предоставляется виртуальная машина.
«Группы безопасности» — сервис для контроля трафика виртуальных машин.
«Публичные IP» — сервис для организации доступа к виртуальной машине из интернета.
VPC — изолированная виртуальная сеть для создания безопасной инфраструктуры.
DNS — сервис по управлению приватными и публичными зонами и их ресурсными записями.
Шаги:
В любом регистраторе доменов зарегистрируйте домен, например example.com.
Зарегистрируйтесь в личном кабинете Cloud.ru.
Если вы уже зарегистрированы, войдите под своей учетной записью.
На этом шаге вы создадите VPC, подсети, виртуальные машины и настроите правила групп безопасности.
Создайте VPC с названием VPC-1.
Создайте подсеть с параметрами:
Название — subnet-1.
VPC — VPC-1.
Зона доступности — ru.AZ-1.
Адрес — 10.0.1.0/24.
Создайте подсеть с параметрами:
Название — subnet-2.
VPC — VPC-1.
Зона доступности — ru.AZ-1.
Адрес — 10.0.2.0/24.
Убедитесь, что в личном кабинете на странице сервиса «Подсети» отображаются подсети subnet-1, subnet-2 в статусе «Создана».
Создайте виртуальную машину со следующими параметрами:
Название — app_server.
Зона доступности — ru.AZ-1.
Образ — Публичные → Ubuntu 22.04.
Гарантированная доля vCPU — 10%.
vCPU — 1.
RAM — 1.
Сетевой интерфейс — выберите тип Подсеть с публичным IP.
VPC — VPC-1.
Подсеть — 10.0.1.0/24 (subnet-1).
Внутренний IP — Автоматически.
Публичный IP — оставьте Арендовать новый или выберите IP-адрес из списка арендованных.
Группы безопасности — SSH-access_ru.AZ-1.
Логин — оставьте имя пользователя по умолчанию или укажите новое.
Метод аутентификации — Публичный ключ и Пароль.
Публичный ключ — укажите ключ, созданный ранее.
Пароль — задайте пароль пользователя.
Имя хоста — app_server.
Создайте виртуальную машину со следующими параметрами:
Название — client.
Зона доступности — ru.AZ-1.
Образ — Публичные → Ubuntu 22.04.
Гарантированная доля vCPU — 10%.
vCPU — 1.
RAM — 1.
Сетевой интерфейс — выберите тип Подсеть.
VPC — VPC-1.
Подсеть — 10.0.2.0/24 (subnet-2).
Внутренний IP — Автоматически.
Группы безопасности — SSH-access_ru.AZ-1.
Логин — оставьте имя пользователя по умолчанию или укажите новое.
Метод аутентификации — Публичный ключ и Пароль.
Публичный ключ — укажите ключ, созданный ранее.
Пароль — задайте пароль пользователя.
Имя хоста — client.
Убедитесь, что в личном кабинете на странице сервиса «Виртуальные машины» отображаются виртуальные машины client, app_server в статусе «Запущена».
Для группы безопасности SSH-access_ru.AZ-1 создайте правила для трафика с параметрами:
Тип трафика | Протокол | Тип источника | Источник |
|---|---|---|---|
Входящий | Любой | IP-адрес | 10.0.1.0/24 |
Входящий | Любой | IP-адрес | 10.0.2.0/24 |
На этом шаге вы создадите DNS-сервер и приватную зону.
Создайте DNS-сервер с параметрами:
Название — dns-server.
VPC — VPC-1.
Зона доступности — ru.AZ-1.
Подсеть — 10.0.1.0/24.
Адрес DNS-сервера — выберите 10.0.1.100/24.
Для подсети subnet-1 укажите DNS-сервер 10.0.1.100/24.
Создайте приватную зону с параметрами:
Домен — ваш зарегистрированный домен example.com.
VPC — VPC-1.
Тип домена — выберите Приватный.
Название — private.
На этом шаге вы создадите публичную зону и делегируете ее NS-серверам Cloud.ru.
Создайте публичную зону с параметрами:
Домен — ваш зарегистрированный домен example.com.
Тип домена — выберите Публичный.
Название — public.
В панели управления вашего регистратора проверьте уникальность зоны.
Если зона уникальная, ее не нужно подтверждать.
Если зона неуникальная, подтвердите ее.
Делегируйте зону. В личном кабинете регистратора в параметрах домена укажите адреса NS-серверов, указанных в личном кабинете, например evo-cns01.cloud.ru. и evo-cns02.cloud.ru..
Делегирование может занимать до 24 часов.
Проверьте делегирование, выполнив команду:
dig +short NS example.com
Где example.com — ваш зарегистрированный домен.
В результате должны отобразиться NS-серверы, указанные при делегировании.
На этом шаге вы создадите A-записи для публичной и приватной зоны.
В параметрах виртуальной машины app_server скопируйте публичный и внутренний IP-адреса.
В публичной зоне example.com cоздайте запись с параметрами:
Поддомен — оставьте пустым.
Тип записи — A.
Значение — публичный IP-адрес виртуальной машины.
В приватной зоне example.com cоздайте запись с параметрами:
Поддомен — оставьте пустым.
Тип записи — A.
Значение — внутренний IP-адрес виртуальной машины.
На этом шаге вы проверите разрешение запросов из VPC и интернета.
Проверьте разрешение запросов из VPC:
Подключитесь к виртуальной машине client через виртуальную консоль.
Выполните команду:
dig @10.0.1.100 example.com
Где:
10.0.1.100 — IP-адрес DNS-сервера;
example.com — ваш зарегистрированный домен.
В результате должен отобразиться внутренний IP-адрес виртуальной машины app_server, например:
; <<>> DiG 9.18.39-0ubuntu0.22.04.2-Ubuntu <<>> @10.0.1.100 example.com; (1 server found);; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6128;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 1232;; QUESTION SECTION:;example.com. IN A;; ANSWER SECTION:example.com. 60 IN A <internal_ip>;; Query time: 12 msec;; SERVER: 10.0.1.4#53(10.0.1.4) (UDP);; WHEN: Wed Apr 01 16:36:43 MSK 2026;; MSG SIZE rcvd: 64
Где <internal_ip> – внутренний IP-адрес виртуальной машины app_server.
Проверьте разрешение запросов из интернета, выполнив команду:
dig example.com
Где example.com — ваш зарегистрированный домен.
В результате должен отобразиться публичный IP-адрес виртуальной машины app_server, например:
; <<>> Net::DNS::Dig 0.12 <<>> -t a example.com.;;;; Got answer.;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61490;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION:;example.com. IN A;; ANSWER SECTION:example.com. 60 IN A <public_ip>;; Query time: 42 ms;; SERVER: 8.8.8.8# 53(8.8.8.8);; WHEN: Mon Apr 13 17:02:54 2026;; MSG SIZE rcvd: 52 -- XFR size: 2 records
Где <public_ip> – публичный IP-адрес виртуальной машины app_server.
Вы настроили разрешение доменных имен в разные IP-адреса в зависимости от того, откуда поступил DNS-запрос.