Zum Hauptinhalt springen

Anpassung der Time-To-Live (TTL) von DynamicDNS (os-ddclient) Konfiguration in OPNsense

·2 min
Inhaltsverzeichnis

Leider ist es in OPNsense nicht möglich, die TTL beim Dynamic DNS zu setzen, wodurch DNS-Einträge immer eine TTL von 10800 Sekunden oder 3 Stunden haben – was den Sinn von Dynamic DNS meiner Meinung nach komplett kaputt macht.

Im Folgenden stelle ich daher ein kurzes Skript vor, das die TTL bei Systemstart auf 300 Sekunden setzt. Das Skript fügt die Zeile ttl=300 \ nach jeder Zeile hinzu, die mit password= beginnt. Wir erstellen das Skript über Syshook mit der Startoption “Early”, wie hier beschrieben: OPNsense Documentation Autorun.

Skript #

Wir erstellen das Skript über Syshook mit der Startoption “Early” wie hier beschrieben OpnSense Documentation Autorun.

Das Unterverzeichnis nach rc.syshook.d gibt dabei an wann das Skript gestartet wird.

  • early: bedeutet, dass ein Skript vor dem Systemnetzwerkstart gestartet wird.

Anleitung #

  1. DDClient Backup:
cp /usr/local/etc/ddclient.conf /usr/local/etc/ddclient.conf.bak
  1. Skriptdatei erstellen:
vi /usr/local/etc/rc.syshook.d/early/50-add_ttl.sh
  1. Skriptinhalt einfügen:
#!/bin/sh

# Define the file path
DDCLIENT_CONF="/usr/local/etc/ddclient.conf"

# Use sed to insert 'ttl=300 \' followed by a newline after any line starting with 'password='
sed -i '' '/^password=/a\
ttl=300 \\\
' "$DDCLIENT_CONF"
  1. Skript ausführbar machen:
   chmod +x /usr/local/etc/rc.syshook.d/early/50-add_ttl.sh
  1. Skript testen:

Skript manuell ausführen, um sicherzustellen, dass es funktioniert:

     /usr/local/etc/rc.syshook.d/early/50-add_ttl.sh
  1. DDClient Config überprüfen:

Überprüfen, ob die Zeile ttl=300 \ richtig hinzugefügt wurde.

   vi /usr/local/etc/ddclient.conf

Dies ist ein sehr basic Skript, lasst gerne Verbesserungsvorschläge in den Kommentaren da! 😊