INTEGRITY Документация

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

Используйте импорт и экспорт, чтобы получить больше контроля над записями 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.