Dynamisches DNS Server vorbereiten

Aus xinux.net
Zur Navigation springen Zur Suche springen

Keyerstellung mit openssl

  • echo -n "Da ist nun wirklich ein saugeheimer Schlüssel" | openssl sha256 -hmac "nonbase64key" | awk '{print $2}'
dd7f58c83f5459f5559b62c07c2406fecb41f75e9fe6d112e590fe002de90569

Einbringen in die Konfigdatei

vi /etc/bind/named.conf.local

  • Der Name der Keys ist wichtig!
key itx.key {
    algorithm HMAC-SHA256;
    secret "dd7f58c83f5459f5559b62c07c2406fecb41f75e9fe6d112e590fe002de90569";
 };
zone "hack.lab" {
       type master;
       allow-update { key itx.key ; };
       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
  • Alles was fettgedruckt ist, muss geändert werden.
  • vi /usr/local/bin/ddns
#!/bin/bash
TTL=1
SERVER="172.17.19.11"
HOSTNAME=$1
IP=$2
KEY="dd7f58c83f5459f5559b62c07c2406fecb41f75e9fe6d112e590fe002de90569"
KEYNAME="itx.key"
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

  • tail -f /var/log/syslog | grep named
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