1

Существуют домены, которые зарегистрированы в DNS только с помощью SOA-записи, но без какой-либо A-записи (или любых других записей):

> dig wien.eu

; <<>> DiG 9.9.7-P3 <<>> wien.eu
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51354
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;wien.eu.           IN  A

;; AUTHORITY SECTION:
wien.eu.        1922    IN  SOA dns1.magwien.gv.at. hostmaster.magwien.gv.at. 2013082700 10800 3600 604800 86400

;; Query time: 134 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Sat Dec 02 19:45:19 CET 2017
;; MSG SIZE  rcvd: 101

То, что выглядит как запись A, это просто комментарий (начинается с точки с запятой). Даже если это не комментарий, он будет искажен (то есть не будет записью A), поскольку не содержит IP-адреса.

Большинство команд, которые обычно разрешают доменные имена (например, ping, telnet и другие) с использованием DNS, не будут работать, если не будет ничего, кроме записи SOA (и множества комментариев и пустых строк).

Также многие веб-браузеры не могут открыть веб-сайт на таком домене, предназначенном только для SOA, как http://wien.eu, среди них:

  • Гугл Хром
  • опера
  • Tor Browser

Но есть браузеры, которые откроют сайт, если вы введете такое доменное имя:

  • Сафари
  • Fire Fox

Я не смог протестировать Internet Explorer, потому что я использую Mac OS, и он там недоступен.
В случае данного примера они перенаправляют на другой URL (который, между прочим, выглядит значимым способом для разрешения данного URL, что заставляет меня считать, что это желаемое поведение).

Интересно, что делают Safari и Firefox, чтобы совершить это чудо, чего не могут сделать другие браузеры и инструменты.

Кстати, я подумал, что знаю, как работает DNS, и подумал, что это будет означать, что домены, предназначенные только для SOA, такие как wien.eu, не могут быть преобразованы в IP-адрес. Но Safari и Firefox доказывают обратное.

Приложение в ответ на ответ.

Все 5 браузеров, использованных в моем тесте, являются новейшими версиями, и все они работают на одном компьютере (iMac с Mac OS X 10.13 High Sierra). Таким образом, все они используют одну и ту же операционную систему, и они также используют один и тот же DNS-сервер.

И нет никакой AAAA-записи в файле зоны (как вы можете видеть в приведенном выше выводе dig ).

И если вы не можете в это поверить: попробуйте. Используйте любой инструмент, который вы хотите проверить настройки DNS wien.eu и попробуйте открыть его в двух разных браузерах, которые принадлежат к каждой из обеих групп, перечисленных выше.

2 ответа2

1

Я не верю, что другие браузеры смогут разрешить домен (если нет записей CNAME или AAAA, которые помогают DNS определить, куда идти дальше, и должны одинаково распознаваться любым браузером).

Некоторые возможные объяснения увиденного поведения -

  • Кэшированные результаты используются как запасной вариант, но доступны не во всех браузерах.
  • Различные серверы имен выбираются с различной информацией о файле зоны (возможно, разделение DNS или кэширование DNS)

  • Размещает записи файлов на некоторых компьютерах, но не на других, или поисковый домен, который может изменять резервные записи DNS.

  • Используйте, если кеширующий прокси - возможно, прозрачный прокси уровня ISP.

  • Немного, если предположение, но если есть записи AAAA, могут быть ограничения браузера и / или ОС, обрабатывающие ресурс IPV6.

Важно, чтобы веб-браузеры сами не выполняли DNS-разрешение, скорее, они совершали IS-вызов и позволяли IS обрабатывать его. AFAIK это правда, если все браузеры.

Обновленный ответ, специфичный для этого сервера, и в свете дополнительной информации

Одно из возможных объяснений в моем предыдущем ответе «Разные серверы имен выбираются с разной информацией о файле зоны (возможно, разделенное DNS или DNS-кэширование)» было правильным.

Выполнение одного и того же запроса дважды к одному и тому же авторизованному серверу имен привело к следующим результатам:

