Kas ir DNS ieraksti? A, AAAA, CNAME, MX, TXT un NS ar piemēriem
Šis ceļvedis aptver sešus DNS ierakstu tipus, ar kuriem tu reāli saskarsies, uzturot mājaslapu vai e-pastu savā domēnā: A, AAAA, CNAME, MX, TXT un NS. Katram tipam ir īsa definīcija, reālistisks piemērs un klasiskā kļūda, ko regulāri redzam atbalsta pieteikumos. Ceļvedis rakstīts izstrādātājiem un adminiem, kas paši rediģē savas zonas, un noslēgumā apskatīta TTL stratēģija, tas, kā propagācija notiek patiesībā, un dig komandas visa pārbaudei.
Seši ierakstu tipi pēc kārtas
A: vārds uz IPv4 adresi
A ieraksts sasaista resursdatora vārdu ar IPv4 adresi. Tas ir ieraksts, kas liek tavam domēnam atvērties pārlūkā.
example.com. 3600 IN A 203.0.113.10
Klasiskā kļūda: publicēt servera iekšējo adresi. A ieraksts, kas norāda uz 192.168.1.20, atrisinās korekti un tad noildzē visiem ārpus tava tīkla. Vienmēr publicē publisko IP.
AAAA: vārds uz IPv6 adresi
AAAA ieraksts dara to pašu ar IPv6.
example.com. 3600 IN AAAA 2001:db8:10::1
Klasiskā kļūda: pievienot AAAA ierakstu serverim, kurā IPv6 patiesībā nav sakonfigurēts. Klienti, kas dod priekšroku IPv6, mēģinās to vispirms, karāsies, un tikai daļa korekti pārslēgsies atpakaļ, tāpēc lapa ielādējas lēni vai nemaz, un to ir grūti reproducēt. Publicē AAAA tikai tad, kad pats esi adresi notestējis.
CNAME: aizstājvārds citam vārdam
CNAME padara vienu vārdu par cita vārda aliasu, un uzmeklēšana pēc tam turpinās mērķī.
www.example.com. 3600 IN CNAME example.com.
Klasiskā kļūda: CNAME zonas virsotnē (apex), tas ir, uz paša example.com. Standarts to aizliedz, jo CNAME nevar pastāvēt kopā ar citiem ierakstiem tam pašam vārdam, bet virsotnē obligāti jābūt SOA un NS ierakstiem. Virsotnē lieto A vai AAAA ierakstu vai sava DNS pakalpojuma ALIAS vai ANAME tipu, ja tāds ir pieejams.
MX: kur tiek piegādāts pasts
MX ieraksti nosauc serverus, kas pieņem domēna pastu, ar prioritātes skaitli, kur mazākais uzvar.
example.com. 3600 IN MX 10 mail.example.com. mail.example.com. 3600 IN A 203.0.113.25
Klasiskā kļūda: MX, kas norāda uz IP adresi. MX labajā pusē jābūt resursdatora vārdam ar savu A vai AAAA ierakstu; MX 10 203.0.113.25 nav derīgs, un stingri pasta serveri atteiksies piegādāt. Mērķim arī nevajadzētu būt CNAME.
TXT: brīvs teksts, galvenokārt pasta politika
TXT ieraksti glabā brīvas formas tekstu. Praksē tie nes pasta politiku (SPF, DKIM, DMARC) un domēna īpašumtiesību apliecinājumus.
example.com. 3600 IN TXT "v=spf1 mx a -all"
Klasiskā kļūda: pēdiņas. Vairums vadības paneļu pēdiņas pieliek paši, tāpēc, ielīmējot vērtību, kurā tās jau ir, tiek publicētas burtiskas pēdiņu rakstzīmes, un SPF validācija krīt. Otrs slazds ir garums: viena citētā virkne satur ne vairāk kā 255 rakstzīmes, tāpēc gara DKIM atslēga jāsadala vairākās citētās virknēs. Publicēto vērtību pārbaudi ar dig, nevis uzticies formai.
NS: kurš ir autoritatīvs zonai
NS ieraksti deklarē, kuri vārdu serveri ir autoritatīvi zonai.
example.com. 86400 IN NS ns1.cloudhosting.lv. example.com. 86400 IN NS ns2.cloudhosting.lv.
Klasiskā kļūda: rediģēt NS ierakstus zonā un gaidīt, ka pasaule sekos. Deleģēšana, ko rezolveri patiešām izmanto, atrodas reģistrā, un to maina caur reģistratūru. Ja abi nesakrīt, uzvar reģistrs, un tavi zonas labojumi paliek neredzami.
TTL: kešatmiņas mūžs un triks pirms migrācijas
TTL ir sekunžu skaits, cik ilgi rezolvers drīkst kešot atbildi. 3600 ir saprātīgs noklusējums vairumam ierakstu, un 86400 der ierakstiem, kas nekad nemainās. Zems TTL nozīmē ātrākas izmaiņas, bet vairāk vaicājumu uz vārdu serveriem.
Pirms jebkuras plānotas pārcelšanas izmanto standarta triku:
- Samazini maināmā ieraksta TTL līdz 300 vismaz vienu pilnu veco TTL pirms migrācijas. Diena iepriekš ir droši.
- Nogaidi veco TTL, lai katra kešatmiņa ir paņēmusi īso vērtību.
- Nomaini ierakstu. Sliktākais novecojušo datu logs tagad ir 5 minūtes, nevis stunda vai diena.
- Kad jaunais serveris apstiprināti strādā, atgriez TTL normālajā vērtībā.
Kā propagācija notiek patiesībā
Globālas izsūtīšanas nav. Kad tu maini ierakstu, nekas nekur netiek nosūtīts: autoritatīvie serveri vienkārši sāk dot jauno atbildi tiem, kas jautā. Katrs rezolvers, kas bija nokešojis veco atbildi, turpina to atdot, līdz beidzas viņa paša kopijas termiņš, un, tā kā katrs rezolvers ierakstu paņēma citā brīdī, kopijas arī beidzas citos brīžos. Tas ir viss izskaidrojums frāzei "man lapa strādā, bet tev ne" migrācijas laikā.
No tā izriet divas lietas. Attālās kešatmiņas nevar piespiest ierakstu aizmirst ātrāk, tieši tāpēc der TTL triks augstāk. Un NS maiņa ir vislēnākā no visām, jo TLD serveri deleģēšanu izsniedz ar savu TTL, parasti 24 līdz 48 stundas, neatkarīgi no tā, ko tu iestati zonā.
Katra ieraksta pārbaude ar dig
dig ir iekļauts katrā Linux distribūcijā un macOS. Karogs +short izdrukā tikai atbildi.
dig A example.com +short dig AAAA example.com +short dig CNAME www.example.com +short dig MX example.com +short dig TXT example.com +short dig NS example.com +short
Trīs varianti, ko vērts atcerēties:
# pajautā autoritatīvajam serverim pa tiešo, apejot visas kešatmiņas dig A example.com @ns1.cloudhosting.lv +short # palaid divreiz pret savu rezolveru un vēro, kā TTL skaita uz leju dig A example.com # izej visu deleģēšanas ķēdi no saknes serveriem dig A example.com +trace
Autoritatīvais vaicājums ir svarīgākais. Ja tas jau atdod jauno vērtību, tava izmaiņa ir dzīva, un viss pārējais ir kešatmiņu iztukšošanās. Parastais vaicājums otrajā kolonnā rāda atlikušo TTL, kas precīzi pasaka, kad tavs rezolvers ierakstu paņems no jauna.
Kur tu to visu praktiski rediģēsi
Katram domēnam vajag strādājošu zonu, pirms strādā jebkas cits, tāpēc ierastā secība ir: dabū domēnu, novirzi NS ierakstus uz savu DNS pakalpojumu, tad izveido A, MX un TXT ierakstus saviem servisiem. Ja reģistrē domēnu pie mums, DNS pārvaldība ir iekļauta un NS deleģēšana jau no sākuma ir iestatīta pareizi. Mūsu mājas lapu hostinga plānos A, MX un SPF ieraksti tiek izveidoti tavā vietā, kas novērš lielāko daļu augstāk aprakstīto kļūdu. Jebkurā gadījumā turi dig pa rokai: tas vienā sekundē atbild uz to, ko atbalsta pieteikums atbild stundā.
Turpini lasīt
Gatavs sākt?
Palaid dažās minūtēs vai aprunājies ar inženieri par piemērotāko risinājumu.