Si j'utilise Ubuntu ou Linux Mint (les deux seules versions que j'ai essayées et que je connais fonctionnent à coup sûr), je peux exécuter quelque chose comme ceci:
wayne@myhost$ ssh [email protected]
Et le nom est résolu automatiquement par quelle que soit l'IP d'un autre hôte sur mon réseau local.
J'ai décidé de commencer à me diversifier dans d'autres distributions, et j'ai Arch en cours d'exécution sur mon ordinateur portable - mais si j'essaie d'utiliser la commande précédente, j'obtiens Could not resolve hostname otherhost.local: Name or service not known
Que faut-il pour que ce type de résolution de nom automatique (?) Ait lieu?
networking
arch-linux
hostname
Wayne Werner
la source
la source
avahi
ainsi quenss-mdns
- pour plus de détails, jetez un œil au wiki deRéponses:
La propre réponse de Wayne est maintenant assez ancienne. Arch est depuis passé à l'utilisation de systemd au lieu de scripts init. La page Avahi du wiki Arch a été mise à jour et contient des détails sur la raison pour laquelle les étapes ci-dessous sont nécessaires. En bref: Avahi est un outil zeroconf, ce qui signifie qu'il n'a pas besoin de configuration pour fonctionner une fois installé sur toutes les machines de votre réseau local, mais vous devez configurer le reste de votre logiciel afin qu'il demande à Avahi les informations.
Exécutez-les en tant que root, ou ajoutez-les le
sudo
cas échéant dans un terminal et remplacez-lesnano
par l'éditeur de votre choix.pacman -S avahi nss-mdns
Installe le démon des services Avahi et le résolveur DNS multidiffusion.nano /etc/nsswitch.conf
Ce fichier indique à la bibliothèque C comment obtenir des informations sur le service de noms.hosts: files dns myhostname
enhosts: files mdns_minimal [NOTFOUND=return] dns myhostname
, enregistrez et quittez.systemctl start avahi-daemon
Démarre le service Avahi manuellement car nous sommes déjà démarrés. Recherchez les erreurs)systemctl enable avahi-daemon
Active le service Avahi au démarrage.Je viens d'effectuer ces étapes sur un ordinateur portable Arch et il n'était pas nécessaire de redémarrer d'autres services ou l'interface wifi pour que mes autres machines le découvrent en quelques secondes et que mon ordinateur portable découvre leurs services.
Comme je ne peux pas encore commenter la réponse de ggg, je voudrais simplement souligner ici qu'il n'est pas nécessaire de le faire dans un script de démarrage - c'est à cela que sert l'activation du service dans systemd. Faites-le une fois et oubliez-le.
la source
systemctl enable avahi-daemon --now
. Il démarre et active le service immédiatement au lieu d'attendre le prochain démarrage.Grâce au pointeur vers l' article Arch Wiki sur Avahi d'Ulrich Dangel, voici ce que j'ai fait:
$ sudo pacman -S avahi nss-mdns
/etc/rc.d/avahi-daemon start
à la fin derc.local
dhcpcd
,/etc/dhcpcd.conf
j'ai commenté lanoipv4ll
ligne.$ sudo /usr/sbin/avahi-autopid -D wlan0
. Comme je n'aime pas redémarrer, je ne sais pas si l'étape 3 était nécessaire./etc/nsswitch.conf
j'ai mis la ligne à lirehosts: files mdns4_minimal dns mdns4
.$ sudo /etc/rc.d/dbus restart
pour redémarrer dbus.Après cela, faire
ssh [email protected]
simplement a fonctionné.la source
Je ne pense pas que nous ayons besoin de
avahi-daemon
courir pour l'utiliser.local
. Voici ce que j'ai pour mon script de démarrage. C'est beaucoup plus simple que la méthode d'Arch Wiki.la source