Dynamisches DNS Server vorbereiten: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 18: Zeile 18:
 
=Weiteres Terminal aufmachen zur Kontrolle=
 
=Weiteres Terminal aufmachen zur Kontrolle=
 
*tail -f /var/log/syslog | grep named
 
*tail -f /var/log/syslog | grep named
 +
=Im anderen Terminal=
 +
*Wir erstellen ein Skript
 +
*vi /usr/local/bin/ddns
 +
<pre>
 +
#!/bin/bash
 +
TTL=1
 +
SERVER="172.17.19.11"
 +
HOSTNAME=$1
 +
IP=$2
 +
KEY="8c84b58e026bf7169d16bd11ac047a86dd535958f7fec16560c7204efbbed2f8"
 +
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
 +
</pre>

Version vom 16. Februar 2023, 14:26 Uhr

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="8c84b58e026bf7169d16bd11ac047a86dd535958f7fec16560c7204efbbed2f8"
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