DNS Linux - Netzwerk und Serveradministration - Debian
Version vom 30. April 2026, 07:14 Uhr von Thomas.will (Diskussion | Beiträge) (→Berechtigungen und Einschränkungen)
Installation
- apt install bind9
Stop
- systemctl stop named
Start
- systemctl start named
Restart
- systemctl restart named
Status
- systemctl status named
Hauptkonfiguration
Standardmäßig ist die Konfiguration von bind9 auf mehrere Dateien aufgeteilt:
/etc/bind/named.conf
#Diese Datei inkludiert einfach nur die anderen 3 Dateien
Allgemeine Option zum Nameserver
include "/etc/bind/named.conf.options";
Hier kommen die eignen Zonen rein
include "/etc/bind/named.conf.local";
Hier die Default Zonen
include "/etc/bind/named.conf.default-zones";
/etc/bind/named.conf.options
Berechtigungen und Einschränkungen
options {
directory "/var/cache/bind";
forwarders { <DNSGW>; };
allow-query { 0.0.0.0/0; };
allow-recursion { 10.88.2XX.0/24; 172.26.2XX.0/24; 10.2XX.1.0/24; 172.20.2XX.0; 127.0.0.1; };
allow-transfer {127.0.0.1; };
dnssec-validation no;
listen-on-v6 { none; };
listen-on { any; };
};
options {
directory "/var/cache/bind";
forwarders { <DNSGW>; };
allow-query { 0.0.0.0/0; };
allow-recursion { 10.88.2XX.0/24; 172.26.2XX.0/24; 10.2XX.1.0/24; 172.20.2XX.0; 127.0.0.1; };
allow-transfer {127.0.0.1; };
dnssec-validation no;
listen-on-v6 { none; };
listen-on { any; };
};
Erklärungen
- allow-query { 0.0.0.0/0; };
- Diese Rechner dürfen den Nameserver nach dem von ihm verwalteten Zonen befragen.
- allow-recursion { 10.88.2XX.0/24; 172.16.2XX.0/24; 10.2XX.1.0/24; 127.0.0.1; };
- Diese Rechner dürfen den Nameserver nach Einträgen befragen die er nicht selbst beantworten kann.
- allow-transfer {127.0.0.1; };
- Diese Rechner dürfen einen axfr Abfrage durchführen.
Testen
- named-checkconf
Restart
- systemctl restart named
Konfigurations
/etc/bind/named.conf.default-zones
#Standardzonen
zone "." {
type hint;
file "/usr/share/dns/root.hints";
};
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
/etc/bind/named.conf.local
//Standardmässig leer
//Hier werden die sogenanten Zonen angelegt.
zone "it2xx.int" {
type master;
file "it2xx.int";
};
zone "2xx.88.10.in-addr.arpa" {
type master;
file "2xx.88.10.in-addr.arpa";
};
Konfigurationsverzeichnis
/var/cache/bind
Forward Zonen Datei ohne Secundary DNS
- Die Zonendatei enthält die Informationen zu den Adressen, und sieht folgendermaßen aus:
- vi /var/cache/bind/it2XX.int
$TTL 1 ; 1 Sekunde
@ IN SOA ns.it2XX.int. technik.it2XX.int. (
2025062501 ; serial
14400 ; refresh (4 hours)
3600 ; retry (1 hour)
3600000 ; expire (5 weeks 6 days 16 hours)
300 ; minimum (5 min)
)
NS ns.it2XX.int.
MX 10 mail.it2XX.int.
fw IN A 10.88.2XX.1
ns IN A 10.88.2XX.21
sftp IN A 10.88.2XX.15
proxy IN A 10.88.2XX.4
mail IN A 10.88.2XX.3
www IN A 10.88.2XX.11
revproxy IN A 10.88.2XX.41
checkmk IN A 10.88.2XX.5
ntp IN A 10.88.2XX.17
nextcloud IN A 10.88.2XX.8
docker IN A 10.88.2XX.9
dhcp IN A 172.26.2XX.2
smb IN A 10.2XX.1.2
ldap IN A 10.2XX.1.3
kali IN A 172.26.2XX.100
Check
- named-checkzone it213.int /var/cache/bind/it213.int
zone it213.int/IN: loaded serial 2011090204 OK
Reverse Zonen Datei
- vi /var/cache/bind/2xx.88.10.in-addr.arpa
$TTL 1
@ IN SOA ns.it214.int. technik.it214.int. ( 2026042701 14400 3600 3600000 86400 )
NS ns.it214.int.
1 IN PTR fw.it2XX.int.
21 IN PTR ns.it2XX.int.
3 IN PTR mail.it2XX.int.
4 IN PTR proxy.it2XX.int.
17 IN PTR ntp.it2XX.int.
11 IN PTR www.it2XX.int.
15 IN PTR sftp.it2XX.int.
41 IN PTR revproxy.it2XX.int.
5 IN PTR checkmk.it2XX.int.
8 IN PTR docker.it2XX.int.
9 IN PTR nexcloud.it2XX.int.
Check
- named-checkzone 213.88.10.in-addr.arpa /var/cache/bind/213.88.10.in-addr.arpa
zone 213.88.10.in-addr.arpa/IN: loaded serial 2011090204 OK
Restart
- systemctl restart named
Finaler Check
- Zone
- dig @127.0.0.1 it213.int -t axfr
- Reverse Zone
- dig @127.0.0.1 213.88.10.in-addr.arpa -t axfr
ändern der /etc/resolv.conf
nameserver 127.0.0.1 search it2xx.int
Logs
- Aktualisierte Log von named
- journalctl -fu named
- Die letzten 20 Log Zeilen vom named
- journalctl -n 20 -u named
Sind die Ports geöffnet
- ss -lntpu | grep named