Модул 7 · 7.1
DNS към Вашия VPS и reverse DNS
Модул 7: Домейн, уеб сървър и https · Време за четене: 10 минути
Цел на урока: След този урок ще можете да насочите домейн или поддомейн към Вашия VPS с A и AAAA записи, да настроите правилно reverse DNS на Вашия сървър и да проверите, че името и адресът съвпадат в двете посоки.
Основни понятия: A запис, AAAA запис, TTL, поддомейн за всяка услуга, www, име на хоста на сървъра, PTR, reverse DNS, forward-confirmed reverse DNS (FCrDNS), CAA, забравен IPv6
От IP адрес към име
Досега сте достъпвали сървъра си чрез неговия IP адрес, например ssh anna@192.0.2.10. За уебсайт, сертификат (урок 7.3) и услугите от модул 9 Ви е необходимо име. Тази връзка създавате в DNS на Вашия домейн, при доставчика, който управлява DNS: Вашия регистратор, Вашата хостинг компания или DNS услуга. Самият VPS няма отношение към това; Вашият сървър „не знае“ кои имена сочат към него.
Основите на DNS научихте в курса за DNS. За VPS са Ви нужни най-вече два вида записи:
| Запис | Какво прави | Пример |
|---|---|---|
| A | име към IPv4 адрес | web1.example.com. 3600 IN A 192.0.2.10 |
| AAAA | име към IPv6 адрес | web1.example.com. 3600 IN AAAA 2001:db8::10 |
Вашият VPS обикновено има фиксиран IPv4 и IPv6 адрес. В такъв случай създайте и двата записа. Посетителите с IPv6 (в Нидерландия голяма част от домашните връзки и мобилните мрежи) тогава използват IPv6, а останалите IPv4.
Какви имена да създадете?
Често използвана схема за VPS с уебсайт и няколко услуги:
web1.example.com. A 192.0.2.10 ; самият сървър (име на хост, PTR)
web1.example.com. AAAA 2001:db8::10
example.com. A 192.0.2.10 ; уебсайтът
example.com. AAAA 2001:db8::10
www.example.com. CNAME example.com.
status.example.com. CNAME web1.example.com. ; Uptime Kuma (урок 9.4)
kluis.example.com. CNAME web1.example.com. ; Vaultwarden (урок 9.4)В нея има няколко решения:
- Сървърът има собствено име (
web1), отделно от уебсайта. Това име използвате за SSH, за reverse DNS и като име на хоста на системата. Ако по-късно уебсайтът се премести на друг сървър,web1продължава да е вярно. - Поддомейн за всяка услуга. Uptime Kuma и Vaultwarden получават всяка свое име. Това е много по-просто (и по-безопасно), отколкото да поставите услугите под път като
example.com/kluis: всяка услуга получава собствен сертификат, бисквитките не се смесват и по-късно можете да преместите услуга на друг сървър, като промените само един запис. - CNAME за поддомейните. CNAME към
web1означава: ако IP адресът на сървъра се промени, коригирате само записите наweb1. На голото име на домейна (example.com) не може да има CNAME; там поставяте A и AAAA.
Името на хоста на самата система задавате на сървъра:
anna@web1:~$ sudo hostnamectl set-hostname web1.example.com
anna@web1:~$ hostname -f
web1.example.comПроверете също, че /etc/hosts не съдържа старо име. Правилното име на хоста е особено важно, ако сървърът някога изпраща поща.
TTL: колко бързо една промяна стига навсякъде
TTL (time to live) е броят секунди, през които резолверите могат да помнят даден отговор. При 3600 може да мине до час, преди всички да видят новия адрес. Ако ще премествате уебсайт към Вашия VPS, намалете TTL до 300 (пет минути) един ден предварително, изчакайте поне старата TTL, променете адреса и след това отново увеличете TTL. Това е точно планът стъпка по стъпка от курса за DNS, урок 6.3.
С dig (курс за DNS, урок 8.2) проверете какво вижда останалата част от интернет, като питате публичен резолвер, а не собствения си компютър:
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::10В Windows: Resolve-DnsName example.com -Type AAAA -Server 1.1.1.1.
Капанът: AAAA запис без работещ IPv6
Ако създадете AAAA запис, услугата трябва наистина да е достъпна през IPv6. Често срещана грешка: записът съществува, но уеб сървърът слуша само на IPv4, или защитната стена не пропуска IPv6 (урок 5.2), или IPv6 не е настроен във VPS. Тогава посетителите с IPv6 виждат бавен или неработещ сайт, докато при Вас „всичко работи“, защото у дома може би имате само IPv4. Let's Encrypt също опитва първо IPv6, ако има AAAA запис (урок 7.3). Ако сървърът Ви дава различен отговор през IPv6 и през IPv4, заявката за сертификат се проваля.
Затова тествайте IPv6 отделно, от друга машина с IPv6: curl -6 -I https://example.com. Ако самите Вие нямате IPv6, използвайте онлайн тест като internet.nl.
Reverse DNS: от адрес обратно към име
Reverse DNS свързва IP адрес обратно с име чрез PTR запис (курс за DNS, урок 4.6). Този запис не е в зоната на Вашия домейн, а в зоната на IP адреса, която принадлежи на доставчика, управляващ адреса: Вашия VPS доставчик. Затова PTR задавате в панела на доставчика, а не в собствения си DNS.
Защо да го правите?
- Поща. Получаващите пощенски сървъри отказват или не се доверяват на поща от адрес без правилен reverse DNS. Ако Вашият VPS изпраща поща (дори само известие от формуляр), това е задължително (вижте курса „Подредена електронна поща“, урок 5.1).
- Разпознаваемост. В логовете и при traceroute другите виждат
web1.example.comвместо общо име на доставчика. - Подреденост. Някои услуги и спам филтри дават наказателни точки на адреси с общ или липсващ PTR.
Правилото е forward-confirmed reverse DNS (FCrDNS): адресът сочи с PTR към име, а това име сочи с A или AAAA обратно към същия адрес. Затова първо създайте A и AAAA записа, след това заявете PTR, и за IPv4, и за 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::10Ако и при четирите проверки получите очаквания отговор, всичко съвпада в двете посоки.
CAA: кой може да издава сертификати?
С CAA запис (курс за DNS, урок 5.2) посочвате кои издатели на сертификати могат да издават сертификати за Вашия домейн. Ако използвате само Let's Encrypt:
example.com. 3600 IN CAA 0 issue "letsencrypt.org"Това не е задължително, но е добър допълнителен слой. Внимание: ако вече имате CAA запис с друг издател, Let's Encrypt ще откаже заявката Ви. Затова първо проверете с dig CAA example.com.
На практика: reverse DNS в екрана на VPS
При WebOké задавате reverse DNS в екрана на VPS, в раздела „ISO и rDNS“. Ако DNS на Вашия домейн също е при WebOké, панелът може веднага да създаде A и AAAA записа вместо Вас; ако DNS е другаде, първо създайте тези записи сами и след това въведете пълното име. При други доставчици това се нарича „Reverse DNS“, „rDNS“ или „PTR“ в клиентския панел; при някои трябва да го заявите чрез тикет. Навсякъде работи по един и същ начин: първо името към адреса, след това адресът към името.
Обобщение
- Свързвате име с Вашия VPS чрез A запис (IPv4) и AAAA запис (IPv6) в DNS на Вашия домейн.
- Дайте на сървъра собствено име (
web1.example.com) и на всяка услуга собствен поддомейн; CNAME записи към името на сървъра улесняват преместването. - Намалете TTL преди преместване и проверете с
digпри публичен резолвер. - Не създавайте AAAA запис, ако услугата не работи наистина през IPv6; тествайте IPv6 отделно.
- PTR задавате при Вашия VPS доставчик; двете посоки трябва да съвпадат (FCrDNS), за IPv4 и за IPv6.
Тест (quiz)
Задача
Задача Z7.1: A, AAAA и PTR на Вашия сървър. Дайте на сървъра си собствено име (например web1.<jouwdomein>), създайте A и AAAA записа и задайте reverse DNS при Вашия доставчик. В задачата въведете името на сървъра, IPv4 и IPv6 адреса, както и името, което получихте с dig -x за двата адреса. Програмата проверява на живо A и AAAA записите и PTR на двата адреса и контролира, че всичко съвпада в двете посоки. Ако сървърът Ви няма IPv6, програмата проверява само IPv4 и съобщава това в оранжево.
Още за четене
- Изпращане на имейли от Вашия VPS и настройване на reverse DNS
- IPv6 в WebOké
- Безплатен DNS курс 3.1: A и AAAA записи
- Безплатен DNS курс 4.6: Reverse DNS (PTR): от номер обратно към име
- Безплатен DNS курс 5.2: CAA: кой има право да издава сертификати?
- Безплатен DNS курс 8.2: Проверка на DNS с dig и nslookup
- VPS: от първото влизане до сигурен сървър 4.1: A и AAAA запис в Моите домейни
- VPS: от първото влизане до сигурен сървър 4.2: Reverse DNS и изпращане на поща от Вашия VPS
- Безплатен курс Имейлът в ред: настройка и добро получаване 5.1: Reverse DNS и Вашият сървър за изпращане
