Pseudo second level domain DNSSEC: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 1: | Zeile 1: | ||
| − | = | + | =Klonen des Templates= |
| + | ;Erstellen eines Nameservers laut Plan | ||
| + | ;Name ns.it213.int | ||
| + | ;Vorläufiger DNS ist der 192.168.X.88 | ||
| + | ;Der Server ist autoritativ UND rekursiv validierend | ||
| − | == | + | =Installation= |
| − | + | *apt update | |
| − | + | *apt install bind9 bind9-utils | |
| − | - | ||
| − | |||
| − | == | + | =Auf den Nameservern= |
| − | |||
| − | |||
| − | |||
| − | == | + | ==Trust Anker einfügen== |
| − | + | *cd /etc/bind/ | |
| − | * | + | *wget http://192.168.X.88/trust-anchors.conf |
| − | * | + | *echo 'include "/etc/bind/trust-anchors.conf";' >> named.conf |
| − | == | + | ==Optionen== |
| − | + | *cat /etc/bind/named.conf.options | |
| − | * | + | <pre> |
| − | + | options { | |
| + | directory "/var/cache/bind"; | ||
| − | + | forwarders { 192.168.X.88; }; | |
| − | + | empty-zones-enable no; | |
| − | |||
| − | + | recursion yes; | |
| − | + | dnssec-validation yes; | |
| − | |||
| − | + | allow-query { any; }; | |
| − | + | }; | |
| + | </pre> | ||
| − | == | + | ==Zonenfestlegung== |
| − | + | *cat /etc/bind/named.conf.local | |
<pre> | <pre> | ||
| − | zone "it213.int" { | + | zone "it213.int" IN { |
| − | + | type master; | |
| − | + | file "it213.int.signed"; | |
| − | |||
| − | |||
}; | }; | ||
| − | zone "213.88.10.in-addr.arpa" { | + | zone "213.88.10.in-addr.arpa" IN { |
| − | + | type master; | |
| − | + | file "213.88.10.in-addr.arpa"; | |
| − | |||
| − | |||
}; | }; | ||
</pre> | </pre> | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | == | + | =Zonen selbst (unsigniert)= |
| − | + | ||
| + | *cat /var/cache/bind/it213.int | ||
| + | <pre> | ||
| + | $TTL 300 | ||
| + | @ IN SOA ns.it213.int. technik.xinux.de. ( | ||
| + | 2011090204 | ||
| + | 14400 | ||
| + | 3600 | ||
| + | 3600000 | ||
| + | 86400 | ||
| + | ) | ||
| + | IN NS ns | ||
| + | IN MX 10 mail | ||
| + | |||
| + | ns IN A 10.88.213.21 | ||
| + | www IN A 10.88.213.22 | ||
| + | mail IN A 10.88.213.23 | ||
| + | fw IN A 10.88.213.1 | ||
| + | db IN A 10.88.213.24 | ||
| + | app IN A 10.88.213.25 | ||
| + | git IN A 10.88.213.26 | ||
| + | monitor IN A 10.88.213.27 | ||
| + | </pre> | ||
| + | |||
| + | *cat /var/cache/bind/213.88.10.in-addr.arpa | ||
| + | <pre> | ||
| + | $TTL 300 | ||
| + | @ IN SOA ns.it213.int. technik.xinux.de. ( | ||
| + | 2011090204 | ||
| + | 14400 | ||
| + | 3600 | ||
| + | 3600000 | ||
| + | 86400 | ||
| + | ) | ||
| + | IN NS ns.it213.int. | ||
| + | |||
| + | 1 IN PTR fw.it213.int. | ||
| + | 21 IN PTR ns.it213.int. | ||
| + | 22 IN PTR www.it213.int. | ||
| + | 23 IN PTR mail.it213.int. | ||
| + | 24 IN PTR db.it213.int. | ||
| + | 25 IN PTR app.it213.int. | ||
| + | 26 IN PTR git.it213.int. | ||
| + | 27 IN PTR monitor.it213.int. | ||
| + | </pre> | ||
| + | |||
| + | =DNSSEC Schlüssel erzeugen= | ||
| + | |||
| + | ;Forward Zone | ||
| + | *dnssec-keygen -a RSASHA256 -b 2048 -n ZONE it213.int | ||
| + | *dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE it213.int | ||
| + | |||
| + | =DNSKEY einbinden= | ||
| + | |||
| + | ;Forward | ||
| + | *for k in Kit213.int.+*.key ; do echo "\$INCLUDE $k" >> /var/cache/bind/it213.int; done | ||
| + | |||
| + | =Zonen signieren= | ||
| + | |||
| + | *dnssec-signzone -A -N INCREMENT -o it213.int -t /var/cache/bind/it213.int | ||
| + | |||
| + | ;Erzeugt | ||
| + | <pre> | ||
| + | /var/cache/bind/it213.int.signed | ||
| + | </pre> | ||
| + | |||
*systemctl restart bind9 | *systemctl restart bind9 | ||
| − | |||
| − | |||
| − | |||
| − | + | =DS Record für Fake Root erzeugen= | |
| − | + | ||
| − | *dnssec-dsfromkey - | + | ;DS aus signierter Zone erzeugen |
| + | *dnssec-dsfromkey -f /var/cache/bind/it213.int.signed it213.int | ||
| − | + | ;DS Eintrag an Fake Root weitergeben | |
| + | ;Im Fake Root in Zone int einfügen | ||
| − | + | ;Beispiel: | |
| − | + | ;it213 IN NS ns.it213.int. | |
| − | + | ;ns.it213.int. IN A 10.88.213.21 | |
| + | ;it213.int. IN DS 12345 8 2 ABCDEF123456.... | ||
| − | + | ;Danach Fake Root neu signieren | |
| − | * | + | *cd /var/cache/bind |
| − | *dnssec-signzone -A -N INCREMENT -o | + | *dnssec-signzone -A -N INCREMENT -o int int |
| + | *rndc reload | ||
| − | + | =Handling und Logging= | |
*systemctl restart bind9 | *systemctl restart bind9 | ||
| + | *journalctl -fu bind9 | ||
| + | *journalctl -u bind9 -g it213.int | ||
| − | == | + | =Validierungstest= |
| − | |||
| − | |||
| − | |||
| − | + | ;Forward Validierung | |
| − | *dig +dnssec | + | *dig www.it213.int +dnssec |
| − | + | ;Antwort muss AD-Flag enthalten | |
Version vom 9. März 2026, 15:10 Uhr
Klonen des Templates
- Erstellen eines Nameservers laut Plan
- Name ns.it213.int
- Vorläufiger DNS ist der 192.168.X.88
- Der Server ist autoritativ UND rekursiv validierend
Installation
- apt update
- apt install bind9 bind9-utils
Auf den Nameservern
Trust Anker einfügen
- cd /etc/bind/
- wget http://192.168.X.88/trust-anchors.conf
- echo 'include "/etc/bind/trust-anchors.conf";' >> named.conf
Optionen
- cat /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
forwarders { 192.168.X.88; };
empty-zones-enable no;
recursion yes;
dnssec-validation yes;
allow-query { any; };
};
Zonenfestlegung
- cat /etc/bind/named.conf.local
zone "it213.int" IN {
type master;
file "it213.int.signed";
};
zone "213.88.10.in-addr.arpa" IN {
type master;
file "213.88.10.in-addr.arpa";
};
Zonen selbst (unsigniert)
- cat /var/cache/bind/it213.int
$TTL 300
@ IN SOA ns.it213.int. technik.xinux.de. (
2011090204
14400
3600
3600000
86400
)
IN NS ns
IN MX 10 mail
ns IN A 10.88.213.21
www IN A 10.88.213.22
mail IN A 10.88.213.23
fw IN A 10.88.213.1
db IN A 10.88.213.24
app IN A 10.88.213.25
git IN A 10.88.213.26
monitor IN A 10.88.213.27
- cat /var/cache/bind/213.88.10.in-addr.arpa
$TTL 300
@ IN SOA ns.it213.int. technik.xinux.de. (
2011090204
14400
3600
3600000
86400
)
IN NS ns.it213.int.
1 IN PTR fw.it213.int.
21 IN PTR ns.it213.int.
22 IN PTR www.it213.int.
23 IN PTR mail.it213.int.
24 IN PTR db.it213.int.
25 IN PTR app.it213.int.
26 IN PTR git.it213.int.
27 IN PTR monitor.it213.int.
DNSSEC Schlüssel erzeugen
- Forward Zone
- dnssec-keygen -a RSASHA256 -b 2048 -n ZONE it213.int
- dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE it213.int
DNSKEY einbinden
- Forward
- for k in Kit213.int.+*.key ; do echo "\$INCLUDE $k" >> /var/cache/bind/it213.int; done
Zonen signieren
- dnssec-signzone -A -N INCREMENT -o it213.int -t /var/cache/bind/it213.int
- Erzeugt
/var/cache/bind/it213.int.signed
- systemctl restart bind9
DS Record für Fake Root erzeugen
- DS aus signierter Zone erzeugen
- dnssec-dsfromkey -f /var/cache/bind/it213.int.signed it213.int
- DS Eintrag an Fake Root weitergeben
- Im Fake Root in Zone int einfügen
- Beispiel
- it213 IN NS ns.it213.int.
- ns.it213.int. IN A 10.88.213.21
- it213.int. IN DS 12345 8 2 ABCDEF123456....
- Danach Fake Root neu signieren
- cd /var/cache/bind
- dnssec-signzone -A -N INCREMENT -o int int
- rndc reload
Handling und Logging
- systemctl restart bind9
- journalctl -fu bind9
- journalctl -u bind9 -g it213.int
Validierungstest
- Forward Validierung
- dig www.it213.int +dnssec
- Antwort muss AD-Flag enthalten