Catégories
Clients Clients Linux Non classé

MyIP via OPNsense API

Utilisateur de ddclient pour synchroniser mon IP publique avec un certain hébergeur, j’ai été contraint au début d’utiliser les services d’OpenDNS pour obtenir cette information. Cela génère un certain trafic en fonction des paramètres de ddclient, et ça permet aussi à ce fournisseur de collecter quelques données…

cmd='dig @resolver4.opendns.com myip.opendns.com +short'

Voici donc une astuce permettant de récupérer l’IP publique accrochée à la passerelle OPNsense, via l’API. Plus besoin de fournisseur externe!

Il faut au préalable créer un nouvel utilisateur dans OPNsense, et lui initialiser un token pour l’API.

Voici la commande curl une fois le token créé:

curl -s -k -u "<key>":"<secret>" https://192.168.0.254:4443/api/diagnostics/interface/getInterfaceStatistics | jq '.statistics | to_entries[] | select(.key|startswith("[wan]")).value.address' | grep -v '00:DE:AD:BE:EF:00' | grep -v ".*vmx1" | tr -d '"'

Le paquet jq est nécessaire pour le bon fonctionnement de la commande.
Il faut aussi personnaliser 5 éléments dans la commande:
<key>: la clef du token pour l’utilisateur de l’API
<secret>: le secret du token pour l’utilisateur de l’API
192.168.0.254:4443: IP et port de l’API OPNsene
00:DE:AD:BE:EF:00: la MAC Address de l’interface WAN d’OPNsense
vmx1: le nom de l’interface WAN d’OPNsense

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.