davidgo @ davidgo-Precision-T1500:~ $ dig @ dns1.wien.at wien.at

; <<>> DiG 9.10.3-P4-Ubuntu <<>> @dns1.wien.at wien.at
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47939
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 3
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;wien.at.           IN  A

;; ANSWER SECTION:
wien.at.        300 IN  A   217.149.229.10

;; AUTHORITY SECTION:
wien.at.        86400   IN  NS  ns11.govix.at.
wien.at.        86400   IN  NS  ns5.univie.ac.at.
wien.at.        86400   IN  NS  dns1.magwien.gv.at.
wien.at.        86400   IN  NS  dns1.wien.at.

;; ADDITIONAL SECTION:
dns1.magwien.gv.at. 86400   IN  A   217.149.228.128
dns1.wien.at.       86400   IN  A   217.149.229.128

;; Query time: 278 msec
;; SERVER: 217.149.229.128#53(217.149.229.128)
;; WHEN: Sun Dec 03 11:27:55 NZDT 2017
;; MSG SIZE  rcvd: 186

davidgo@davidgo-Precision-T1500:~$ dig @dns1.wien.at wien.eu -t any 

; <<>> DiG 9.10.3-P4-Ubuntu <<>> @dns1.wien.at wien.eu -t any
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56418
;; flags: qr aa rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 3
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;wien.eu.           IN  ANY

;; ANSWER SECTION:
wien.eu.        86400   IN  SOA dns1.magwien.gv.at. hostmaster.magwien.gv.at. 2013082700 10800 3600 604800 86400
wien.eu.        86400   IN  NS  dns1.magwien.gv.at.
wien.eu.        86400   IN  NS  dns1.wien.at.

;; ADDITIONAL SECTION:
dns1.magwien.gv.at. 86400   IN  A   217.149.228.128
dns1.wien.at.       86400   IN  A   217.149.229.128

;; Query time: 277 msec
;; SERVER: 217.149.229.128#53(217.149.229.128)
;; WHEN: Sun Dec 03 11:28:15 NZDT 2017
;; MSG SIZE  rcvd: 171

Это определенно означает, что есть проблема с настройкой серверов имен, но может быть любое количество вещей, включая проблемы со скрытым первичным сервером имен, проблемы с реальным сервером имен, проблемы с некоторыми членами кластера DNS или комбинацией перечисленного выше. , Стоит отметить, что возвращенные записи сервера имен также отличаются.

Я также считаю, что в ОС происходит некоторое кэширование на серверах имен, поскольку запрос, возвращающий результат, на самом деле возвращается в браузер довольно редко.

