Dynamic DNS und pfSense - IP über custom URL aktualisieren
Ich möchte über meine pfSense (2.0.1) den A-Record einer Subdomain von mir automatisch mit der WAN-IP meines Heimnetzwerkes aktualisieren.
Dazu muß ein URL der folgenden Form
https://sub.domain.tld/dns.php?<mehrere parameter>?ip=<WAN-IP>?<weitere Parameter>
aufgerufen werden.
Mein Problem besteht darin, daß ich nicht weiß, wie ich pfSense dazu bringen kann, mit der vorhandenen WAN-IP den obigen URL zusammenzubauen und dann einmal täglich per cron aufzurufen.
Mit pfSense habe ich bisher lediglich über die GUI gearbeitet und ich verfüge bedauerlicherweise über so gut wie keine Linux-Kenntnisse.
Für Tipps, Hinweise und Hilfe bei der Lösung des Problems wäre ich daher sehr dankbar.
Gruß Jürgen
Dazu muß ein URL der folgenden Form
https://sub.domain.tld/dns.php?<mehrere parameter>?ip=<WAN-IP>?<weitere Parameter>
aufgerufen werden.
Mein Problem besteht darin, daß ich nicht weiß, wie ich pfSense dazu bringen kann, mit der vorhandenen WAN-IP den obigen URL zusammenzubauen und dann einmal täglich per cron aufzurufen.
Mit pfSense habe ich bisher lediglich über die GUI gearbeitet und ich verfüge bedauerlicherweise über so gut wie keine Linux-Kenntnisse.
Für Tipps, Hinweise und Hilfe bei der Lösung des Problems wäre ich daher sehr dankbar.
Gruß Jürgen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 207264
Url: https://administrator.de/contentid/207264
Ausgedruckt am: 22.11.2024 um 09:11 Uhr
7 Kommentare
Neuester Kommentar
Welchen DNS-Server setzt Du denn ein? Bzw. wie würdest Du im PHP-Skript das Update durchführen? Per nsupdate?
Ich frage, weil pfSense grundsätzlich in der Lage ist, als RFC2136-Client, d.h. als DynamicDNS-Client, zu arbeiten. Wenn Du beispielsweise bind einsetzt, dann könnte dieser als RFC2136-Gegenstelle agieren und Du bräuchtest das PHP-Skript nicht.
Ansonsten brauchst Du doch eigentlich nur mit pfSense und z.B. wget eine statische URL aufrufen, in der als einziger Parameter ein Passwort steht. Dynamisch müsste da nichts sein, weil das PHP-Skript ja die Adresse des anfragenden Routers als neue Zieladresse setzen kann, wenn das Passwort korrekt ist.
pfSense ruft nach jeder IP-Änderung auf dem roten Interface sowieso schon ein Skript auf, welches dann den RFC2136-Prozess startet. Da könntest Du u.U. auch Deine Befehle unterbringen.
Ich schätze aber, Du wirst etwas mit Deiner pfSense spielen müssen. Ich weiß gerade selbst nicht, wo die Skripte liegen und wie sie heißen, aber Google müsste zu diesem Thema eigentlich einiges finden.
Ich frage, weil pfSense grundsätzlich in der Lage ist, als RFC2136-Client, d.h. als DynamicDNS-Client, zu arbeiten. Wenn Du beispielsweise bind einsetzt, dann könnte dieser als RFC2136-Gegenstelle agieren und Du bräuchtest das PHP-Skript nicht.
Ansonsten brauchst Du doch eigentlich nur mit pfSense und z.B. wget eine statische URL aufrufen, in der als einziger Parameter ein Passwort steht. Dynamisch müsste da nichts sein, weil das PHP-Skript ja die Adresse des anfragenden Routers als neue Zieladresse setzen kann, wenn das Passwort korrekt ist.
pfSense ruft nach jeder IP-Änderung auf dem roten Interface sowieso schon ein Skript auf, welches dann den RFC2136-Prozess startet. Da könntest Du u.U. auch Deine Befehle unterbringen.
Ich schätze aber, Du wirst etwas mit Deiner pfSense spielen müssen. Ich weiß gerade selbst nicht, wo die Skripte liegen und wie sie heißen, aber Google müsste zu diesem Thema eigentlich einiges finden.
Am einfachsten wäre, das ins GUI zu integrieren.
In den beiden Dateien fürs Webinterface sind die Listen um einen eigenen Anbieter zu erweitern (je in zwei aufeinander folgenden Zeilen, entsprechend den voreingestellten):
/usr/local/www/services_dyndns.php
/usr/local/www/services_dyndns_edit.php
Die Anbieterkonfigurationen stehen in /etc/inc/dyndns.class
Ich möchte jetzt aus der Erinnerung kein Tutorial dazu verfassen. Aber wenn Du dich in die dyndns.class ein bisschen reindenktst und die curl_setopt-Zusammensetzung verschiedener Anbieter vergleichst, sollte das nicht mehr allzu schwer sein bzw. ein vorhandener Anbieter schon in etwa zu übernehmen sein.
Das Ganze überlebt ein Update nicht (was bei 2.0.1 zu empfehlen wäre).
Grüße
Richard
In den beiden Dateien fürs Webinterface sind die Listen um einen eigenen Anbieter zu erweitern (je in zwei aufeinander folgenden Zeilen, entsprechend den voreingestellten):
/usr/local/www/services_dyndns.php
/usr/local/www/services_dyndns_edit.php
Die Anbieterkonfigurationen stehen in /etc/inc/dyndns.class
Ich möchte jetzt aus der Erinnerung kein Tutorial dazu verfassen. Aber wenn Du dich in die dyndns.class ein bisschen reindenktst und die curl_setopt-Zusammensetzung verschiedener Anbieter vergleichst, sollte das nicht mehr allzu schwer sein bzw. ein vorhandener Anbieter schon in etwa zu übernehmen sein.
Das Ganze überlebt ein Update nicht (was bei 2.0.1 zu empfehlen wäre).
Grüße
Richard