Как разрешить 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 на устройство.

Другие вопросы по тегам