Dynamisches DNS

Aus xinux.net
Version vom 6. August 2014, 07:15 Uhr von Jan (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „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…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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

Links