Этот вопрос как много дубликата, но ни один из них не относится к моей установке. Это экранирует меня, поскольку моя установка относительно проста:
Установка
Я имею нет mdns
в моем /etc/nsswitch.conf
# cat /etc/nsswitch.conf | grep hosts
hosts: files dns
Мой /etc/hosts
является нетронутым от человечности.
У меня есть a dnsmasq
на порте 127.0.0.1:53, но это не столь важно, как я фигурировал с tcpdump
то, что никакие запросы на самом деле не отправляются в dnsmasq, когда разрешение на самом деле перестало работать.
Проблема, вероятно, заключается здесь:
# cat /etc/resolv.conf
nameserver 127.0.0.1
domain .
domain .
важно для меня, поскольку я не хочу искать www.localdomain
когда я делаю определение имен на www
.
Эта точная установка работает над другим компьютером.
Фактическая проблема
# host www
172.128.0.170
# ping www
ping: unknown host www
Я имею к, имел это:
с host
: Я надеваю пакеты lo
устройство на порте 53, прося разрешение к dnsmasq
. Таким образом, я вкладываю строку dnsmasq
файл журнала... и т.д...
с ping
: Я не надеваю ПАКЕТОВ lo
устройство, так очевидно, никакая строка в журнале dnsmasq.
Любое новое имя хоста без точек (сознательно не допустимое имя хоста) дало бы то же поведение (никакие пакеты, отправленные с ping
, пакеты, отправленные с host
). Конечно, разрешение перестало работать для них обоих.
Любое новое имя хоста с точками работает правильно.
Это работает над другим сервером, не имеющим то же libc6
(Ubuntu 15.10, libc6
2.21-0ubuntu4.1
). Это перестало работать на Ubuntu 12.04.1 с libc6
2.15-0ubuntu10.10
.
Я нашел решение сам так, чтобы ping
работы правильно снова. Но никакой ответ о том, почему это не работает над компьютером. Таким образом, я не приму это решение, но это могло бы помочь людям, имеющим ту же проблему:
поведение происходит из-за строки domain .
в /etc/resolv.conf
так или иначе не поведение то же между обеими из версии libc6
.
я могу достигнуть того, что я искал путем принуждения несуществующего локального поиска (который не очень изящен, но работы), путем замены domain .
search doesnotexist
.
Затем волшебно, все работы как ожидалось, но я получаю дополнительные побочные запросы DNS, отправляемые в dnsmasq
прежде (это пробует сначала к resolv www.doesnotexist
, который приводит к сбою, затем пробует www
, который существует.
Эта установка требовалась в моей конфигурации как www
и www.myactualdomainname
и указывающий на другой IP.