DNS záznamy: A, CNAME, TXT a TTL srozumitelně
DNS záznam je jeden řádek, který říká: pro tohle jméno platí tahle hodnota, a to po tak dlouhou dobu. Když rozumíte čtyřem nejběžnějším typům – A, AAAA, CNAME a TXT – a hodnotě TTL, zvládnete přečíst nastavení své domény a odhadnout, co se po změně stane a kdy.
Aktualizováno
Z čeho se záznam skládá
Jak celý systém překladu jmen funguje a kdo ho spravuje, popisuje heslo DNS. Tady se díváme na jednotlivé řádky. Ať je administrace u registrátora jakkoli barevná, každý záznam má stejné čtyři části: název, TTL, typ a hodnotu. V textovém zápisu takzvané zóny vypadá malý web třeba takto (adresy jsou ukázkové):
; název TTL typ hodnota
@ 3600 A 203.0.113.10
@ 3600 AAAA 2001:db8::10
www 3600 CNAME vasefirma.cz.
rezervace 3600 CNAME zakaznik.rezervacni-sluzba.example.
@ 3600 TXT "google-site-verification=abc123"- @ znamená samotnou doménu,
wwwneborezervacejsou jména pod ní. - Tečka na konci hodnoty říká, že jde o celé jméno. Bez ní by se k hodnotě v mnoha systémech připojila ještě vaše doména a vzniklo by nesmyslné
vasefirma.cz.vasefirma.cz. - TTL je v sekundách: 3600 je hodina, 86400 den.
A a AAAA: kde stojí server
Záznam A obsahuje IPv4 adresu (čtyři čísla oddělená tečkami), AAAA adresu IPv6 (delší zápis s dvojtečkami). Oba říkají totéž – na jakém stroji web běží –, jen pro jiný druh připojení. Zařízení s IPv6 často dá přednost záznamu AAAA.
Odtud jedna z nejzáludnějších chyb při stěhování: záznam A se přepíše na nový server, ale starý AAAA zůstane. Na počítači v kanceláři web funguje, na mobilu s IPv6 se načítá stará verze nebo nic. Když nový hosting IPv6 nemá, starý záznam AAAA smažte.
CNAME: jméno, které odkazuje na jiné jméno
CNAME neobsahuje adresu, ale jiný název. Prohlížeč se pak zeptá na adresu toho cílového jména. Výhoda: když cizí služba změní své servery, nemusíte nic upravovat. Proto CNAME chtějí rezervační systémy, e-shopové platformy nebo nástroje pro newslettery, když je provozujete na subdoméně typu rezervace.vasefirma.cz.
Pravidlo, které vysvětluje většinu chybových hlášek: jméno s CNAME nesmí mít žádný jiný záznam. Proto CNAME nejde na hlavní doménu (tam jsou NS a obvykle i MX) a proto nejde ke stejnému názvu přidat třeba TXT.
TXT: text pro stroje
Do TXT se zapisuje cokoli, co si potřebuje přečíst nějaká služba. Nejčastěji ověření vlastnictví domény – třeba když ji přidáváte do Search Console – a pravidla pro poštu, kterým se věnuje heslo SPF, DKIM a DMARC.
- Na jednom jménu může být TXT záznamů víc. Výjimkou je SPF – ten smí být jen jeden.
- Jeden textový řetězec má nejvýš 255 znaků. Delší hodnoty (typicky klíč DKIM) se dělí na víc řetězců v uvozovkách, většina administrací to udělá sama.
- Ověřovací TXT po úspěšném ověření obvykle nechte – některé služby vlastnictví kontrolují opakovaně.
TTL: proč se změna neprojeví hned
| TTL | Kdy se hodí | Co to znamená při změně |
|---|---|---|
| 300 (5 minut) | Den před plánovaným přepnutím a během něj | Stará hodnota zmizí z paměti resolverů rychle |
| 3600 (1 hodina) | Běžný provoz webu a pošty | Po změně počítejte až s hodinou smíšeného stavu |
| 86400 (1 den) | Záznamy, které se skoro nemění | Chyba se opravuje až den |
Hodnoty v tabulce jsou příklad, ne předpis. Méně známé je, že si resolvery pamatují i odpověď „takový záznam neexistuje“. Když se na nový název někdo zeptal dřív, než jste ho založili, může chvíli trvat, než ho uvidí, i když TTL samotného záznamu je krátké. Délku této paměti určuje nastavení zóny (záznam SOA), ne nový záznam.
Kontrola po přesunu webu
Po každé úpravě se podívejte, co DNS opravdu vrací, nejlépe příkazem v terminálu, který obchází mezipaměť prohlížeče:
dig vasefirma.cz A +short
dig www.vasefirma.cz +short
dig vasefirma.cz AAAA +short
nslookup -type=txt vasefirma.cz- Míří doména s www i bez www na nový server?
- Nezůstal starý AAAA nebo zástupný záznam s hvězdičkou (*)?
- Nebrání vydání certifikátu záznam CAA, který povoluje jen původní autoritu? Souvislosti vysvětluje heslo SSL certifikát.
- Zůstaly beze změny záznamy pro poštu, hlavně MX záznam?
U webů, které provozujeme, běží každý web ve vlastním kontejneru a certifikát se mu vystaví automaticky, jakmile na něj doména ukazuje. Provoz včetně hostingu a firemního e-mailu patří do tarifu Light, ten začíná na 1 000 Kč měsíčně a nemá závazek.
Časté otázky
Co znamená zavináč v názvu záznamu?
Zavináč je zkratka pro samotnou doménu bez předpony, tedy vasefirma.cz. Některé administrace místo něj chtějí prázdné pole nebo celý název domény. Význam je ve všech případech stejný.
Můžu mít pro jednu doménu víc záznamů A?
Ano. Resolver pak dostane všechny adresy a klient si vybere jednu z nich. Používá se to pro rozložení zátěže, ale jen tehdy, když na všech adresách běží stejný web. Zapomenutá stará adresa mezi nimi způsobí, že web někomu funguje a někomu ne.
Jak nízké TTL je ještě rozumné?
Pro přechodné období kolem změny se běžně používá pár minut. Natrvalo nízké TTL nedává smysl: resolvery se pak ptají častěji a při výpadku DNS serveru vám web zmizí rychleji. Po dokončení změny je lepší vrátit hodinu nebo víc.
Proč mi administrace nedovolí přidat CNAME na hlavní doménu?
Protože na hlavní doméně už jsou jiné záznamy (NS, SOA, často MX) a CNAME podle pravidel DNS nesmí sdílet jméno s ničím jiným. Někteří poskytovatelé nabízejí náhradu pod názvem ALIAS, ANAME nebo „CNAME flattening“. Jinak zbývá zadat přímo záznam A.