= Сообщение: 7783 из 10757 ===================================== RU.UNIX.BSD = От : Eugene Grosbein 2:5006/1 08 Jun 18 03:10:18 Кому : Dmitry Kolvakh 08 Jun 18 03:10:18 Тема : Re: unbound forward-first FGHI : area://RU.UNIX.BSD?msgid=grosbein.net+73bbfa8b На : area://RU.UNIX.BSD?msgid=2:5054/89.5+56c61bf2 = Кодировка сообщения определена как: IBM866 ================================= Ответ: area://RU.UNIX.BSD?msgid=2:5054/89.1+5b1a43a9 ============================================================================== 07 июня 2018, четверг, в 20:50 NOVT, Dmitry Kolvakh написал(а):
EG>> Если форвардер уверенно говорит, что такого имени нет (NXDOMAIN), EG>> никто не станет переспрашивать. Ты путаешь с ошибкой при EG>> ресловинге (SERVFAIL). DK> Hет, я не путаю. Hаписал к тому, что обращения идут к разным форвардерам, и DK> результат вечно в кэше не сидит.
Hет, путаешь. Запусти tcpdump -i lo0 -vvvns0 port 53 и увидишь, что на самом деле происходит.
DK>>> Это бы еще ладно, но вывод команды host был очень интересный: % DK>>> host xxx.xxxxx.ru xxx.xxxxx.ru has address 10.xx.xx.xx Host DK>>> xxx.xxxxx.ru not found: 3(NXDOMAIN) Почему два ответа, явно от DK>>> обоих форвардеров? EG>> Это host делает несколько запросов, изменением настроек unbound ты EG>> это не поправишь. DK> А host разве сам в dns лезет, не через прописанные в resolv.conf сервера? DK> (когда ему явно не укажешь сервер)
host отличается от "обычных" приложений тем, что он не использует системный ресолвер (как это делает ping, например). host содержит внутри себя собственный ресолвер и поэтому, например, не смотрит в /etc/hosts, в отличие от других утилит типа ping. Hо да, если ему не указать явно сервер, он настраивает собственный ресолвер ходить через серверы, прописанные в /etc/hosts.
Ещё раз указываю на то, что hosts сам делает *несколько* запросов к серверу и при сбое любого из них он добавляет локальный домен поиска из /etc/resolv.conf к имени запрашиваемого домена, если оно не заканчивается на точку. И он может выдать ту твою ошибку из-за возврата NXDOMAIN в ответ на запрос такого "дополненного" имени. Поэтому для чистоты эксперимента надо, во-первых, всегда добавлять точку, а во-вторых, запускать tcpdump, чтобы видеть, сколько и какие реально запросы уходят к серверу от hosts, будешь удивлён - если не читал внимательно man hosts, там тащем-то это всё расписано.
DK>>> Поэтому захотелось разобраться в принципе работы и настроить DK>>> максимально отказоустойчиво. EG>> Hастраивай авторитетные сервера без ошибок - будет тебе EG>> отказоустойчиво :-) DK> Авторитетный сервер может страдать от сетевых катаклизмов, и именно в этот DK> момент желательно чтоб мониторинг тщательно фиксировал детали катаклизма.
Ты всё ещё путаешь отсутствие ответа от авторитетного сервера или ответ SERVFAIL с NXDOMAIN. Перебор серверов не выполняется для NXDOMAIN, а тебе кажется, что выполняется из вывода hosts, потому что у тебя неверное представление о том, как hosts работает. tcpdump всё покажет.