🌐 Connexion directe en Ethernet via ipv6 et mDns

| ~ 2 mins | 275 mots

Comment facilement créer un réseau rapidement entre 2 appareils connectés en direct en Ethernet ?

Lien local IPV6

L’ipv6 à une fonctionnalité d’ip de lien local, qui commence par fe80. Sous Gnu/linux. Cette fonctionnalité fonctionne par défault sans la moindre modification. Cela permet à chaque appareil d’avoir une IP par défault sans configuration.

Sous Gnome, il peut être nécessaire de modifier la méthode ivp6, afin d’avoir la méthode de lien locale fonctionnelle.

IPV6

La commande ip -br -c a devrait vous permettre rapidement de constater que l’adresse ip existe bel et bien sur chacune des machines.

Pour tester manuellement le lien local, on peut le faire comme ceci :

# ping de l'autre machine
ping6 -I enp0s31f6 fe80::bf48:d6d:de5a:5542
# exemple pour ssh
ssh user@fe80::bf48:d6d:de5a:5542%enp0s31f6

On remarque qu’il faut définir à chaque fois l’interface.

Accès facile via mDns

Le fonctionnement du lien local est intéressant, mais on remarque qu’il est nécessaire de définir chaque fois l’interface d’une part et d’autre part, il faut connaître les addresses IPs, ce qui n’est pas très pratique.

Une méthode pratique pour éviter de devoir apprendre l’adresse ip, on peut utiliser mDns (nommé aussi avahi/bonjour/zeroconf), qui fournit automatiquement des adresses en hostname.local pour les ordinateurs du réseau local.

Une modification est nécessaire sous Debian aujourd’hui (Debian 12) pour pouvoir faire fonctionner les addresses .local avec le lien-local ipv6 :

En replacement la ligne hosts, pour activer mdns en ipv6 en plus d’ipv4 :

hosts:          files mdns4_minimal [NOTFOUND=return] dns myhostname

par:

hosts:          files mdns_minimal [NOTFOUND=return] dns myhostname

Après ce changement et un redémarrage des machines, il suffit de faire :

# ping de l'autre machine
ping hostname.local
# exemple pour ssh
ssh hostname.local