web-dev-qa-db-fra.com

Comment résoudre les hôtes Link Local sans taper .local

Donc, dans Windows, si je tapais ping familyroom, cela me dirait que mon PC dans la salle familiale est 192.168.1.61. (Adresse assignée par DHCP qui ne figure dans aucun DNS)

Je lance une nouvelle installation d'Ubuntu 14.04 Trusty Tahr LTS, et si j'essaie de ping familyroom, j'obtiens un hôte inconnu. Mais si j'essaie de ping familyroom.local, je reçois une réponse avec succès à partir de cette même adresse IP.

je réalise maintenant que je ne peux utiliser que le nom de domaine complet, y compris le domaine .local, mais je suis paresseux et j'essaie de faire fonctionner Ubuntu 14.04 aussi bien que Windows 7 l’a fait pour moi. point difficile qui m'irrite.

En guise de test, j'ai ajouté un search local à un nouveau fichier / etc/resolvconf/resol.conf.d/tail et à resolvconf -u, mais le même résultat est obtenu. Je suppose que cela est dû au fait que "zeroconf" a résolu le nom du fichier .local, mais je ne sais pas où aller pour le réparer.


EDIT: Grâce à l’aide de @heemal, je réalise maintenant que la résolution de Link Local provient d’Avahi. Je me concentre donc sur la résolution du nom Avahi afin de rechercher des hôtes portant un nom abrégé ou de trouver une alternative à Avahi.

Dans le fichier /etc/nsswitch.conf, j'ai tenté d'ajouter la fonctionnalité MDNS complète d'Avahi pour les adresses DNS non trouvées.

Original hosts definition: `hosts: files mdns4_minimal [NOTFOUND=return] dns`
Unchanged results using: `hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4`

Maintenant, sous Windows, je vois que cette résolution Link Local vient via IPv6, et je me demande s’il existe des améliorations dans la spécification pour IPv6 qui pourraient m'aider ici.

2
Mike Tosh

Si vous ajoutez quelque chose sur /etc/resolvconf/resolve.conf.d/{head, base, tail}, alors la résolution du nom sera effectuée par resolvconf, pas par avahi-daemon et donc simplement ajouter search local ne résoudra pas le nom.

Pour que le search domain fonctionne, vous devez configurer un serveur DNS qui répondra à vos requêtes après que le nom de domaine ait été correctement ajouté par votre système.

Une autre option serait d’ajouter les entrées dans votre fichier /etc/hosts comme ceci:

familyroom    192.168.1.4

Maintenant, si vous ping familyroom vous obtiendrez la réponse.

De loin, l'option la plus paresseuse serait d'ajouter un alias comme celui-ci:

alias familyroom='ping familyroom.local'

dans le fichier ~/.bashrc. Maintenant, source ~/.bashrc et vous pouvez simplement taper familyroom pour envoyer la demande d'écho ICMP au périphérique.

1
heemayl