Настроить DNS в приватной сети выделенного сервера
Вы можете настроить DNS в приватных сетях выделенных серверов. Это позволит обращаться к серверам в приватной сети по доменным именам вместо IP-адресов.
Для настройки используется сервис Приватный DNS. Сервис работает на базе сетей облачной платформы, связь с сетями выделенных серверов осуществляется через глобальный роутер.
Настройка приватного DNS выполняется через API, для аутентификации запросов используется IAM-токен для проекта. Полный список API-методов для работы с сервисом смотрите в Private DNS API.
-
Если у вас еще нет приватной сети в облачной платформе, создайте приватную сеть. Сеть должна находиться в одном проекте с выделенными серверами, для которых вы хотите использовать приватный DNS.
-
Добавьте сервисного пользователя с ролью
member. -
Для добавленного сервисного пользователя получите IAM-токен для проекта.
-
Откройте CLI.
-
Выполните API-запрос, чтобы создать приватную зону с записями:
curl -X POST \
https://<pool>.cloud.api.selcloud.ru/private-dns/v1/zones \
-H "X-Auth-Token: <token>" \
-H "Content-Type: application/json" \
-d '{
"name": "<zone_name>",
"ttl": <ttl>,
"domain": "<domain_name>.",
"records": [
{
"type": "<record_type>",
"domain": "<subdomain>.<zone_domain_name>.",
"ttl": <record_ttl>,
"values": [
<value1>,<value2>
]
}
]
}'Укажите:
-
<pool>— пул, в котором находится приватная сеть облачной платформы, напримерru-3; -
<token>— IAM-токен для проекта, который вы получили на шаге 3; -
<zone_name>— имя зоны; -
<ttl>— TTL зоны в секундах, по умолчанию 3600/ TTL — время, в течение которого ресурсная запись зоны в кэше DNS-сервера считается актуальной и не требует повторного кэширования; -
<zone_domain_name>— доменное имя зоны, напримерexample; -
опционально: добавьте блок
<"records">с информацией о ресурсных записях в зоне. Записи можно будет создать и изменить в любой момент после создания зоны. Записи указываются группами по типам, для каждой группы укажите:<record_type>— тип записи:A,AAAA,MX,TXT,CNAME;<subdomain>— доменное имя порта, напримерfirst. Может содержать цифры, латинские буквы и дефисы;<record_ttl>— TTL записи в секундах, по умолчанию 3600. Чтобы запись наследовала TTL зоны, укажите-1;<value1>,<value2>— значения записи.
-
-
Выполните API-запрос, чтобы подключить приватную сеть к DNS-резолверу:
curl -X POST \
https://<pool>.cloud.api.selcloud.ru/private-dns/v1/services \
-H "X-Auth-Token: $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"network_id": "<network_id>"
}'Укажите:
<pool>— пул, в котором находится приватная сеть облачной платформы, напримерru-3;<network_id>— ID сети, можно скопировать в панели управления: в верхнем меню нажмите Продукты → Облачные серверы → Сеть → вкладка Приватные сети → в карточке сети нажмите .
-
Свяжите сеть выделенных серверов и сеть облачной платформы через глобальный роутер.
-
Для каждого из выделенных серверов в сети, которую вы подключили к глобальному роутеру на шаге 7, укажите приватные DNS-серверы — IP-адреса DNS-резолвера из облачной сети:
Ubuntu
Debian
CentOS
Windows
8.1. Подключитесь к серверу по SSH или через KVM-консоль.
8.2. Откройте конфигурационный файл утилиты
netplanтекстовым редакторомvi:vi /etc/netplan/50-cloud-init.yamlили
vi /etc/netplan/01-netcfg.yaml8.3. Укажите DNS-серверы для сетевого интерфейса приватной сети, которую вы подключили к глобальному роутеру. Для этого в блоке нужного интерфейса добавьте блок
nameserversс IP-адресами DNS-резолвера. Например:id1:
addresses:
- 192.168.0.3/24
routes:
- to: 172.16.0.0/24
via: 192.168.0.1
nameservers:
addresses:
- <dns_server_ip_address_1>
- <dns_server_ip_address_2>Укажите
<dns_server_ip_address_1>и<dns_server_ip_address_2>— IP-адреса DNS-резолвера. Адреса можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Облачные серверы → Сеть → вкладка Приватные сети → откройте страницу сети → вкладка Порты → в карточке порта с пометкой DNS-резолвер посмотрите IP-адреса.8.4. Нажмите ESC.
8.5. Выйдите из текстового редактора
viс сохранением изменений::wq8.6. Примените конфигурацию:
netplan apply8.7. Опционально: перезагрузите сервер.
8.1. Подключитесь к серверу по SSH или через KVM-консоль.
8.2. Откройте конфигурационный файл сетевых интерфейсов текстовым редактором
vi:vi /etc/network/interfaces.d/50-cloud-init8.3. Укажите DNS-серверы для сетевого интерфейса приватной сети, которую вы подключили к глобальному роутеру. Для этого в блоке нужного интерфейса добавьте строку
dns-nameserversс IP-адресами DNS-резолвера. Например:auto eth0
iface eth0 inet static
address 192.168.0.3
dns-nameservers <dns_server_ip_address_1> <dns_server_ip_address_2>Укажите
<dns_server_ip_address_1>и<dns_server_ip_address_2>— IP-адреса DNS-резолвера. Адреса можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Облачные серверы → Сеть → вкладка Приватные сети → откройте страницу сети → вкладка Порты → в карточке порта с пометкой DNS-резолвер посмотрите IP-адреса.8.4. Нажмите ESC.
8.5. Выйдите из текстового редактора
viс сохранением изменений::wq8.6. Перезапустите сеть:
service networking restart8.7. Опционально: перезагрузите сервер.
8.1. Подключитесь к серверу по SSH или через KVM-консоль.
8.2. Выведите информацию о сетевых интерфейсах:
ip address8.3. Создайте или откройте конфигурационный файл сетевого интерфейса приватной сети текстовым редактором
vi:vi /etc/sysconfig/network-scripts/ifcfg-<eth_name>Укажите
<eth_name>— имя сетевого интерфейса приватной сети.8.4. Укажите DNS-серверы для сетевого интерфейса приватной сети, которую вы подключили к глобальному роутеру. Для этого в блоке нужного интерфейса добавьте строку
dns-nameserversс IP-адресами DNS-резолвера. Например:NAME="eth0"
ONBOOT=yes
BOOTPROTO=none
IPADDR="192.168.0.3"
DNS1=<dns_server_ip_address_1>
DNS2=<dns_server_ip_address_2>Укажите
<dns_server_ip_address_1>и<dns_server_ip_address_2>— IP-адреса DNS-резолвера. Адреса можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Облачные серверы → Сеть → вкладка Приватные сети → откройте страницу сети → вкладка Порты → в карточке порта с пометкой DNS-резолвер посмотрите IP-адреса.8.5. Нажмите ESC.
8.6. Выйдите из текстового редактора
viс сохранением изменений::wq8.7. Перезапустите сеть:
systemctl restart network8.8. Опционально: перезагрузите сервер.
8.1. Подключитесь к серверу по RDP или через KVM-к онсоль.
8.2. Откройте Windows Settings.
8.3. Откройте Network & Internet.
8.4. Откройте Network and Sharing Center.
8.5. Откройте сетевой интерфейс приватной сети.
8.6. Нажмите Properties.
8.7. В списке выберите Internet Protocol version 4 (TCP/IPv4).
8.8. Нажмите Properties.
8.9. Выберите Use the following DNS server addresses.
8.10. В полях Preferred DNS server и Alternate DNS server введите IP-адреса DNS-резолвера. Адреса можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Облачные серверы → Сеть → вкладка Приватные сети → откройте страницу сети → вкладка Порты → в карточке порта с пометкой DNS-резолвер посмотрите IP-адреса.
8.11. Нажмите OK.
8.12. Опционально: перезагрузите сервер.