Dynamisches DNS Server vorbereiten

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Keyerstellung mit openssl

  • echo -n "Streng-Geheim" | openssl sha256 -hmac "nonbase64key"
(stdin)= 52b66d1e81efce864c1a1a3c5435f9e44d0a0b76dd3fd1bb307f818284379264

Einbringen in die Zonendatei

  • Der Name der Keys ist wichtig!
key hack.lab {
    algorithm HMAC-SHA256;
    secret "52b66d1e81efce864c1a1a3c5435f9e44d0a0b76dd3fd1bb307f818284379264";
 };
zone "hack.lab" {
       type master;
       allow-update { key hack.lab ; };
       file "hack.lab";
};

Neustarten des Bind9

  • systemctl restart bind9

Weiteres Terminal aufmachen zur Kontrolle

  • tail -f /var/log/syslog | grep named

Im anderen Terminal

  • Wir erstellen ein Skript
  • vi /usr/local/bin/ddns
#!/bin/bash
TTL=1
SERVER="172.17.19.11"
HOSTNAME=$1
IP=$2
KEY="52b66d1e81efce864c1a1a3c5435f9e44d0a0b76dd3fd1bb307f818284379264"
KEYNAME="hack.lab"
HMAC=hmac-sha256:$KEYNAME:$KEY
date >> /var/log/ddns.log
nsupdate -y $HMAC  >> /var/log/ddns.log << EOF
server $SERVER
update delete $HOSTNAME A
update add $HOSTNAME $TTL A $IP
send
EOF

Test

  • ddns morti.hack.lab 192.168.66.11

Wir sehen im Log

Feb 16 15:27:36 server1 named[1679]: client @0x7feb3c63b960 172.17.19.11#48808/key hack.lab: updating zone 'hack.lab/IN': deleting rrset at 'morti.hack.lab' A
Feb 16 15:27:36 server1 named[1679]: client @0x7feb3c63b960 172.17.19.11#48808/key hack.lab: updating zone 'hack.lab/IN': adding an RR at 'morti.hack.lab' A 192.168.66.11