Вы уверены, что Ваши директивы разрешения (позволяют/отклоняют) в Вашем httpd.conf (или включает), корректны?
Этот вывод продолжается, так как dnstracer трассирует все пути (так что вы можете увидеть, например,
Итак, вы можете видеть, что требуется один запрос к серверу имён корня, затем один к gtld-серверам (серверу для .com зоны), и, наконец, один к серверу имён Google.
С помощью [115976]dig[115977] вывод намного более подробный (так что я сделаю много вырезаний):
Что ж, давайте выберем этот уровень отдельно.
"Предположим, что ваш настроенный сервер имён не имеет кэшированных результатов в своём распоряжении"[115987] -- во-первых, если он имеет [115988]нет[115989] кэшированных данных вообще, то он не может ничего разрешить. Для того, чтобы кэшировать резольвер, необходимо иметь записи NS и адрес (A, AAAA) для [115990].[115991] (корневая зона A.K.A.). Это корневые серверы имен, которые находятся в зоне [115992]root-servers.net.[115993]. Нет ничего волшебного ни в этой зоне, ни в этих DNS-серверах. Однако, эти данные часто предоставляются DNS resolver "вне диапазона", именно для подготовки кэша resolver. Авторитетным серверам имен эти данные не нужны, но разрешающим серверам имен нужны.
Также, "разрешающим" к чему? К какому-нибудь RR-типу этого имени? [115994]A[115995] RR? Или к чему-то еще? Какой класс ([115996]CH[115997]/Chaosnet, [115998]IN[115999]/Internet, ...)? Точный процесс будет другим, но общая идея останется прежней.
smb://username:password@192.168.0.1/ *or whatever your volume's IP is.*
Если мы можем предположить, что знаем, как найти корневые серверы имен, но не более того, и что под "разрешением" мы подразумеваем получение содержимого любых [116000]IN A[116001] RR, связанных с именем, то это становится намного практичнее.
Для разрешения DNS-имени, вы, в основном, разделяете имя на метки, а затем работаете справа налево. Не забудьте про [116002].[116003] в конце; на самом деле вы бы разрешили [116004]map.google.com.[116005], а не [116006]maps.google.com[116007]. Это оставляет нас с необходимостью разрешения (мы знаем это, но реализация DNS resolver вероятно не будет):
В основном, вы продолжаете работать до тех пор, пока не получите ответ с установленным флагом [116036]aa[116037] (авторитетный ответ). Этот ответ скажет вам, что вы просите, или что RR, который вы просите, не существует (либо [116038]NXDOMAIN[116039], либо [116040]NOERROR[116041] с записями данных нулевого ответа). Продолжайте искать ответы типа [116042]SERVFAIL[116043] (и отступите на один шаг и попробуйте другой сервер, если он у вас есть; если все именованные серверы вернутся [116044]SERVFAIL[116045], то провалите процесс разрешения имен и верните [116046]SERVFAIL[116047] клиенту самостоятельно).
Альтернативой запроса полного RRname с каждого сервера (что можно считать плохой практикой) является использование разделенного списка меток, который мы определили ранее, запрос серверов имен, предоставленных сервером далее к корню для [116048]IN NS[116049] и [116050]IN A[116051]/[116052]IN AAAA[116053] RRs для этой метки, и использование этих меток для дальнейшего процесса разрешения имен. Это лишь незначительно отличается на практике, и тот же самый процесс все еще применяется.
Вы можете смоделировать весь этот процесс, используя опцию [116054]+trace[116055] к утилите [116056]dig[116057], которая идет как часть BIND, или [116058]set debug[116059] в [116060]nslookup[116061]. Также стоит помнить, что некоторые RR-типы (в частности, [116062]NS[116063], [116064]MX[116065] и некоторые другие; кроме того, [116066]A6[116067] довольно хорошо использовался в течение некоторого времени, но был устаревшим) могут и делают ссылки на другие RR. В этом случае, возможно, вам понадобится икра [116068]еще один [116069] процесс разрешения имен, чтобы дать полный и полезный ответ вашему клиенту.[115566].