DNS. Как это работает: различия между версиями
Cless (обсуждение | вклад) (Новая страница: «= Как работает система DNS? = https://wiki.diphost.ru/NS-server Когда вы набираете в браузере доменное имя...») |
Cless (обсуждение | вклад) |
||
| Строка 284: | Строка 284: | ||
...</blockquote>- видим что на корневом NS-сервере зоны .RU действительно есть А-запись с информацией об IP NS-сервера ns1.reg.ru. | ...</blockquote>- видим что на корневом NS-сервере зоны .RU действительно есть А-запись с информацией об IP NS-сервера ns1.reg.ru. | ||
[[Категория:DNS]] | [[Категория:DNS]] | ||
Версия 13:41, 16 июля 2023
Как работает система DNS?
https://wiki.diphost.ru/NS-server
Когда вы набираете в браузере доменное имя MYDOMAIN.COM, ваш компьютер для первым делом обращается к DNS-серверу, указанному в настройках вашего соединения с интернетом.
DNS-сервер нужен для того, чтобы преобразовать запрошенное доменное имя в IP-адрес.
DNS-сервер обращается к одному из корневых NS-серверов интернета, IP-АДРЕСА КОТОРЫХ ЖЕСТКО ЗАДАНЫ И ИЗВЕСТНЫ.
В ответ КОРНЕВОЙ СЕРВЕР ОТДАЕТ DNS-СЕРВЕРУ СПИСОК IP-АДРЕСОВ СЕРВЕРОВ, НА КОТОРЫХ РАСПОЛОЖЕНА ЗОНА .COM
Выглядит этот список примерно так:
a.gtld-servers.net. 160060 IN A 192.5.6.30
a.gtld-servers.net. 160060 IN AAAA 2001:503:a83e::2:30
b.gtld-servers.net. 160060 IN A 192.33.14.30
b.gtld-servers.net. 160060 IN AAAA 2001:503:231d::2:30
c.gtld-servers.net. 160060 IN A 192.26.92.30
d.gtld-servers.net. 160060 IN A 192.31.80.30
e.gtld-servers.net. 160060 IN A 192.12.94.30
f.gtld-servers.net. 160060 IN A 192.35.51.30
g.gtld-servers.net. 160060 IN A 192.42.93.30
h.gtld-servers.net. 160060 IN A 192.54.112.30
i.gtld-servers.net. 160060 IN A 192.43.172.30
j.gtld-servers.net. 160060 IN A 192.48.79.30
k.gtld-servers.net. 160060 IN A 192.52.178.30
l.gtld-servers.net. 160060 IN A 192.41.162.30
m.gtld-servers.net. 160060 IN A 192.55.83.30
DNS-сервер обращается к одному из NS-серверов зоны .COM (Допустим, a.gtld-servers.net - 192.5.6.30) и запрашивает список NS-серверов для домена MYDOMAIN.COM. Эти NS-сервера называются NS-серверами, на которые делегирован домен.
ns1.mydomain.com. 172800 IN A 66.96.142.148
ns2.mydomain.com. 172800 IN A 65.254.254.172
ns3.mydomain.com. 172800 IN A 66.96.142.146
ns4.mydomain.com. 172800 IN A 65.254.254.170
После чего обращается к одному из полученного списка NS-серверов и запрашивает уже информацию относительно домена MYDOMAIN.COM. Пример ответа:
mydomain.com. 3248 IN MX 0 mail.mydomain.com.
mydomain.com. 86048 IN TXT "v=spf1 ip4:38.113.1.0/24 ip4:38.113.20.0/24 ip4:12.45.243.128/26 ip4:65.254.224.0/19 ?all"
mydomain.com. 2208 IN SOA ns1.mydomain.com. hostmaster.mydomain.com. 1335787408 16384 2048 1048576 2560
mydomain.com. 248 IN A 65.254.242.180
mydomain.com. 1448 IN NS ns3.mydomain.com.
mydomain.com. 1448 IN NS ns2.mydomain.com.
mydomain.com. 1448 IN NS ns4.mydomain.com.
mydomain.com. 1448 IN NS ns1.mydomain.com.
- AUTHORITY SECTION
mydomain.com. 1448 IN NS ns3.mydomain.com.
mydomain.com. 1448 IN NS ns4.mydomain.com.
mydomain.com. 1448 IN NS ns2.mydomain.com.
mydomain.com. 1448 IN NS ns1.mydomain.com.
- ADDITIONAL SECTION
ns1.mydomain.com. 167564 IN A 66.96.142.148
ns2.mydomain.com. 167564 IN A 65.254.254.172
ns3.mydomain.com. 126551 IN A 66.96.142.146
ns4.mydomain.com. 126551 IN A 65.254.254.170
DNS-сервер отдает вашему компьютеру полученную информацию и он обращается к нужному IP-адресу.
Что такое делегирование домена
Делегированием домена называется передача корневым сервером зоны права размещения домена на определенном NS-сервере.
Для примера, корневые сервера ДЕЛЕГИРУЮТ зону .COM на серверы, которые будут за нее отвечать.
Серверы зоны .COM ДЕЛЕГИРУЮТ домен MYDOMAIN.COM на NS-сервера хостинг-провайдера или на какие-либо другие.
Само делегирование означает, что на корневом сервере для домена присутствуют записи IN NS, указывающие на NS-сервер, на котором размещена информация по домену.
Обратите внимание, ДЕЛЕГИРОВАНИЕ ПРЕДПОЛАГАЕТ НАЛИЧИЕ ТОЛЬКО ЗАПИСЕЙ IN NS и никаких других.
Поэтапно выясним IP адрес нашего домена через цепочку ручных запросов
Запрашиваем корневой сервер на предмет получения IP-адреса домена cless.pro
Он не знает такой домен, но в секции ;; AUTHORITY SECTION: говорит нам какой NS сервер отвечает за домен pro.
dig cless.pro @d.root-servers.net
...
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.3 <<>> cless.pro @d.root-servers.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11641
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 6, ADDITIONAL: 13
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1450
;; QUESTION SECTION:
;cless.pro. IN A
;; AUTHORITY SECTION:
pro. 172800 IN NS a0.pro.afilias-nst.info.
pro. 172800 IN NS a2.pro.afilias-nst.info.
pro. 172800 IN NS b0.pro.afilias-nst.org.
pro. 172800 IN NS b2.pro.afilias-nst.org.
pro. 172800 IN NS c0.pro.afilias-nst.info.
pro. 172800 IN NS d0.pro.afilias-nst.org.
;; ADDITIONAL SECTION:
a0.pro.afilias-nst.info. 172800 IN A 199.182.0.1
a2.pro.afilias-nst.info. 172800 IN A 199.182.32.1
b0.pro.afilias-nst.org. 172800 IN A 199.182.1.1
b2.pro.afilias-nst.org. 172800 IN A 199.182.40.1
c0.pro.afilias-nst.info. 172800 IN A 199.182.16.1
d0.pro.afilias-nst.org. 172800 IN A 199.182.17.1
a0.pro.afilias-nst.info. 172800 IN AAAA 2001:500:c0::1
a2.pro.afilias-nst.info. 172800 IN AAAA 2001:500:e0::1
b0.pro.afilias-nst.org. 172800 IN AAAA 2001:500:c1::1
b2.pro.afilias-nst.org. 172800 IN AAAA 2001:500:e1::1
c0.pro.afilias-nst.info. 172800 IN AAAA 2001:500:d0::1
d0.pro.afilias-nst.org. 172800 IN AAAA 2001:500:d1::1
;; Query time: 73 msec
;; SERVER: 199.7.91.13#53(199.7.91.13)
;; WHEN: Sun Feb 20 19:17:11 MSK 2022
;; MSG SIZE rcvd: 443
...
Запрашиваем информацию о cless.pro у a0.pro.afilias-nst.info
Он не знает такой домен, но в секции ;; AUTHORITY SECTION: говорит нам какой NS сервер отвечает за домен cless.pro.
dig cless.pro @a0.pro.afilias-nst.info
...
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.3 <<>> cless.pro @a0.pro.afilias-nst.info
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53591
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;cless.pro. IN A
;; AUTHORITY SECTION:
cless.pro. 3600 IN NS ns1.reg.ru.
cless.pro. 3600 IN NS ns2.reg.ru.
;; Query time: 317 msec
;; SERVER: 199.182.0.1#53(199.182.0.1)
;; WHEN: Sun Feb 20 19:18:21 MSK 2022
;; MSG SIZE rcvd: 80
...
Запрашиваем информацию о cless.pro у ns1.reg.ru
Он резолвит домен в IP в секции ;; ANSWER SECTION:
dig cless.pro @ns1.reg.ru
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.3 <<>> cless.pro @ns1.reg.ru
- global options
- +cmd
- Got answer
- ->>HEADER<<- opcode
- QUERY, status
- NOERROR, id: 39778
- flags
- qr aa rd; QUERY
- 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
- WARNING
- recursion requested but not available
- OPT PSEUDOSECTION
- EDNS
- version: 0, flags:; udp: 1680
- QUESTION SECTION
- cless.pro. IN A
- ANSWER SECTION
cless.pro. 86400 IN A 78.132.136.195
- Query time
- 29 msec
- SERVER
- 176.99.13.13#53(176.99.13.13)
- WHEN
- Sun Feb 20 19
- 18:38 MSK 2022
- MSG SIZE rcvd
- 54
Дочерние NS-серверы (Child Nameservers)
!!! ВАЖНЫЙ МОМЕНТ
Иногда NS-серверы для домена находятся на его поддоменах.
НАПРИМЕР
Домен cless.pro делегирован на NS-серверы ns1.reg.ru, ns2.reg.ru
Как же это возможно? Ведь чтобы обратиться к этим NS-серверам нужно узнать их ip-адрес.
Все просто - корневой сервер зоны .RU при таком варианте требует указания не только доменных имен NS-серверов, но и их ip-адресов в А-записях.
Поэтому корневой DNS-сервер зоны .RU знает, куда обратиться за подробностями.
НАПРИМЕР
- домен cless.pro делегирован на NS-серверы ns1.reg.ru, ns2.reg.ru, которые находятся в зоне .RU
- запрашиваем информацию о NS-серверах, обслуживающих зону .RU (!!! НЕ ЗОНУ "PRO." !!!), видим что её обслуживает корневой NS-сервер a.dns.ripn.net.
dig ru. @d.root-servers.net
...
;; AUTHORITY SECTION:
ru. 172800 IN NS a.dns.ripn.net.
...
- запрашиваем информацию о ns1.reg.ru. у корневого NS-сервера a.dns.ripn.net.
dig ns1.reg.ru. @a.dns.ripn.net.
...
- AUTHORITY SECTION
REG.RU. 345600 IN NS ns2.reg.RU.
REG.RU. 345600 IN NS ns1.reg.RU.
- ADDITIONAL SECTION
ns1.reg.ru. 345600 IN A 194.58.117.15
...
- видим что на корневом NS-сервере зоны .RU действительно есть А-запись с информацией об IP NS-сервера ns1.reg.ru.