Dynamisches DNS

Aus xinux.net
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

/etc/dhcp/dhclient-exit-hooks

#!/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

Für DHCP

cp ddns.sh /etc/dhcp/dhclient-exit-hooks

ddns_manual.sh

#!/bin/bash
export reason=RENEW ./ddns.sh

Links