OPNsense Forum
International Forums => German - Deutsch => Topic started by: astromeier on June 06, 2020, 10:13:56 pm
-
Hallo allerseits!
Ich suche eine Möglichkeit (ähnlich dem Service Dyn DNS) ein eigenes Script zu triggern, wenn sich die externe WAN IP ändert.
Hintergrund:
Ich habe bei Lima-City eine Domain mit Mail, deren A-Record auf meine IP zeigt. Wenn diese sich ändert, soll das Script eine API bei Lima-City aufrufen und die neue IP setzen.
Das Script:
#!/bin/bash
ip=$(curl -s http://whatismyip.akamai.com/)
data={\"nameserver_record\":{\"name\":\"MeineDomain.de\",\"type\":\"A\",\"ttl\":\"1000\",\"content\":\"$ip\"}}
curl -X PATCH --header 'Content-Type: application/json' --header 'Accept: application/json' -u api:API-KEY --url https://www.lima-city.de/usercp/domains/Domain-ID/records/Record-ID -d $data
# response: {"status":"ok"}
Unter Services/Monit hab ich nichts passendes gefunden und das script per cron dauerfeuern lassen möchte ich nicht.
Und mit dem Service Plugin "newwanip" steigt ich noch nicht durch...
Hat jemand eine Idee oder einen Hinweis?
Dank vorab!
-
Hätte 3 Ideen...
1. Wenn dein DNS Server Aktualisierungen via ddclient zulässt, einen kleinen Linuxserver installieren und via ddclient die IP aktualisieren lassen
2. Ein Script schreiben, welches via curl die aktuelle IP in eine Datei schreibt wenn es diese noch nicht gibt. Wenn es die Datei bereits gibt, dann den Inhalt vergleichen und bei Änderung die Aktualisierung ausführen.
3. DNS Anbieter wechseln. Beispielsweise auf cloudflare.
Gesendet von meinem LG-H815 mit Tapatalk
-
Mit dem Web-Interface der Sense fand ich nix passendes,
... aber: auf der command line finde ich mit "pluginctl -c" den hook "newwanip"..
Wie gehts dann weiter?
-
Danke, SuperWinni2,
Mein Provider stellt ja eine API zur Verfügung und ich suche eine Funktion in der Sense...
Ansonsten kann ich ja auch was externes aufsetzen, wie du vorschlägst.
-
Alternative...
Du kannst doch den DNS Anbieter "custom" benutzen...
ist doch relativ easy....
Service Type: Custom
Client
Client
Benutzername und Passwort leer lassen
und bei Update URL dein kompletter Updatestring rein... Musst eben deine Variablen mit einbauen...
Dann sollte das bereits klappen?!?
-
Super, Winni2!!!
Das teste ich mal
... mal sehen wie da die neue IP-Adresse reinkriege.
Also "ip=$(curl -s http://whatismyip.akamai.com/)"
Hast Du einen Tip?
-
Kommt drauf an welche lösung du anstrebst.. .
Ich würde meine letzte (die Alternative) nehmen da hier alles bereits in der OPNsense integriert ist...
Einfach deinen einen Befehl in eine Zeile schreiben... dort wo deine neue IP hinein kommt musst du %IP% eingeben ( steht auch so in der hilfe) ;)
-
Moin, ich nutze Cloudflare als DNS Service. So kann ich über die api der Sense mit dem packet dyndns nutzen, läuft super bei mir. Und kostet nix
Gesendet von iPad mit Tapatalk Pro
-
Hallo Superwinni2, ich kriegs nicht hin - es hängt wohl daran, dass die API im json format arbeitet und ich den data-string nicht an die Update-URL anhängen kann..
Ich hatte die Hoffnung, dass diese als curl-Argument direkt an curl geht...
Meine Einstellungen:
x Enable verbose logging
username api
password API-Key (siehe meinen curl-aufruf im script)
update-url "https://www.lima-city.de/usercp/domains/Domain-ID/records/Record-ID -d {"nameserver_record":{"name":"domain.de","type":"A","ttl":"1000","content":"%IP%"}}"
result match "\{"status":"ok"\}" mit und ohne escape getestet.
-
Moin, ich nutze Cloudflare als DNS Service. So kann ich über die api der Sense mit dem packet dyndns nutzen, läuft super bei mir. Und kostet nix
Danke, ich suche halt für meinen Provider (mit domain mit mail) eine Lösung.
Ich denke, ich gehe noch mal tiefer ins Thema Legacy Plugin Hook "newwanip" rein...
-
weiter gehts:
Ein test ohne den result match test "result match "\{"status":"ok"\}" "
lief laut log der Sense erfolgreich durch und nun wird die gecachte IP in der Sense angezeigt......
Danke, SuperWinni2, scheint wohl soweit zu klappen.
Ich kann leider nicht nachprüfen, ob der A-record bei Lima-City wirklich aktualisiert wurde.
Ich warte mal den nächsten IP-Wechsel ab..
-
Okay dann ist ja gut...
Zum testen alternativ manuell mit nem curl Befehl kurz die IP ändern und dann nochmals nen force update machen
Gesendet von meinem LG-H815 mit Tapatalk