Также следует отметить, что ваш запрос на копирование не был выполнен для авторизированного сервера имен - и многие / большинство интернет-провайдеров используют балансированные пулы серверов имен за одним IP-адресом - каждый из которых может иметь различную информацию из-за кэширования зоны. Это очевидно, если вы выполняете запрос к (например) 8.8.8.8 - многократно гуглите "первичный" сервер имен и наблюдаете за скачком TTL, в зависимости от того, какой сервер имен вы получили. (TTL - это число между именем домена и "IN" в записи SOA, но оно существует во всех записях. Если бы был только один сервер, это число уменьшалось бы с течением времени, пока оно не прыгнет, когда достигнет 0 и выполнит новый поиск.

1

Я нашел ответ на свой вопрос, захватив IP-трафик.

В двух словах

Когда firefox не получил IP-адрес для wien.eu , он запросил (без каких-либо заказов от пользователя или кого-либо еще) вместо www.wien.eu (он присоединял префикс www. К исходному доменному имени). Поскольку для этого другого домена существует действительная A-запись, он получил ответ (то есть IP-адрес), отправил HTTP GET на этот сайт, получил 301 redirect , а затем загрузил перенаправленный ресурс.

Очевидно, что другие браузеры не делают этого трюка с www.


В деталях

Я использовал Kali Linux в качестве операционной системы, и там я запустил Firefox. Я использовал Wireshark для захвата трафика. Вот мои выводы в деталях:

Firefox запрашивает DNS-записи A и AAAA для wien.eu и wien.eu.localdomain и всегда получает ответ: « No such name . Он запрашивает шлюз по умолчанию, который, очевидно, также является DNS-сервером.

Firefox sends (time = 0.000):
1: Standard DNS-Query: wien.eu: type A, class IN
2: Standard DNS-Query: wien.eu: type AAAA, class IN

Firefox receives (time = 0.030):
3: (Response to 1): Standard DNS-Response: No such name A wien.eu
4: (Response to 2): Standard DNS-Response: No such name AAAA wien.eu

Firefox sends (time = 0.030):
5: Standard DNS-Query: wien.eu.localdomain: type A, class IN
6: Standard DNS-Query: wien.eu.localdomain: type AAAA, class IN

Firefox receives (time = 0.031):
7: (Response to 5): Standard DNS-Response: No such name A wien.eu.localdomain
8: (Response to 6): Standard DNS-Response: No such name AAAA wien.eu.localdomain

Затем Firefox повторяет одинаковые четыре запроса и получает точно такие же ответы (сообщения с 9 по 16, время = 0,047, 0,053, 0,054, 0,054)

И снова (сообщения с 17 по 24, время = 0,057 до. 0,083)

И снова (сообщения от 25 до 32, время = 0,083 до. 0,095)

В раунде № 5 Firefox добавляет префикс www. на доменное имя, и теперь он получает полезные ответы:

Firefox sends (time = 0.113):
33: Standard DNS-Query: www.wien.eu: type A, class IN
34: Standard DNS-Query: www.wien.eu: type AAAA, class IN

Firefox receives (time = 0.140):
35: (Response to 33): Standard DNS-Response: 
Answers:
www.wien.eu: type CNAME, class IN, cname redirector.magwien.gv.at
redirector.magwien.gv.at: type A class IN, addr 217.149.229.45
Authorative nameservers
magwien.gv.at: type NS, class IN, ns ns11.govix.at.
magwien.gv.at: type NS, class IN, ns dns1.magwien.gv.at.
magwien.gv.at: type NS, class IN, ns ns5.univie.ac.at.
magwien.gv.at: type NS, class IN, ns dns1.wien.at.
Additional records
ns11.govix.at: type A, class IN, addr 192.76.243.11
ns11.govix.at: type AAAA, class IN, addr 2001:67c:133c::11
dns1.wien.at: type A, class IN, addr 217.149.229.128
dns1.magwien.gv.at: type A, class IN, addr 217.149.228.128
ns5.univie.ac.at: type A, class IN, addr 193.171.255.77
ns5.univie.ac.at: type AAAA, class IN, addr 2001:628:453:4305::53

36: (Response to 34): Standard DNS-Response:
Answers:
www.wien.eu: type CNAME, class IN, cname redirector.magwien.gv.at
Authorative nameservers
magwien.gv.at: type SOA, class IN, mname dns1.magwien.gv.at.

Поскольку теперь Firefox имеет IP-адрес, он создает TCP-соединение с этим адресом (TCP-рукопожатие, сообщения # 37-39). Затем в сообщении № 40 он отправляет HTTP-запрос GET в этот пункт назначения:

GET / HTTP1.1
Host: www.wien.eu
(and some additional HTTP headers)

Сервер подтверждает этот запрос (сообщение № 41) и затем отправляет этот ответ в сообщении № 42:

301 Moved Permanently
Location: https://www.wien.gv.at/

В остальном понятно

  • Firefox отправляет TCP-подтверждение (сообщение № 43)
  • Firefox запрашивает разрешение DNS для www.wien.gv.at (A и AAAA, сообщения № 44 и № 45)
  • Firefox получает ответы (сообщения № 46 и № 47)
  • Затем Firefox запускает сложное диалоговое окно HTTPS, чтобы загрузить HTML-страницу, которую он затем отображает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .