Modul 7 · 7.1
DNS a VPS-ére és reverse DNS
Modul 7: Domain, webszerver és https · Olvasási idő: 10 perc
Tanulási cél: A lecke után Ön képes lesz egy domaint vagy aldomaint A és AAAA rekordokkal a VPS-ére irányítani, helyesen beállítani a szervere reverse DNS-ét, és ellenőrizni, hogy a név és a cím oda-vissza egyezik.
Kulcsfogalmak: A rekord, AAAA rekord, TTL, szolgáltatásonkénti aldomain, www, a szerver hosztneve, PTR, reverse DNS, forward-confirmed reverse DNS (FCrDNS), CAA, elfelejtett IPv6
Az IP-címtől a névig
Eddig a szerverét az IP-címével érte el, például ssh anna@192.0.2.10. Egy webhelyhez, egy tanúsítványhoz (7.3. lecke) és a 9. modul szolgáltatásaihoz azonban névre van szüksége. Ezt az összerendelést a domainje DNS-ében hozza létre, annál a szolgáltatónál, ahol a DNS-ét kezelik: a regisztrátoránál, a tárhelyszolgáltatójánál vagy egy DNS-szolgáltatásnál. Ehhez magának a VPS-nek nincs köze; a szervere nem „tudja”, mely nevek mutatnak rá.
A DNS alapjait a DNS-tanfolyamon már megismerte. Egy VPS-hez elsősorban két rekordtípusra van szüksége:
| Rekord | Mit csinál | Példa |
|---|---|---|
| A | név és IPv4-cím összerendelése | web1.example.com. 3600 IN A 192.0.2.10 |
| AAAA | név és IPv6-cím összerendelése | web1.example.com. 3600 IN AAAA 2001:db8::10 |
A VPS-nek általában fix IPv4- és IPv6-címe is van. Ilyenkor állítsa be mindkét rekordot. Az IPv6-tal rendelkező látogatók (Hollandiában az otthoni internetkapcsolatok és a mobilhálózatok jelentős része) ekkor IPv6-ot használnak, a többiek IPv4-et.
Milyen neveket hozzon létre?
Egy szokásos felosztás egy webhelyet és néhány szolgáltatást futtató VPS esetén:
web1.example.com. A 192.0.2.10 ; maga a szerver (hosztnév, PTR)
web1.example.com. AAAA 2001:db8::10
example.com. A 192.0.2.10 ; a weboldal
example.com. AAAA 2001:db8::10
www.example.com. CNAME example.com.
status.example.com. CNAME web1.example.com. ; Uptime Kuma (9.4. lecke)
kluis.example.com. CNAME web1.example.com. ; Vaultwarden (9.4. lecke)Ebben néhány döntés is rejlik:
- A szervernek saját neve van (
web1), a webhelytől függetlenül. Ezt a nevet használja SSH-hoz, a reverse DNS-hez és a rendszer hosztneveként. Ha a webhely később egy másik szerverre költözik, aweb1továbbra is helyes marad. - Szolgáltatásonként egy aldomain. Az Uptime Kuma és a Vaultwarden külön-külön saját nevet kap. Ez sokkal egyszerűbb (és biztonságosabb), mint a szolgáltatásokat egy olyan útvonal alá tenni, mint a
example.com/kluis: minden szolgáltatás saját tanúsítványt kap, a sütik nem keverednek, és egy szolgáltatást később egyetlen rekord módosításával áthelyezhet egy másik szerverre. - CNAME az aldomainekhez. Egy
web1címre mutató CNAME azt jelenti, hogy ha a szerver IP-címe megváltozik, csak aweb1rekordjait kell módosítania. A csupasz domainnéven (example.com) nem lehet CNAME; oda A és AAAA rekordot állítson be.
Magának a rendszernek a hosztnevét a szerveren állítja be:
anna@web1:~$ sudo hostnamectl set-hostname web1.example.com
anna@web1:~$ hostname -f
web1.example.comEllenőrizze azt is, hogy a /etc/hosts nem tartalmaz-e régi nevet. A helyes hosztnév különösen akkor fontos, ha a szerver valaha leveleket küld.
TTL: milyen gyorsan ér el egy módosítás mindenhová
A TTL (time to live) azoknak a másodperceknek a száma, ameddig a resolverek megjegyezhetnek egy választ. 3600 esetén akár egy óráig is eltarthat, mire mindenki látja az új címet. Ha egy webhelyet a VPS-ére készül költöztetni, egy nappal előtte állítsa a TTL-t 300-ra (öt perc), várjon legalább a régi TTL idejéig, módosítsa a címet, majd utána állítsa ismét magasabbra a TTL-t. Ez pontosan a DNS-tanfolyam 6.3. leckéjében bemutatott lépéssor.
A dig segítségével (DNS-tanfolyam, 8.2. lecke) ellenőrizze, mit lát az internet többi része, és ne a saját számítógépét, hanem egy nyilvános resolvert kérdezzen:
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::10Windows alatt: Resolve-DnsName example.com -Type AAAA -Server 1.1.1.1.
A csapda: AAAA rekord működő IPv6 nélkül
Ha AAAA rekordot állít be, a szolgáltatásnak valóban elérhetőnek kell lennie IPv6-on. Gyakori hiba, hogy a rekord megvan, de a webszerver csak IPv4-en figyel, vagy a tűzfal nem engedi át az IPv6-ot (5.2. lecke), vagy az IPv6 nincs beállítva a VPS-en. Az IPv6-tal rendelkező látogatók ilyenkor lassú vagy nem betöltődő oldalt látnak, miközben Önnél „minden működik”, mert otthon talán csak IPv4-e van. A Let's Encrypt is először az IPv6-ot próbálja, ha van AAAA rekord (7.3. lecke). Ha a szervere IPv6-on más választ ad, mint IPv4-en, a tanúsítványkérés sikertelen lesz.
Ezért az IPv6-ot külön tesztelje, egy másik, IPv6-tal rendelkező gépről: curl -6 -I https://example.com. Ha Önnek nincs IPv6-a, használjon egy online tesztet, például az internet.nl oldalt.
Reverse DNS: a címtől vissza a névig
A reverse DNS egy IP-címet rendel vissza egy névhez, egy PTR rekord segítségével (DNS-tanfolyam, 4.6. lecke). Ez a rekord nem az Ön domainjének zónájában található, hanem az IP-cím zónájában, amely a címet kezelő szolgáltatóé: a VPS-szolgáltatójáé. A PTR-t tehát a szolgáltató paneljén állítja be, nem a saját DNS-ében.
Miért érdemes ezt megtenni?
- Levelezés. A fogadó levelezőszerverek elutasítják vagy gyanúsnak tekintik a megfelelő reverse DNS nélküli címről érkező leveleket. Ha a VPS-e leveleket küld (akár csak egy űrlap értesítését), ez kötelező (lásd az „E-mail rendben” tanfolyam 5.1. leckéjét).
- Felismerhetőség. A naplókban és a traceroute kimenetekben mások a
web1.example.comnevet látják a szolgáltató általános neve helyett. - Rendezettség. Egyes szolgáltatások és spamszűrők pontlevonással büntetik az általános vagy hiányzó PTR-rel rendelkező címeket.
A szabály a forward-confirmed reverse DNS (FCrDNS): a cím PTR-rel egy névre mutat, és ez a név A vagy AAAA rekorddal ugyanarra a címre mutat vissza. Tehát először hozza létre az A és AAAA rekordot, utána kérje a PTR-t, IPv4-re és IPv6-ra egyaránt.
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::10Ha mind a négy esetben a várt válasz érkezik, akkor az oda-vissza ellenőrzés rendben van.
CAA: ki állíthat ki tanúsítványt?
Egy CAA rekorddal (DNS-tanfolyam, 5.2. lecke) megadhatja, mely tanúsítványkiadók állíthatnak ki tanúsítványt a domainjére. Ha csak a Let's Encryptet használja:
example.com. 3600 IN CAA 0 issue "letsencrypt.org"Ez nem kötelező, de hasznos plusz védelmi réteg. Figyelem: ha már van egy másik kiadóra vonatkozó CAA rekordja, a Let's Encrypt elutasítja a kérését. Ezért először nézze meg a dig CAA example.com segítségével.
A gyakorlatban: reverse DNS a VPS-képernyőn
A WebOké-nál a reverse DNS-t a VPS-képernyőn, az „ISO és rDNS” fülön állítja be. Ha a domainje DNS-e is a WebOké-nál van, a panel azonnal létrehozhatja Önnek az A és AAAA rekordot; ha a DNS máshol van, először saját maga hozza létre ezeket a rekordokat, majd adja meg a teljes nevet. Más szolgáltatóknál ez az ügyfélpanelen „Reverse DNS”, „rDNS” vagy „PTR” néven szerepel; egyeseknél hibajegyben kell kérni. Mindenhol ugyanúgy működik: először a név a címre, aztán a cím a névre.
Összefoglalás
- Egy nevet a domainje DNS-ében egy A rekorddal (IPv4) és egy AAAA rekorddal (IPv6) rendel a VPS-éhez.
- Adjon a szervernek saját nevet (
web1.example.com), és minden szolgáltatásnak saját aldomaint; a szervernévre mutató CNAME-ek megkönnyítik a költözést. - Költözés előtt csökkentse a TTL-t, és a
digsegítségével ellenőrizze egy nyilvános resolvernél. - Ne állítson be AAAA rekordot, ha a szolgáltatás valójában nem működik IPv6-on; az IPv6-ot tesztelje külön.
- A PTR-t a VPS-szolgáltatójánál állítja be; oda-vissza egyeznie kell (FCrDNS), IPv4-re és IPv6-ra is.
Kvíz
Feladat
Feladat Z7.1: A szervere A, AAAA és PTR rekordja. Adjon a szerverének saját nevet (például web1.<jouwdomein>), hozza létre az A és AAAA rekordot, és állítsa be a reverse DNS-t a szolgáltatójánál. A feladatban adja meg a szervere nevét, az IPv4- és az IPv6-címét, valamint azt a nevet, amelyet a dig -x mindkét címre visszaadott. A program élőben lekérdezi az A és AAAA rekordokat, valamint mindkét cím PTR-jét, és ellenőrzi, hogy minden oda-vissza egyezik. Ha a szerverének nincs IPv6-a, csak az IPv4-et ellenőrzi, és ezt narancssárgával jelzi.
További olvasnivaló
- Levelek küldése a VPS-ről és a reverse DNS beállítása
- IPv6 a WebOké szolgáltatásaiban
- Ingyenes DNS-tanfolyam 3.1: A és AAAA rekordok
- Ingyenes DNS-tanfolyam 4.6: Reverse DNS (PTR): a számtól vissza a névig
- Ingyenes DNS-tanfolyam 5.2: CAA: ki adhat ki tanúsítványokat?
- Ingyenes DNS-tanfolyam 8.2: DNS lekérdezése dig és nslookup segítségével
