Moodul 7 · 7.1
DNS sinu VPS-ile ja pöörd-DNS
Moodul 7: Domeen, veebiserver ja https · Lugemisaeg: 10 minutit
Õpieesmärk: Pärast seda õppetundi oskad A- ja AAAA-kirjetega suunata domeeni või alamdomeeni oma VPS-ile, seadistada õigesti oma serveri pöörd-DNS-i (reverse DNS) ning kontrollida, et nimi ja aadress klapivad mõlemas suunas.
Põhimõisted: A-kirje, AAAA-kirje, TTL, alamdomeen iga teenuse jaoks, www, serveri hostinimi, PTR, pöörd-DNS (reverse DNS), edasisuunas kinnitatud pöörd-DNS (FCrDNS), CAA, unustatud IPv6
IP-aadressist nimeni
Siiani oled oma serverit kasutanud IP-aadressi kaudu, näiteks ssh anna@192.0.2.10. Veebisaidi, sertifikaadi (õppetund 7.3) ja mooduli 9 teenuste jaoks on sul vaja nime. Selle seose lood oma domeeni DNS-is, seal, kus su DNS-i hallatakse: registripidaja, majutusettevõtte või DNS-teenuse juures. VPS-il endal pole sellega midagi pistmist; su server ei "tea", millised nimed temale osutavad.
DNS-i põhitõed õppisid DNS-i kursusel. VPS-i jaoks on sul vaja peamiselt kahte kirjet:
| Kirje | Mis | Näide |
|---|---|---|
| A | nimi IPv4-aadressiks | web1.example.com. 3600 IN A 192.0.2.10 |
| AAAA | nimi IPv6-aadressiks | web1.example.com. 3600 IN AAAA 2001:db8::10 |
Sinu VPS-il on tavaliselt püsiv IPv4- ja ka IPv6-aadress. Sel juhul lisa mõlemad kirjed. IPv6-ga külastajad (Hollandis suur osa koduühendustest ja mobiilsidevõrkudest) kasutavad siis IPv6-t, ülejäänud IPv4-t.
Milliseid nimesid luua?
Levinud jaotus VPS-i jaoks, millel on veebisait ja mõned teenused:
web1.example.com. A 192.0.2.10 ; server ise (hostinimi, PTR)
web1.example.com. AAAA 2001:db8::10
example.com. A 192.0.2.10 ; veebisait
example.com. AAAA 2001:db8::10
www.example.com. CNAME example.com.
status.example.com. CNAME web1.example.com. ; Uptime Kuma (õppetund 9.4)
kluis.example.com. CNAME web1.example.com. ; Vaultwarden (õppetund 9.4)Siin on tehtud mõned valikud:
- Serveril on oma nimi (
web1), veebisaidist eraldi. Seda nime kasutad SSH jaoks, pöörd-DNS-i jaoks ja süsteemi hostinimena. Kui veebisait kolib hiljem teise serverisse, jääbweb1ikka õigeks. - Iga teenus saab oma alamdomeeni. Uptime Kuma ja Vaultwarden saavad kumbki oma nime. See on palju lihtsam (ja turvalisem) kui panna teenused tee alla nagu
example.com/kluis: iga teenus saab oma sertifikaadi, küpsised ei lähe segamini ja teenuse saad hiljem teise serverisse viia, muutes ainult ühte kirjet. - CNAME alamdomeenide jaoks. CNAME, mis osutab nimele
web1, tähendab: kui serveri IP-aadress muutub, muudad ainult nimeweb1kirjeid. Paljal domeeninimel (example.com) ei tohi CNAME-i olla; sinna lisad A- ja AAAA-kirje.
Süsteemi enda hostinime määrad serveris:
anna@web1:~$ sudo hostnamectl set-hostname web1.example.com
anna@web1:~$ hostname -f
web1.example.comKontrolli ka, et failis /etc/hosts poleks vana nime. Õige hostinimi on eriti oluline siis, kui server kunagi e-kirju saadab.
TTL: kui kiiresti muudatus kõikjale jõuab
TTL (time to live) on sekundite arv, mille jooksul resolverid tohivad vastust meeles pidada. Väärtuse 3600 korral võib kuluda kuni tund, enne kui kõik uut aadressi näevad. Kui kolid veebisaidi oma VPS-ile, sea TTL päev varem väärtusele 300 (viis minutit), oota vähemalt vana TTL ära, muuda aadressi ja tõsta TTL pärast seda uuesti kõrgemaks. See on täpselt DNS-i kursuse õppetunni 6.3 samm-sammuline plaan.
Kontrolli käsuga dig (DNS-i kursuse õppetund 8.2), mida ülejäänud internet näeb, ja küsi avalikult resolverilt, mitte oma arvutilt:
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::10Windowsis: Resolve-DnsName example.com -Type AAAA -Server 1.1.1.1.
Lõks: AAAA-kirje ilma töötava IPv6-ta
Kui lisad AAAA-kirje, peab teenus olema ka päriselt IPv6 kaudu kättesaadav. Sage viga: kirje on olemas, kuid veebiserver kuulab ainult IPv4-l, tulemüür ei lase IPv6-t läbi (õppetund 5.2) või IPv6 pole VPS-is seadistatud. IPv6-ga külastajad näevad siis aeglast või mittetöötavat saiti, samal ajal kui sinu jaoks "kõik töötab", sest kodus on sul ehk ainult IPv4. Ka Let's Encrypt proovib AAAA-kirje olemasolul esmalt IPv6-t (õppetund 7.3). Kui su server annab IPv6 kaudu teistsuguse vastuse kui IPv4 kaudu, ebaõnnestub sertifikaadi taotlus.
Seepärast testi IPv6-t eraldi, mõnest teisest IPv6-ga masinast: curl -6 -I https://example.com. Kui sul endal IPv6-t pole, kasuta veebitesti, näiteks internet.nl.
Pöörd-DNS: aadressist tagasi nimeni
Pöörd-DNS (reverse DNS) seob IP-aadressi tagasi nimega, kasutades PTR-kirjet (DNS-i kursuse õppetund 4.6). See kirje ei asu sinu domeeni tsoonis, vaid IP-aadressi tsoonis, mis kuulub aadressi haldajale: sinu VPS-i pakkujale. PTR-i määrad seega pakkuja paneelis, mitte oma DNS-is.
Miks seda teha?
- E-post. Vastuvõtvad meiliserverid keelduvad kirjadest või ei usalda neid, kui saatja aadressil pole korralikku pöörd-DNS-i. Kui su VPS saadab e-kirju (kasvõi vormi teavitusi), on see kohustuslik (vaata kursust „E-post korda”, õppetund 5.1).
- Äratuntavus. Logides ja traceroute’is näevad teised nime
web1.example.com, mitte pakkuja üldist nime. - Korrektsus. Mõned teenused ja rämpspostifiltrid annavad miinuspunkte aadressidele, mille PTR on üldine või puudub.
Reegel on edasisuunas kinnitatud pöörd-DNS (FCrDNS): aadress osutab PTR-iga nimele ja see nimi osutab A- või AAAA-kirjega tagasi samale aadressile. Seega loo esmalt A- ja AAAA-kirje, seejärel taotle PTR, nii IPv4 kui ka IPv6 jaoks.
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::10Kui kõigil neljal juhul tuleb oodatud vastus, klapib kõik mõlemas suunas.
CAA: kes tohib sertifikaate väljastada?
CAA-kirjega (DNS-i kursuse õppetund 5.2) määrad, millised sertifikaadiväljastajad tohivad sinu domeenile sertifikaate väljastada. Kui kasutad ainult Let's Encrypti:
example.com. 3600 IN CAA 0 issue "letsencrypt.org"See pole kohustuslik, kuid on hea lisakaitse. Tähelepanu: kui sul on juba CAA-kirje mõne teise väljastajaga, keeldub Let's Encrypt sinu taotlusest. Seepärast kontrolli enne käsuga dig CAA example.com.
Praktikas: pöörd-DNS VPS-i vaates
WebOké juures määrad pöörd-DNS-i VPS-i vaates, vahekaardil "ISO ja rDNS". Kui ka su domeeni DNS on WebOké juures, saab paneel A- ja AAAA-kirje kohe sinu eest luua; kui DNS asub mujal, loo need kirjed esmalt ise ja sisesta seejärel täielik nimi. Teiste pakkujate kliendipaneelis on selle nimi "Reverse DNS", "rDNS" või "PTR"; mõne puhul tuleb seda taotleda pöördumise (ticket) kaudu. Igal pool töötab see samamoodi: esmalt nimi aadressiks, seejärel aadress nimeks.
Kokkuvõte
- Nime seod oma VPS-iga A-kirje (IPv4) ja AAAA-kirje (IPv6) abil oma domeeni DNS-is.
- Anna serverile oma nimi (
web1.example.com) ja igale teenusele oma alamdomeen; serveri nimele osutavad CNAME-id teevad kolimise lihtsaks. - Langeta TTL enne kolimist ja kontrolli käsuga
digavaliku resolveri kaudu. - Ära lisa AAAA-kirjet, kui teenus IPv6 kaudu päriselt ei tööta; testi IPv6-t eraldi.
- PTR-i määrad oma VPS-i pakkuja juures; mõlemas suunas peab klappima (FCrDNS), nii IPv4 kui ka IPv6 puhul.
Test (quiz)
Ülesanne
Ülesanne Z7.1: Sinu serveri A, AAAA ja PTR. Anna oma serverile oma nimi (näiteks web1.<jouwdomein>), loo A- ja AAAA-kirje ning määra pöörd-DNS oma pakkuja juures. Sisesta ülesandes oma serveri nimi, IPv4- ja IPv6-aadress ning nimi, mille said käsuga dig -x mõlema aadressi kohta. Programm pärib A- ja AAAA-kirjed ning mõlema aadressi PTR-i reaalajas ja kontrollib, et kõik klapib mõlemas suunas. Kui su serveril pole IPv6-t, kontrollib see ainult IPv4-t ja annab sellest oranžilt teada.
Loe edasi
- E-kirjade saatmine oma VPS-ist ja reverse DNS-i seadistamine
- IPv6 WebOkés
- Tasuta DNS-kursus 3.1: A ja AAAA-kirjed
- Tasuta DNS-kursus 4.6: Reverse DNS (PTR): numbrilt tagasi nimeni
- Tasuta DNS-kursus 5.2: CAA: kes tohib väljastada sertifikaate?
- Tasuta DNS-kursus 8.2: DNS päringute tegemine dig ja nslookup abil
