← Cloudflare DNS / dns / manage-dns-records / how-to
Import a export záznamů
Pomocí importu a exportu získáte větší kontrolu nad záznamy DNS a zjednodušíte procesy jako migraci domény nebo hromadné úpravy komentáře k záznamu snazší.
Import záznamů
Limity
-
Limit velikosti souboru zóny je 256 KiB (262144 bajtů).
- Limit API je tři požadavky za minutu na uživatele.
Naformátujte soubor zóny
Vytvořte Soubor zóny BIND ↗ pro vaši doménu. Pokud potřebujete pomoc, použijte nástroj třetí strany ↗.
Pokud používáte určité typy záznamů, například CNAME, DNAME, MX, NS, PTR, nebo SRV záznamy, ujistěte se, že obsah z těchto záznamů obsahuje plně kvalifikované doménové názvy končící tečkou (jako v example.com.). Další podrobnosti najdete v RFC 1035 ↗ nebo tento příspěvek na Stack Exchange ↗.
Import souboru zóny do Cloudflare
Chcete-li importovat soubor zóny v dashboardu:
-
V dashboardu Cloudflare přejděte na DNS záznamy stránce.
Přejděte na Záznamy ↗ -
Vyberte Import a export.
-
Pro Import DNS záznamů, vyberte svůj formátovaný soubor.
-
Pokud nechcete příslušné záznamy proxovaný, zrušte výběr Proxujte importované DNS záznamy.
Chcete-li importovat záznamy pomocí API, odešlete Požadavek POST se správně formátovaný soubor.
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"Export záznamů
Záznamy z Cloudflare můžete také hromadně exportovat.
Chcete-li exportovat záznamy v dashboardu:
-
V dashboardu Cloudflare přejděte na DNS záznamy stránce.
Přejděte na Záznamy ↗ -
Vyberte Import a export.
-
Vyberte Export.
Chcete-li exportovat záznamy pomocí API, odešlete Požadavek GET.
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:DNS ReadDNS Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/export" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"Atributy DNS záznamu
Při exportu nebo importu souboru zóny Cloudflare formátuje komentáře a štítky s použitím následující struktury, přičemž atributy se připojují jako vložený komentář pomocí ; znak za každým záznamem v souladu s RFC 1035, oddíl 5 ↗:
| Kombinace | Popis |
|---|---|
| Pouze značky | Názvy štítků obsahují malá sada znaků. Hodnoty tagů musí být navíc uzavřeny v uvozovkách ( ") pokud obsahují ", =, ,, nebo \. Když je uzavřeno v uvozovkách ("), hodnoty tagů jsou reprezentovány jako JSON řetězce, takže další uvozovky v hodnotě lze escapovat jako \".Tag s prázdnou hodnotou lze zapsat buď jako my-tag-name:"", my-tag-name:, nebo my-tag-name. |
| Pouze komentář | Komentáře mají méně omezení na znaky, což znamená, že komentář se zahrne doslovně. Pokud komentář obsahuje řetězec cf_tags=, je třeba zahrnout další cf_tags= na konci řádku. |
| Komentář a štítky | Komentář v souboru zóny by měl tvar ; <comment> cf_tags=<tags>, jak je popsáno výše. Všimněte si přidaného znaku mezery před cf_tags=. |
| Žádný z atributů | Komentář v souboru zóny může být prázdný nebo zcela vynechaný. Komentáře v souboru zóny, které bezprostředně nenavazují na záznam, se také ignorují. |
; 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.1Vyhrazené tagy cf-
Při exportu a importu se speciální značky začínající cf- vám umožňují ovládat konkrétní konfigurace Cloudflare. Při exportu se tyto tagy automaticky přidávají tak, aby odrážely aktuální konfiguraci každého záznamu ve vaší zóně.
;; 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:truecf-proxied
Při exportu proxované DNS záznamy zobrazí štítek cf-proxied:true zatímco DNS-only záznamy budou mít tento tag nastaven na cf-proxied:false.
Při importu souborů zóny je hodnota v cf-proxied značka bude mít přednost při rozhodování, zda má být záznam proxován. To znamená, že:
- Pokud je značka přítomná, její hodnota se pro příslušný záznam zohlední bez ohledu na Proxujte importované DNS záznamy možnosti (přes dashboard), nebo
proxiedparametr obvykle nastavený natruenebofalse(přes API). - Pokud značka chybí, stav proxování se řídí obecnou možností importu, což znamená Proxujte importované DNS záznamy vybráno nebo ne (přes dashboard), nebo
proxiedparametr nastavený natruenebofalse(přes API).
cf-flatten-cname
Pokud máte placenou zónu a chcete použít Zploštění CNAME pro jednotlivé záznamy, použijte tag cf-flatten-cname vedle každého zploštěného CNAME záznamu v souboru zóny. Při exportu se tento tag přidá automaticky, aby odrážel konfiguraci záznamu, kterou máte ve své zóně.
Direktivy souboru zóny DNS
Soubor zóny DNS lze kromě zdrojových záznamů (RR) sestavit i pomocí direktiv. Direktivy začínají znakem $ a jsou standardizované: $ORIGIN a $INCLUDE jsou definované v RFC 1035 ↗, a $TTL je definován v RFC 2308 ↗. BIND navíc poskytuje nestandardní ↗ $GENERATE direktiva.
Cloudflare podporuje $ORIGIN, $TTL, a $GENERATE direktivy.
$INCLUDE není podporován. Pokud zónový soubor obsahuje $INCLUDE direktiva, Cloudflare odpoví chybou analýzy $INCLUDE directive not allowed.