Bind9 SOA Serial Number automatisch aktualisieren
Heute werde ich euch zeigen wie ihr von einer Bind9 Domain die SOA (Start of Authority) Serial Number automatisch mit einem kleinem Python Script, bash Script und crontab ändern könnt.
1. – Benötigte Programme
Python
Cron
Bind9
nano
2. – Python script
Zu erst erstellen wir ein Verzeichnis für das Script.
mkdir /etc/soa-update
Jetzt werden wir mit nano das Script erstellen.
nano /etc/soa-update/soa-update.py
Im Texteditor schreiben wir jetzt folgendes (Text in eckigen Klammern bitte anpassen) :
import time sn = time.strftime('%Y%m%d00') soa = "$TTL 43200\n@ IN SOA [Haupt DNS Server (ns1.dns-server.de.)] [Admin E-Mail (admin.domain.de.)] (\n" + sn + "\n43200\n7200\n2419200\n86400\n);" print soa
3. – Shell Script
nano /etc/soa-update/soa-update.sh
In nano:
python /etc/soa-update/soa-update.py > /etc/bind/zones/soa-update.txt /etc/init.d/bind9 reload
In der Shell:
chmod +x /etc/soa-update/soa-update.sh
4. – crontab einrichten
crontab -e
Am ende der Datei folgendes eintragen:
0 0 1 * * /etc/soa-update/soa-update.sh
Das würde das Script am ersten jedes Monats laufen lassen. „0 0 * * *“ wäre jeden Tag.
5. – In Bind9 Zone intigrieren
Öffnet mit nano eure Zone Datei.
nano /etc/bind/zones/example.com.db
Entfernt von ganz oben den SOA Eintrag.
Jetzt müssen wir nur noch folgendes an stelle des SOA Eintrags einfügen
$INCLUDE soa-update.txt
So das war’s auch schon. 🙂