---
title: 'Перенести домены из DNS-хостинга (legacy) в DNS-хостинг Selectel (actual)'
sidebar_label: 'Перенести домены из DNS-хостинга (legacy)'
description: 'Как перенести домены из DNS-хостинга (legacy) в DNS-хостинг (actual) через панель управления или с помощью octoDNS'
sidebar_position: 2
---

import Formbricks from '@theme/MDXComponents/Formbricks'

import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import {TabItemLabel} from '@selectel/docux/components'
import CopyIcon from '@selectel/docux/icons/copy'
import TrashIcon from '@selectel/docux/icons/trash'

# Перенести домены из DNS-хостинга (legacy) в DNS-хостинг Selectel (actual)

:::warning

Мы выпустили [новую версию DNS-хостинга (actual)](https://my.selectel.ru/dns/default/hosting) и постепенно отключаем [устаревшую версию (legacy)](https://my.selectel.ru/network/domains) согласно [этапам](/dns-hosting/about-dns.mdx#legacy-shutdown-stages).

[Перенесите домены в DNS-хостинг (actual)](/dns-hosting/move-domain/move-from-legacy-to-actual.mdx) сейчас, чтобы избежать перебоя в работе сайтов при отключении DNS-хостинга (legacy).

Если вы зарегистрировались после 30 января 2024 года, вам доступен только [DNS-хостинг (actual)](https://my.selectel.ru/dns/default/hosting).

:::

Перенос доменов происходит без пауз в работе DNS. Вы создаете копию данных из DNS-хостинга (legacy) в DNS-хостинге (actual), а затем делегируете управление записями на авторитетные серверы DNS-хостинга (actual). Перенос может занимать до 72 часов, в это время записи продолжат отдаваться с авторитетных серверов DNS-хостинга (legacy).

Если у домена в DNS-хостинге (legacy) есть только записи NS и SOA, он не перенесется в DNS-хостинг (actual). Если вам нужно перенести такой домен, его нужно [добавить через панель управления](/dns-hosting/quickstart.mdx).

Все домены из DNS-хостинга (legacy) переносятся в один [проект](/access-control/projects/about-projects.mdx).

Вы можете перенести домены:

* [через панель управления](#transfer-via-panel);
* [через octoDNS](#transfer-via-octodns).

После переноса в DNS-хостинг (actual) вы можете [перенести доменную зону в другой проект](/dns-hosting/zones/transfer-zone.mdx).

## Перенести домен через панель управления \{#transfer-via-panel}

1. [Перенесите данные](#transfer-data-panel).
2. [Делегируйте домен в DNS-хостинг (actual)](#delegate-domain-panel).

### 1. Перенести данные \{#transfer-data-panel}

1. В [панели управления](https://my.selectel.ru/network/domains) в верхнем меню нажмите **Продукты** и выберите **DNS-хостинг Legacy**.

2. Нажмите **Копирование зон в DNSv2**.

3. Выберите [проект](/access-control/projects/), в который необходимо перенести зоны.

4. Нажмите **Копировать**. Когда окно закроется, перенос будет завершен.

5. Чтобы проверить результат переноса, в верхнем меню нажмите **Продукты** и выберите **DNS-хостинг**.

6. Убедитесь, что вы находитесь в проекте, в который перенесли данные.

7. Убедитесь, что перенесенные домены отображаются в списке зон, а на странице каждой зоны отображаются перенесенные записи домена.

   Ресурсные записи одного типа отображаются как группа записей.
   Ресурсные записи NS и SOA не переносятся, они будут автоматически созданы в DNS-хостинге (actual) со значениями по умолчанию, которые нельзя редактировать:

   * NS — `a.ns.selectel.ru.`, `b.ns.selectel.ru.`, `c.ns.selectel.ru.`, `d.ns.selectel.ru.`
   * SOA — `a.ns.selectel.ru. support.selectel.ru.` `<zone_serial_number> 10800 3600 604800 60`, где `<zone_serial_number>` — серийный номер зоны, который изменяется при обновлении зоны и сигнализирует кэширующим серверам, что записи необходимо закэшировать заново.

   Если данные перенеслись неправильно или не полностью, [создайте тикет](https://my.selectel.ru/tickets/create).

### 2. Делегировать домен в DNS-хостинг (actual) \{#delegate-domain-panel}

Если вы перенесли несколько доменов, то нужно делегировать каждый домен.

1. Перейдите в панель управления доменного регистратора, у которого зарегистрирован ваш домен.
2. В NS-записях замените значения на NS-серверы DNS-хостинга (actual): `a.ns.selectel.ru`, `b.ns.selectel.ru`, `c.ns.selectel.ru`, `d.ns.selectel.ru`. Каждый сервер укажите в отдельной записи.
3. Подождите, пока перенесенные ресурсные записи распространятся на DNS-серверы. Распространение записей может занимать до 72 часов, в это время записи продолжат отдаваться с авторитетных серверов DNS-хостинга (legacy): `ns1.selectel.ru`, `ns2.selectel.ru`, `ns3.selectel.ru`, `ns4.selectel.ru`.
4. Опционально: [проверьте записи на авторитетных серверах](/dns-hosting/records/check-records.mdx).

## Перенести домен через octoDNS \{#transfer-via-octodns}

1. [Установите octoDNS](#install-octodns).
2. [Перенесите данные](#transfer-data-octodns).
3. [Делегируйте домен в DNS-хостинг (actual)](#delegate-domain-octodns).

### 1. Установить octoDNS \{#install-octodns}

1. Установите Python 3, virtualenv и pip3:

   <Tabs queryString="install-components">
     <TabItem value="linux" default>
       <TabItemLabel>
         Linux
       </TabItemLabel>

       ```bash
       sudo apt-get update
       sudo apt-get install python3 virtualenv
       sudo apt-get install python3-pip
       ```
     </TabItem>

     <TabItem value="macos">
       <TabItemLabel>
         macOS
       </TabItemLabel>

       ```bash
       brew install python3
       brew install virtualenv
       ```
     </TabItem>
   </Tabs>

2. Создайте директорию для работы с octoDNS:

   ```bash
   mkdir ~/octodns
   ```

3. Перейдите в директорию `~/octodns`:

   ```bash
   cd ~/octodns
   ```

4. Создайте виртуальную среду для работы с octoDNS:

   ```bash
   virtualenv env
   ```

5. Активируйте виртуальную среду:

   ```bash
   source env/bin/activate
   ```

6. Установите octoDNS в виртуальную среду:

   ```bash
   pip3 install octodns
   ```

7. Проверьте, что пакет установился корректно:

   ```bash
   octodns-sync --version
   ```

   В ответе появится установленная версия octoDNS, например:

   ```bash
   octoDNS 1.4.0
   ```

8. Установите [Selectel-провайдер](https://github.com/octodns/octodns-selectel) для octoDNS:

   ```bash
   pip3 install octodns_selectel
   ```

9. Проверьте, что Selectel-провайдер установился корректно:

   ```bash
   pip3 list | grep octodns-selectel
   ```

   В ответе появится установленная версия провайдера, например:

   ```bash
   octodns_selectel 0.99.1
   ```

   Минимальная версия Selectel-провайдера для переноса — `0.99.1`.

### 2. Перенести данные \{#transfer-data-octodns}

1. Перейдите в директорию `~/octodns`:

   ```bash
   cd ~/octodns
   ```

2. Создайте файл `migration_config.yaml`:

   ```bash
   nano migration_config.yaml
   ```

3. Скопируйте в файл содержимое:

   ```yaml
   ---
   processors:
     no-root-ns:
       class: octodns.processor.filter.IgnoreRootNsFilter

   providers:
     selectel_legacy:
       class: octodns_selectel.SelectelProviderLegacy
       token: <x_token>
     selectel:
       class: octodns_selectel.SelectelProvider
       token: <x_auth_token>

   zones:
       <example.com.>:
           sources:
           - selectel_legacy
           processors:
           - no-root-ns
           targets:
           - selectel
   ```

   Укажите:

   * `<x_token>` — [статический токен (X-Token)](/api/authorization/);
   * `<x_auth_token>` — [IAM-токен для проекта](/api/authorization/#iam-token-project-scoped), в который нужно перенести данные;
   * `<example.com.>` — имя домена в виде, в котором оно указано в DNS-хостинге (legacy), с точкой на конце. Чтобы перенести все домены, вместо имени домена укажите `"*"` без точки.

4. Запустите перенос:

   ```bash
   octodns-sync --config-file=migration_config.yaml --doit
   ```

5. В [панели управления](https://my.selectel.ru/dns/default/hosting/) в верхнем меню нажмите **Продукты** и выберите **DNS-хостинг**.

6. Убедитесь, что вы находитесь в проекте, в который перенесли данные.

7. Убедитесь, что перенесенные домены отображаются в списке зон, а на странице каждой зоны отображаются перенесенные записи домена.

   Ресурсные записи одного типа отображаются как группа записей.
   Ресурсные записи NS и SOA не переносятся, они будут автоматически созданы в DNS-хостинге (actual) со значениями по умолчанию:

   * NS — `a.ns.selectel.ru.`, `b.ns.selectel.ru.`, `c.ns.selectel.ru.`, `d.ns.selectel.ru.`
   * SOA — `a.ns.selectel.ru. support.selectel.ru.` `<zone_serial_number> 10800 3600 604800 60`, где `<zone_serial_number>` — серийный номер зоны, который изменяется при обновлении зоны и сигнализирует кэширующим серверам, что записи необходимо закэшировать заново.

   Если данные перенеслись неправильно или не полностью, [создайте тикет](https://my.selectel.ru/tickets/create).

### 3. Делегировать домен в DNS-хостинг (actual) \{#delegate-domain-octodns}

Если вы перенесли несколько доменов, то нужно делегировать каждый домен.

1. Перейдите в панель управления доменного регистратора, у которого зарегистрирован ваш домен.
2. В NS-записях замените значения на NS-серверы DNS-хостинга (actual): `a.ns.selectel.ru`, `b.ns.selectel.ru`, `c.ns.selectel.ru`, `d.ns.selectel.ru`. Каждый сервер укажите в отдельной записи.
3. Подождите, пока перенесенные ресурсные записи распространятся на DNS-серверы. Распространение записей может занимать до 72 часов, в это время записи продолжат отдаваться с авторитетных серверов DNS-хостинга (legacy): `ns1.selectel.ru`, `ns2.selectel.ru`, `ns3.selectel.ru`, `ns4.selectel.ru`.
4. Опционально: [проверьте записи на авторитетных серверах](/dns-hosting/records/check-records.mdx).

<Formbricks />
