Как разрешить Link Local hosts без ввода.local
Так что в Windows, если я набрал ping familyroom
, это скажет мне, что мой компьютер в семейной комнате 192.168.1.61. (DHCP назначил адрес, которого нет ни в одном DNS)
У меня установлена новая версия Ubuntu 14.04 Trusty Tahr LTS, и если я попытаюсь ping familyroom
Получаю неизвестный хост. Но если я попытаюсь ping familyroom.local
Я получаю успешный ответ с того же IP-адреса.
теперь я понимаю, что могу просто использовать полное доменное имя, включая домен.local, но я ленивый, и я пытаюсь заставить Ubuntu 14.04 работать так же, как Windows 7 для меня, и это всего лишь еще один разборчивая вещь, которая раздражает меня.
В качестве теста я добавил search local
в новый файл /etc/resolvconf/resolve.conf.d/tail и resolvconf -u
, но я получаю тот же результат. Я предполагаю, что это связано с тем, что "zeroconf" выполняет разрешение имен для.local, но я не знаю, куда идти дальше, чтобы это исправить.
РЕДАКТИРОВАТЬ: Основываясь на помощи @heemal, я теперь понимаю, что разрешение Link Local исходит от Avahi, поэтому я сосредоточен на попытках получить разрешение имен Avahi для поиска хостов с короткими именами или найти альтернативу Avahi.
В файле /etc/nsswitch.conf я попытался добавить полную функциональность MDNS Avahi для DNS-адресов, не найденных.
Original hosts definition: `hosts: files mdns4_minimal [NOTFOUND=return] dns`
Unchanged results using: `hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4`
Теперь в Windows я вижу, что это разрешение Link Local приходит через IPv6, и мне интересно, есть ли улучшения в спецификации для IPv6, которые могли бы помочь мне здесь.
1 ответ
Если вы добавите что-то на /etc/resolvconf/resolve.conf.d/{head, base, tail}
тогда разрешение имени будет выполняться resolvconf
не avahi-daemon
следовательно, просто добавив search local
не разрешает имя.
Чтобы получить search domain
работая, вам нужно настроить DNS-сервер, который будет отвечать на ваши запросы после того, как доменное имя будет правильно добавлено вашей системой.
Другой вариант - добавить записи в ваш /etc/hosts
файл как:
familyroom 192.168.1.4
Теперь, если вы ping familyroom
вы получите ответ.
Безусловно, самый ленивый вариант - добавить псевдоним:
alias familyroom='ping familyroom.local'
в ~/.bashrc
файл. Сейчас source ~/.bashrc
и вы можете просто напечатать familyroom
отправить эхо-запрос ICMP на устройство.