LINUX.ORG.RU
ФорумAdmin

DNS и имена .local

 


1

1

У меня в локальной сети есть DNS-сервер и другие компьютеры. У них названия типа: host1.mydomain.local

Если в /etc/resolv.conf дописать: search mydomain.local то всё работает.

А если эту строчку убрать, то host1.mydomain.local не резолвится. Именно не host1, а полное имя host1.mydomain.local.

Почему?

Типа .local это специальные имена для mDNS, и их вообще не надо резолвить с помощью обычного DNS? А прямое указание в /etc/resolv.conf позволяет это преодолеть? Как-то не логично.

★★★★★
Ответ на: комментарий от deep-purple

Это я прочитал уже. Но всё равно не понял :)

Никакого упоминания mdns в моём /etc/nsswitch.conf нет. И почему явное указание search в /etc/resolv.conf помогает справиться — не понятно тоже.

anarquista ★★★★★
() автор топика
Ответ на: комментарий от anarquista

.локал это точно такая же обычная dns-зона. Для разрешения доменных имён по неполному доменному имени нужно прописывать DNS суффикс.

Как по-твоему твой локальный днс клиент будет понимать что при обращении по короткому доменному имени (имени Хоста) ему нужно разрешать полное доменное имя с суффиксом?

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 3)
Ответ на: комментарий от anarquista

Попробуй с точкой на конце.

Ну и правильная настройка с прописыванием днс суффикса.

Тут влияние может оказывать и systemd-resolver. Он привязывает конкретные днс к конкретным интерфейсам.

В Линукс вообще днс работает немного по другому, чем в Виндоус.

В Виндоус днс клиент будет опрашивать все днс серверы, если первый сказал, что не знает доменное имя - опросит всех.

В Линукс, если первый днс сказал - не знаю, то это окончательный ответ.

Что у тебя указано в директиве nameserver?

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 2)

Домен .test чем не нравится? никаких конфликтов и браузеры переходят по ним без поиска.

yandrey ★★
()
Ответ на: комментарий от anarquista

вроде было у меня что-то подобное, но я не помню ((

targitaj ★★★★★
()

Кажется, да, дело именно в systemd-resolved. Именно ему не нравятся *.local имена и по умолчанию он их не ищет, если явно не указать search-директиву.

anarquista ★★★★★
() автор топика

в nsswitch.conf можно порядок резолва открутить, если там есть строчка с конструкцией вида «mdns4_minimal [NOTFOUND=return]», то достаточно вот эту конструкцию выпилить и всё будет резолвится по DNS.

Да, неправославно и не по RFC, но сетей с .local я много повидал, в том числе и тех, где смена домена - не вариант.

Pinkbyte ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.