Dynamisches DNS Server vorbereiten: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „=Keyerstellung mit dnssec-keygen= *dnssec-keygen -a HMAC-MD5 -b 512 -n HOST example.com ;es entsteht eine Datei Kexample.com.+xxx+xxxxx.private. secret ""Priv…“)
 
 
(17 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=Keyerstellung mit dnssec-keygen=
+
=Keyerstellung mit openssl=
*dnssec-keygen -a HMAC-MD5 -b 512 -n HOST example.com
+
*echo -n "Da ist nun wirklich ein saugeheimer Schlüssel" | openssl sha256 -hmac "nonbase64key" | awk '{print $2}'
;es entsteht eine Datei Kexample.com.+xxx+xxxxx.private.
+
  dd7f58c83f5459f5559b62c07c2406fecb41f75e9fe6d112e590fe002de90569
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.local schreiben (dort, wo blablabla== steht)
+
=Einbringen in die Konfigdatei=
  key example.com {
+
vi /etc/bind/named.conf.local
  algorithm HMAC-MD5;
+
*Der Name der Keys ist wichtig!
   secret "blablabla==";
+
 
 +
  '''key itx.key {'''
 +
    '''algorithm HMAC-SHA256;'''
 +
    '''secret "dd7f58c83f5459f5559b62c07c2406fecb41f75e9fe6d112e590fe002de90569";'''
 +
   '''};'''
 +
zone "hack.lab" {
 +
        type master;
 +
        '''allow-update { key itx.key ; };'''
 +
        file "hack.lab";
 
  };
 
  };
jetzt noch in die named.conf den zonen-eintrag ändern
 
  
  zone example.com {
+
=Neustarten des Bind9=
        type master;
+
*systemctl restart bind9
        file "example.com";
+
=Weiteres Terminal aufmachen zur Kontrolle=
        allow-update {
+
*tail -f /var/log/syslog | grep named
        key example.com ;
+
=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
  
dann mit nsupdate von irgendwo updaten, z.B mit Skript
+
=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

Aktuelle Version vom 28. Februar 2023, 07:52 Uhr

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