Modul 7 · 7.1
DNS prema Vašem VPS-u i reverse DNS
Modul 7: Domena, web-poslužitelj i https · Vrijeme čitanja: 10 minuta
Cilj učenja: Nakon ove lekcije moći ćete usmjeriti domenu ili poddomenu na svoj VPS pomoću A i AAAA zapisa, ispravno postaviti reverse DNS svog poslužitelja i provjeriti da se ime i adresa podudaraju u oba smjera.
Ključni pojmovi: A zapis, AAAA zapis, TTL, poddomena po usluzi, www, ime računala (hostname) poslužitelja, PTR, reverse DNS, forward-confirmed reverse DNS (FCrDNS), CAA, zaboravljeni IPv6
Od IP adrese do imena
Dosad ste svom poslužitelju pristupali preko njegove IP adrese, na primjer ssh anna@192.0.2.10. Za web-stranicu, certifikat (lekcija 7.3) i usluge iz modula 9 potrebno Vam je ime. Tu vezu stvarate u DNS-u svoje domene, kod onoga tko upravlja Vašim DNS-om: Vašeg registrara, Vaše hosting tvrtke ili DNS usluge. Sam VPS s time nema nikakve veze; Vaš poslužitelj "ne zna" koja imena pokazuju na njega.
Osnove DNS-a naučili ste u tečaju o DNS-u. Za VPS su Vam uglavnom potrebna dva zapisa:
| Zapis | Što | Primjer |
|---|---|---|
| A | ime prema IPv4 adresi | web1.example.com. 3600 IN A 192.0.2.10 |
| AAAA | ime prema IPv6 adresi | web1.example.com. 3600 IN AAAA 2001:db8::10 |
Vaš VPS obično ima fiksnu IPv4 i IPv6 adresu. U tom slučaju postavite oba zapisa. Posjetitelji s IPv6 (u Nizozemskoj velik dio kućnih priključaka i mobilnih mreža) tada koriste IPv6, a ostali IPv4.
Koja imena izrađujete?
Uobičajen raspored za VPS s web-stranicom i nekoliko usluga:
web1.example.com. A 192.0.2.10 ; sam poslužitelj (naziv hosta, PTR)
web1.example.com. AAAA 2001:db8::10
example.com. A 192.0.2.10 ; web-stranica
example.com. AAAA 2001:db8::10
www.example.com. CNAME example.com.
status.example.com. CNAME web1.example.com. ; Uptime Kuma (lekcija 9.4)
kluis.example.com. CNAME web1.example.com. ; Vaultwarden (lekcija 9.4)U tome je sadržano nekoliko odluka:
- Poslužitelj ima vlastito ime (
web1), odvojeno od web-stranice. To ime koristite za SSH, za reverse DNS i kao ime računala sustava. Ako se web-stranica kasnije preseli na drugi poslužitelj,web1i dalje ostaje ispravno. - Poddomena po usluzi. Uptime Kuma i Vaultwarden dobivaju svaki svoje ime. To je mnogo jednostavnije (i sigurnije) nego postaviti usluge pod putanju poput
example.com/kluis: svaka usluga dobiva vlastiti certifikat, kolačići se ne miješaju, a uslugu kasnije možete premjestiti na drugi poslužitelj promjenom jednog zapisa. - CNAME za poddomene. CNAME prema
web1znači: ako se IP adresa poslužitelja promijeni, mijenjate samo zapise zaweb1. Na samom nazivu domene (example.com) ne smije biti CNAME; ondje postavljate A i AAAA.
Ime računala samog sustava postavljate na poslužitelju:
anna@web1:~$ sudo hostnamectl set-hostname web1.example.com
anna@web1:~$ hostname -f
web1.example.comProvjerite i da /etc/hosts ne sadrži staro ime. Ispravno ime računala posebno je važno ako poslužitelj ikada šalje e-poštu.
TTL: koliko brzo je promjena vidljiva posvuda
TTL (time to live) je broj sekundi tijekom kojih resolveri smiju pamtiti odgovor. Uz 3600 može proći do sat vremena prije nego što svi vide novu adresu. Ako selite web-stranicu na svoj VPS, dan ranije postavite TTL na 300 (pet minuta), pričekajte barem koliko iznosi stari TTL, promijenite adresu, a zatim ponovno povećajte TTL. To je upravo plan korak po korak iz tečaja o DNS-u, lekcija 6.3.
Pomoću dig (tečaj o DNS-u, lekcija 8.2) provjerite što vidi ostatak interneta i pitajte javni resolver umjesto vlastitog računala:
anna@laptop:~$ dig +short A example.com @1.1.1.1
192.0.2.10
anna@laptop:~$ dig +short AAAA example.com @1.1.1.1
2001:db8::10Na Windowsu: Resolve-DnsName example.com -Type AAAA -Server 1.1.1.1.
Zamka: AAAA zapis bez ispravnog IPv6
Ako postavite AAAA zapis, usluga mora stvarno biti dostupna preko IPv6. Česta pogreška: zapis postoji, ali web-poslužitelj sluša samo na IPv4, ili vatrozid ne propušta IPv6 (lekcija 5.2), ili IPv6 nije postavljen na VPS-u. Posjetitelji s IPv6 tada vide sporu ili neuspjelu stranicu, dok Vama "sve radi" jer kod kuće možda imate samo IPv4. I Let's Encrypt najprije pokušava IPv6 ako postoji AAAA zapis (lekcija 7.3). Ako Vaš poslužitelj preko IPv6 daje drukčiji odgovor nego preko IPv4, zahtjev za certifikat neće uspjeti.
Zato IPv6 testirajte zasebno, s drugog računala koje ima IPv6: curl -6 -I https://example.com. Ako sami nemate IPv6, upotrijebite online test kao što je internet.nl.
Reverse DNS: od adrese natrag do imena
Reverse DNS povezuje IP adresu natrag s imenom, pomoću PTR zapisa (tečaj o DNS-u, lekcija 4.6). Taj zapis nije u zoni Vaše domene, nego u zoni IP adrese, a ona pripada onome tko upravlja adresom: Vašem pružatelju VPS-a. PTR stoga postavljate na upravljačkoj ploči pružatelja, a ne u vlastitom DNS-u.
Zašto biste to učinili?
- E-pošta. Poslužitelji primatelja odbijaju poštu ili joj ne vjeruju ako dolazi s adrese bez ispravnog reverse DNS-a. Ako Vaš VPS šalje e-poštu (makar samo obavijest iz obrasca), ovo je obavezno (pogledajte tečaj E-pošta u redu, lekcija 5.1).
- Prepoznatljivost. U zapisnicima i traceroute ispisima drugi vide
web1.example.comumjesto generičkog imena pružatelja. - Urednost. Neke usluge i filtri neželjene pošte dodjeljuju negativne bodove adresama s generičkim PTR zapisom ili bez njega.
Pravilo je forward-confirmed reverse DNS (FCrDNS): adresa PTR zapisom pokazuje na ime, a to ime A ili AAAA zapisom ponovno pokazuje na istu adresu. Dakle, najprije izradite A i AAAA zapis, a zatim zatražite PTR, i za IPv4 i za IPv6.
anna@laptop:~$ dig +short -x 192.0.2.10
web1.example.com.
anna@laptop:~$ dig +short A web1.example.com
192.0.2.10
anna@laptop:~$ dig +short -x 2001:db8::10
web1.example.com.
anna@laptop:~$ dig +short AAAA web1.example.com
2001:db8::10Ako za sva četiri dobijete očekivani odgovor, sve se podudara u oba smjera.
CAA: tko smije izdavati certifikate?
CAA zapisom (tečaj o DNS-u, lekcija 5.2) određujete koji izdavatelji certifikata smiju izdavati certifikate za Vašu domenu. Ako koristite samo Let's Encrypt:
example.com. 3600 IN CAA 0 issue "letsencrypt.org"To nije obavezno, ali je uredan dodatni sloj zaštite. Pazite: ako već imate CAA zapis s drugim izdavateljem, Let's Encrypt će odbiti Vaš zahtjev. Zato najprije provjerite pomoću dig CAA example.com.
U praksi: reverse DNS na zaslonu VPS-a
U WebOkéu reverse DNS postavljate na zaslonu VPS-a, na kartici "ISO i rDNS". Ako je DNS Vaše domene također kod WebOkéa, ploča može odmah izraditi A i AAAA zapis za Vas; ako je DNS negdje drugdje, najprije sami izradite te zapise, a zatim upišite puno ime. Kod drugih pružatelja to se na korisničkoj ploči zove "Reverse DNS", "rDNS" ili "PTR"; kod nekih ga morate zatražiti putem tiketa. Posvuda funkcionira na isti način: najprije ime prema adresi, zatim adresa prema imenu.
Sažetak
- Ime povezujete sa svojim VPS-om pomoću A zapisa (IPv4) i AAAA zapisa (IPv6), u DNS-u svoje domene.
- Dajte poslužitelju vlastito ime (
web1.example.com), a svakoj usluzi vlastitu poddomenu; CNAME zapisi prema imenu poslužitelja olakšavaju preseljenje. - Smanjite TTL prije preseljenja i provjerite pomoću
digkod javnog resolvera. - Ne postavljajte AAAA zapis ako usluga stvarno ne radi preko IPv6; IPv6 testirajte zasebno.
- PTR postavljate kod svog pružatelja VPS-a; oba smjera moraju se podudarati (FCrDNS), za IPv4 i za IPv6.
Kviz
Zadatak
Zadatak Z7.1: A, AAAA i PTR Vašeg poslužitelja. Dajte svom poslužitelju vlastito ime (na primjer web1.<jouwdomein>), izradite A i AAAA zapis i postavite reverse DNS kod svog pružatelja. U zadatku upišite ime svog poslužitelja, IPv4 i IPv6 adresu te ime koje ste za obje adrese dobili pomoću dig -x. Program uživo dohvaća A i AAAA zapise te PTR obiju adresa i provjerava da se sve podudara u oba smjera. Ako Vaš poslužitelj nema IPv6, provjerava samo IPv4 i to javlja narančastom bojom.
