Dynamisches DNS
Key erstellen mit dnssec-keygen
dnssec-keygen -a HMAC-MD5 -b 512 -n HOST example.com
es entsteht eine Datei Kexample.com.+xxx+xxxxx.private.
secret ""Private-key-format: v1.2 Algorithm: 157 (HMAC_MD5) Key: blablabla== Bits: AAA=
das was in Kexample.com.+xxx+xxxxx.private als Key steht, in die named.conf schreiben (dort, wo blablabla== steht)
key example.com { algorithm HMAC-MD5; secret "blablabla==" };
jetzt noch in die named.conf den zonen-eintrag ändern
zone example.com { type master; file "example.com"; allow-update { key example.com ; };
dann mit nsupdate von irgendwo updaten, z.B mit Skript
ddns.sh
#!/bin/bash case $reason in BOUND|RENEW) echo "Running ddns...$reason" >> /var/log/ddns.log TTL=1 SERVER="188.40.81.148" HOSTNAME="nagus.ferengie.com" KEY="KjtjG8fG1mggHopgGX7NhnBm5Pk2ZiyhPRLqSy7KFAwYR2MXbErKOzazRd+X7hCUn3SWPdw9mOJdaGFvIuV5ww==" KEYNAME="ferengie.com" #IP=$(ifconfig eth1 | grep "inet addr" | tr -s " " | cut -f 3 -d " " | cut -f 2 -d :) IP=$(ip addr ls | grep eth1 | grep inet | tr -s " " | cut -f 3 -d " " | cut -f 1 -d "/") date >> /var/log/ddns.log nsupdate -v >> /var/log/ddns.log << EOF key $KEYNAME $KEY server $SERVER update delete $HOSTNAME A update add $HOSTNAME $TTL A $IP send EOF cat >> /var/log/ddns.log << EOF key $KEYNAME $KEY server $SERVER update delete $HOSTNAME A update add $HOSTNAME $TTL A $IP send EOF #exit 0 ;; esac
ddns_manual.sh
- !/bin/bash
reason=RENEW ./ddns.sh