Attribuez une adresse locale de lien à Linux et utilisez DNS-SD / SSDP

Pour les appareils qui proposent automatiquement une adresse de liaison locale (IPv4) dans un environnement sans DHCP Comment utiliser APIPA sur Ubuntu / Debian et comment découvrir pour la configuration automatique

Préparation

Installation des packages requis

Si vous jouez simplement à APIPA, vous pouvez atteindre l'objectif avec avahi-autoipd

sudo apt-get install -y avahi-autoipd

Comme outils associés, avahi-daemon et avahi-utils, car il y a des cas où les noms et les services sont résolus. De plus, si vous souhaitez détecter avec SSDP, ajoutez gupnp-tools.

sudo apt-get install -y avahi-utils gupnp-tools

Réglage

Si vous souhaitez l'utiliser avec eth2, ajoutez ce qui suit à / etc / network / interfaces. Avec ce paramètre, APIPA est appliqué à l'interface eth2: avahi.

/etc/network/interfaces


auto eth2
iface eth2 inet manual
  up /usr/sbin/avahi-autoipd -D --force-bind eth2
  down /usr/sbin/avahi-autoipd -k eth2

Utilisation

Juste en haut de l'interface

sudo ifup eth2

Vérification

root@buster:~# ip -4 a
...
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 169.254.5.253/16 brd 169.254.255.255 scope link eth2:avahi
       valid_lft forever preferred_lft forever

Résoudre l'IP d'un nom connu

Si vous connaissez le nom, mDNS résout le nom dans le domaine .local. Par exemple, si vous voulez résoudre une machine appelée fs, ping fs.local

Essayez d'afficher la liste des services avec DNS-SD

avahi-browse -al

Quand vous l'exécutez, ça ressemble à ça

root@buster:~# avahi-browse -al
+   eth1 IPv4 amzn.dmgr:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:xxxxxxxxxx:##### _amzn-wplay._tcp     local
+   eth1 IPv4 fs - SSH                                      SSH Remote Terminal  local
+   eth1 IPv4 fs - SMB/CIFS                                 Microsoft Windows Network local
+   eth1 IPv4 fs - NFS - home                               Network File System  local
+   eth1 IPv4 Google-Home-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  _googlecast._tcp     local
+   eth1 IPv4 Chromecast-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx   _googlecast._tcp     local

Si vous ajoutez r à l'option, cela résoudra et affichera même l'adresse IP et le port.

Essayez d'afficher la liste des appareils avec SSDP

Spécifiez l'interface et utilisez gssdp-discover

gssdp-discover -i eth2:avahi

root@buster:~# gssdp-discover -i eth2:avahi --timeout=3
Using network interface eth2:avahi
Scanning for all resources
Showing "available" messages
resource available
  USN:      uuid:1a78e91b-d86d-11ea-8157-080027e8f737::upnp:rootdevice
  Location: http://169.254.86.237:1900/ddd.xml

Recommended Posts

Attribuez une adresse locale de lien à Linux et utilisez DNS-SD / SSDP
Débutants! Commandes et utilisation de base de Linux!
[Linux] [C / C ++] Comment obtenir la valeur d'adresse de retour d'une fonction et le nom de fonction de l'appelant
Une super introduction à Linux
Comment configurer et utiliser OMC Log Analytics - Version Linux-
[sed] Utilisez sed pour remplacer les caractères de tabulation sous macOS et Linux
Comment installer et utiliser Tesseract-OCR
Un mémorandum pour passer à Manjaro Linux
Comment utiliser .bash_profile et .bashrc
Comment installer et utiliser Graphviz
Connectez-vous à postgreSQL depuis Python et utilisez des procédures stockées dans une boucle.
Utilisez un raccourci pour activer ou désactiver le pavé tactile dans Linux Mint
Construisez Linux sur un environnement Windows. Étapes pour installer Laradock et migrer
[Linux] Comment subdiviser des fichiers et des dossiers
Comment diviser et enregistrer un DataFrame
Comment installer et utiliser pandas_datareader [Python]
[Linux] Comment utiliser la commande echo
Pour obtenir une adresse IP locale par programme
python: Comment utiliser les locals () et globals ()
Comment utiliser le zip Python et énumérer
Comment utiliser is et == en Python
Comment utiliser les pandas Timestamp et date_range
Flutter dans Docker - Comment créer et utiliser un environnement de développement Flutter dans un conteneur Docker
Sous Linux (Ubuntu), réglez le Trackpad et réglez la fonction sur un balayage à trois doigts
Outil pour insérer le nom du pays et le code du pays dans une partie de l'adresse IP