Dynamisches DNS
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…“)
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