Документация Запланировать пилот

Импорт и экспорт записей

Используйте импорт и экспорт, чтобы получить больше контроля над записями DNS и упростить такие процессы, как перенос домена или массовое редактирование комментарии к записи проще.

Импорт записей

Лимиты

Отформатируйте файл зоны

Создайте Файл зоны BIND ↗ для вашего домена. Если вам нужна помощь, используйте сторонний инструмент ↗.

Если вы используете определённые типы записей, например CNAME, DNAME, MX, NS, PTR, или SRV записи, убедитесь, что содержимое из этих записей содержит полное доменное имя (FQDN), оканчивающееся точкой в конце (как в example.com.). Подробнее см. в RFC 1035 ↗ или этот публикация на Stack Exchange ↗.

Импорт файла зоны в Cloudflare

Чтобы импортировать файл зоны в панели управления:

  1. На панели управления Cloudflare перейдите к разделу DNS-записи страницу.

    Перейдите в Записи ↗
  2. Выберите Импорт и экспорт.

  3. Для Импорт записей DNS, выберите свой отформатированный файл.

  4. Если вы не хотите применимые записи проксируется, снимите отметку с Проксирование импортированных DNS-записей.

Чтобы импортировать записи с помощью API, отправьте Запрос POST с правильно отформатированный файл.

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
  • DNS Write
Импорт записей DNS
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/import" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--form "file=@your_formatted_file.txt"

Экспорт записей

Вы также можете выполнить массовый экспорт записей из Cloudflare.

Чтобы экспортировать записи в панели управления:

  1. На панели управления Cloudflare перейдите к разделу DNS-записи страницу.

    Перейдите в Записи ↗
  2. Выберите Импорт и экспорт.

  3. Выберите Экспорт.

Чтобы экспортировать записи с помощью API, отправьте GET-запрос.

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
  • DNS Read
  • DNS Write
Экспорт DNS-записей
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/export" \
	--request GET \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

Атрибуты DNS-записи

При экспорте или импорте файла зоны Cloudflare форматирует комментарии и теги с использованием следующей структуры, добавляя атрибуты в виде встроенного комментария с помощью ; символ после каждой записи в соответствии с RFC 1035, раздел 5 ↗:

Комбинация Описание
Только теги Имена тегов содержат небольшой набор символов.

Кроме того, значения тегов должны быть заключены в двойные кавычки (") если они содержат ", =, ,, или \. Если заключено в двойные кавычки ("), значения тегов представлены в виде строк JSON, поэтому другие кавычки внутри значения можно экранировать как \".

Тег с пустым значением можно представить либо как my-tag-name:"", my-tag-name:, или my-tag-name.
Только комментарий Комментарии имеют меньше ограничений на символы, то есть комментарий включается дословно.

Если комментарий содержит строку cf_tags=, вам нужно добавить дополнительный cf_tags= в конце строки.
Комментарий и теги Комментарий в файле зоны будет иметь вид ; <comment> cf_tags=<tags>, как описано выше. Обратите внимание на добавленный пробел перед cf_tags=.
Ни один из атрибутов Комментарий в файле зоны может быть пустым или отсутствовать вовсе. Комментарии в файле зоны, которые не идут сразу после записи, также игнорируются.
Пример файла зоны
; Only tags
a.example.com.  60  IN  A   1.1.1.1 ;   cf_tags=awesome
b.example.com.  60  IN  A   1.1.1.1 ;   cf_tags=tag1,tag2:value2,tag3:"value,with,commas",tag4:"value with \"escaped\" quotation marks"

; Only a comment
c.example.com.  60  IN  A   1.1.1.1 ; just a comment without tags
d.example.com.  60  IN  A   1.1.1.1 ; this comment contains cf_tags= as text cf_tags=

; Comments and tags
e.example.com.  60  IN  A   1.1.1.1 ; simple example cf_tags=important,ticket:THIS-12345
f.example.com.  60  IN  A   1.1.1.1 ; this is the comment cf_tags=tag1:value1,tag2:value2,tag-without-value,another-tag-without-value,tag-with-quoted-value:"because of the comma, quotes are needed"

; Neither attribute
g.example.com.  60  IN  A   1.1.1.1

Зарезервированные теги cf-

При экспорте и импорте специальные теги, начинающиеся с cf- позволяют управлять определёнными настройками Cloudflare. При экспорте эти теги добавляются автоматически, чтобы отразить текущую конфигурацию для каждой записи в вашей зоне.

Пример записей с тегами cf-
;; CNAME Records
a.cloudflaredocs.com.	1	IN	CNAME	example.com. ; cf_tags=test:1,cf-flatten-cname
b.cloudflaredocs.com.	1	IN	CNAME	example.com. ; cf_tags=cf-proxied:false
c.cloudflaredocs.com.	1	IN	CNAME	example.com. ; cf_tags=tag-without-value,cf-proxied:true

cf-proxied

При экспорте, проксируемые DNS-записи будет отображать тег cf-proxied:true тогда как у записей DNS-only этот тег будет установлен на cf-proxied:false.

При импорте файлов зоны значение в поле cf-proxied тег будет иметь приоритет при определении того, должна ли запись проксироваться. Это означает, что:

cf-flatten-cname

Если у вас платная зона и вы хотите использовать Выравнивание CNAME для отдельных записей, используйте тег cf-flatten-cname рядом с каждой CNAME-записью с применением CNAME flattening в файле зоны. При экспорте этот тег добавляется автоматически и отражает конфигурацию записи, заданную в вашей зоне.

Директивы файла DNS-зоны

Файл DNS-зоны может быть построен с использованием директив в дополнение к ресурсным записям (RR). Директивы начинаются с $ и являются стандартизированными: $ORIGIN и $INCLUDE определены в RFC 1035 ↗, а также $TTL определён в RFC 2308 ↗. Кроме того, BIND предоставляет нестандартный ↗ $GENERATE директива.

Cloudflare поддерживает $ORIGIN, $TTL, а также $GENERATE директивы.

$INCLUDE не поддерживается. Если файл зоны содержит $INCLUDE директиве Cloudflare отвечает ошибкой разбора $INCLUDE directive not allowed.

Запросите бесплатный пилот

Запланировать пилот