Avahi : comment attribuer plusieurs noms .local à la même IP ?

Dans certaines situations, vous souhaitez accéder au même ordinateur/IP en utilisant différents noms locaux.

Ceci est possible en utilisant le démon Avahi. Ce qui suit est écrit pour Ubuntu 18.04 Bionic Beaver.

Installer Avahi

apt install avahi-daemon avahi-utils

Avahi ajoute automatiquement le nom d'hôte de votre ordinateur au domaine .local. Par exemple, mon ordinateur s'appelle Morpheus.

Il sera donc accessible en utilisant morpheus.local.

image

A propos, si vous voulez accéder aux noms de domaine .local de Zeroconf / Bonjour / Avahi, vous devez simplement installer Les services d'impression Bonjour d'Apple pour Windows.

Rendre l'ordinateur accessible sous des noms de domaine .local supplémentaires

avahi-publish -a -R taxgod.local 192.168.1.2

Le drapeau -R est important : il vous permettra de publier plusieurs noms de domaine pour la même IP, car il ne publiera PAS d'entrée inverse avec l'adresse. (Sinon, les entrées inversées entreraient évidemment en collision, et donc avahi refuse de les publier).

L'indicateur -a enregistre une correspondance adresse/nom d'hôte.

Cette commande s'exécutera en avant-plan. Pendant son exécution, le domaine sera publié et vous pourrez accéder à votre ordinateur en utilisant ce nom de domaine supplémentaire.

Rendre la commande permanente et la mettre en arrière-plan

Idéalement, nous voulons que cela se produise au démarrage.

Créez un script de démarrage sous /root/avahi-add-names.sh :

#!/bin/bash

/usr/bin/avahi-publish -a -R taxgod.local 192.168.1.2 &
/usr/bin/avahi-publish -a -R picockpit.local 192.168.1.2 &
/usr/bin/avahi-publish -a -R papi.local 192.168.1.2 &

Ajustez le script avec les noms que vous voulez avoir.

Rendez-le exécutable

chmod +x /root/avahi-add-names.sh

Ajouter la commande en utilisant crontab.

crontab -e

@reboot /root/avahi-add-names.sh

Si vous voulez, vous pouvez tester que le script fonctionne en exécutant

nohup /root/avahi-add-names.sh

Au fait, lorsque vous redémarrez le démon avahi, vous devrez redémarrer ce scriptsinon vous obtiendrez les messages d'erreur suivants :

"Échec du client, sortie : La connexion au démon a échoué"

image

Vous pouvez voir ici que je peux envoyer un ping à plusieurs "alias" différents de noms de domaine locaux pour la même IP.

Conseil bonus

Si vous souhaitez publier des domaines .local pour d'autres ordinateurs/appareils qui ne sont pas en mesure de les publier eux-mêmes, vous pouvez également le faire avec Avahi.

nano /etc/avahi/hosts

Ajoutez une ligne pour chaque dispositif, par ex.

192.168.1.21 kyo3.local

Sauvegardez le fichier. Rechargez le démon avahi (la recharge peut ne pas être nécessaire).

service avahi-daemon restart