Bind9: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (25 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| + | [[Kategorie:DNS]] | ||
| + | [[Kategorie:Linux]] | ||
= Installation = | = Installation = | ||
== Dienste mit überlappenden Ports ausschalten == | == Dienste mit überlappenden Ports ausschalten == | ||
| + | |||
* Abschalten des Systemd Nameservices geschieht normalerweise bei der Installation von Bind9 automatisch | * Abschalten des Systemd Nameservices geschieht normalerweise bei der Installation von Bind9 automatisch | ||
* '''systemctl disable --now systemd-resolved''' | * '''systemctl disable --now systemd-resolved''' | ||
== eigentliche Installation == | == eigentliche Installation == | ||
| + | |||
* '''apt install bind9''' | * '''apt install bind9''' | ||
| Zeile 17: | Zeile 21: | ||
* ''/etc/bind/named.conf'': Hauptkonfigurationsdatei, die die anderen Konfigurationen zusammenbündelt | * ''/etc/bind/named.conf'': Hauptkonfigurationsdatei, die die anderen Konfigurationen zusammenbündelt | ||
| − | * ''/etc/bind/named.conf.local'': | + | * ''/etc/bind/named.conf.local'': Konfiguration der lokalen Zonen |
| − | * ''/etc/bind/named.conf.options'': | + | * ''/etc/bind/named.conf.options'': Konfiguration der Berechtigungen, etc. des Daemons |
| − | * ''/var/cache/bind/zonendatei'': | + | * ''/var/cache/bind/zonendatei'': Einträge der Verbindungen von IP-Adresse und Domain Namen |
= Erstellen einer eigenen Zone = | = Erstellen einer eigenen Zone = | ||
| + | |||
| + | == Allgemeine Einstellungen == | ||
| + | |||
| + | * '''vim /etc/bind/named.conf.options''' | ||
| + | |||
| + | options { | ||
| + | directory "/var/cache/bind"; | ||
| + | dnssec-validation no; | ||
| + | allow-recursion { 0.0.0.0/0; }; | ||
| + | }; | ||
| + | |||
| + | == Syntax der Zonendateien == | ||
| + | |||
| + | * Zonendateien liegen standardmäßig unter ''/var/cache/bind'' | ||
| + | * Adressangaben folgen dem Schema | ||
| + | |||
| + | {{#drawio:bind9-adress-syntax}} | ||
| + | |||
| + | * absolute Adressangaben werden mit einem Punkt beendet: www.xinux.net'''.''' | ||
| + | * ansonsten werden sie als relative Pfade interpretiert und die jeweilige Zone wird dahinter gehängt | ||
| + | * Die '''@'''-Variable gibt an, dass sich die folgenden EInträge auf die in der ''/etc/bind/named.conf.local'' definierte Zone beziehen. | ||
| + | * Dadurch kann man für mehrere Zonen dieselbe Zonendateien verwenden | ||
| + | * Die Netzwerkklasse ''IN'' steht für ''Internet'' und wird fast ausschließlich verwendet | ||
| + | * [[DNS Records Typen]] | ||
| + | * IP-Adressen sollten nicht mit einen Punkt abgeschlossen werden | ||
== Forward == | == Forward == | ||
| − | * '''vim /etc/bind/named.conf.options''' | + | |
| + | * '''vim /etc/bind/named.conf.local''' | ||
| + | |||
| + | zone "lab100.it" { | ||
| + | type master; | ||
| + | file "lab100.it"; | ||
| + | }; | ||
| + | * '''vim /var/cache/bind/lab100.it''' | ||
| + | |||
| + | $TTL 300 | ||
| + | @ IN SOA dns.lab100.it. technik.xinux.de. (2023041702 14400 3600 3600000 86400) | ||
| + | IN NS dns | ||
| + | dns IN A 10.0.100.254 | ||
| + | fw IN A 10.0.100.1 | ||
| + | |||
| + | == Reverse == | ||
| + | |||
| + | * '''vim /etc/bind/named.conf.local''' | ||
| + | |||
| + | zone "1xx.0.10.in-addr.arpa" { | ||
| + | type master; | ||
| + | file "1xx.0.10.in-addr.arpa"; | ||
| + | }; | ||
| + | * '''vim /var/cache/bind/1xx.0.10.in-addr.arpa''' | ||
| + | |||
| + | $TTL 300 | ||
| + | @ IN SOA dns.lab1xx.it. technik.xinux.de. (2023041702 14400 3600 3600000 86400) | ||
| + | IN NS dns.lab1xx.it. | ||
| + | 1 IN PTR fw.lab1xx.it. | ||
| + | 254 IN PTR dns.lab1xx.it. | ||
| + | |||
| + | * '''host -t ptr 10.0.1''xx''.1''' | ||
| + | |||
| + | = Pseudo Top Level Domain = | ||
| + | |||
| + | {{#drawio:top-level-1}} | ||
| + | |||
| + | * Ein DNS-Server gibt vor eine Top Level Domain zu sein | ||
| + | * Dieser verwaltet die Second Level Domains | ||
| + | * Die Teilnehmer müssen diesen als Forwarder einstellen | ||
| + | * Dadurch kann jede Anfrage an den richtigen DNS-Server geleitet werden | ||
| + | |||
| + | == Konfiguration des Top Level Servers == | ||
| + | |||
| + | * '''vim /etc/bind/named.conf.options''' | ||
options { | options { | ||
directory "/var/cache/bind"; | directory "/var/cache/bind"; | ||
| + | empty-zones-enable no; | ||
| + | allow-recursion { 0.0.0.0/0; }; | ||
| + | allow-query { 0.0.0.0/0; }; | ||
dnssec-validation no; | dnssec-validation no; | ||
}; | }; | ||
| + | * Zur Zonendefinition hinzufügen | ||
| + | * '''vim /etc/bind/named.conf.local''' | ||
| + | |||
| + | zone "it" { | ||
| + | type master; | ||
| + | file "it"; | ||
| + | }; | ||
| + | zone "0.10.in-addr.arpa" { | ||
| + | type master; | ||
| + | file "0.10.in-addr.arpa"; | ||
| + | }; | ||
| + | ... | ||
| + | * Zonendateien | ||
| + | * '''vim /var/cache/bind/it''' | ||
| + | |||
| + | $TTL 300 | ||
| + | @ IN SOA dns.it. technik.xinux.de. (2023041809 14400 3600 3600000 86400) | ||
| + | |||
| + | @ IN NS dns.it. | ||
| + | lab01 NS dns.lab01.it. | ||
| + | lab02 NS dns.lab02.it. | ||
| + | lab100 NS dns.it. | ||
| + | |||
| + | dns IN A 10.0.100.254 | ||
| + | dns.lab01 A 10.0.101.254 | ||
| + | dns.lab02 A 10.0.102.254 | ||
| + | * '''vim /var/cache/bind/0.10.in-addr.arpa''' | ||
| + | |||
| + | $TTL 300 | ||
| + | @ IN SOA dns.lab100.it. technik.xinux.de. (2023041702 14400 3600 3600000 86400) | ||
| + | IN NS dns.lab100.it. | ||
| + | 100 IN NS dns.lab100.it. | ||
| + | 101 IN NS dns.lab01.it. | ||
| + | 102 IN NS dns.lab02.it. | ||
| + | |||
| + | == Konfiguration der Second Level Servers == | ||
| + | |||
| + | * die Option ''dnssec-validation'' sollte ganz unten stehen | ||
| + | * '''vim /etc/bind/named.conf.options''' | ||
| − | + | options { | |
| + | directory "/var/cache/bind"; | ||
| + | allow-recursion { 0.0.0.0/0; }; | ||
| + | zone "it" { | ||
| + | forwarders { 10.0.100.254; }; | ||
| + | }; | ||
| + | empty-zones-enable no; | ||
| + | dnssec-validation no; | ||
| + | }; | ||
| − | + | * '''systemctl restart bind9''' | |
Aktuelle Version vom 18. September 2024, 19:48 Uhr
Installation
Dienste mit überlappenden Ports ausschalten
- Abschalten des Systemd Nameservices geschieht normalerweise bei der Installation von Bind9 automatisch
- systemctl disable --now systemd-resolved
eigentliche Installation
- apt install bind9
lokalen DNS Server befragen
- vim /etc/resolv.conf
nameserver 127.0.0.1
Konfigurationsdateien
- /etc/bind/named.conf: Hauptkonfigurationsdatei, die die anderen Konfigurationen zusammenbündelt
- /etc/bind/named.conf.local: Konfiguration der lokalen Zonen
- /etc/bind/named.conf.options: Konfiguration der Berechtigungen, etc. des Daemons
- /var/cache/bind/zonendatei: Einträge der Verbindungen von IP-Adresse und Domain Namen
Erstellen einer eigenen Zone
Allgemeine Einstellungen
- vim /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
dnssec-validation no;
allow-recursion { 0.0.0.0/0; };
};
Syntax der Zonendateien
- Zonendateien liegen standardmäßig unter /var/cache/bind
- Adressangaben folgen dem Schema
- absolute Adressangaben werden mit einem Punkt beendet: www.xinux.net.
- ansonsten werden sie als relative Pfade interpretiert und die jeweilige Zone wird dahinter gehängt
- Die @-Variable gibt an, dass sich die folgenden EInträge auf die in der /etc/bind/named.conf.local definierte Zone beziehen.
- Dadurch kann man für mehrere Zonen dieselbe Zonendateien verwenden
- Die Netzwerkklasse IN steht für Internet und wird fast ausschließlich verwendet
- DNS Records Typen
- IP-Adressen sollten nicht mit einen Punkt abgeschlossen werden
Forward
- vim /etc/bind/named.conf.local
zone "lab100.it" {
type master;
file "lab100.it";
};
- vim /var/cache/bind/lab100.it
$TTL 300
@ IN SOA dns.lab100.it. technik.xinux.de. (2023041702 14400 3600 3600000 86400)
IN NS dns
dns IN A 10.0.100.254
fw IN A 10.0.100.1
Reverse
- vim /etc/bind/named.conf.local
zone "1xx.0.10.in-addr.arpa" {
type master;
file "1xx.0.10.in-addr.arpa";
};
- vim /var/cache/bind/1xx.0.10.in-addr.arpa
$TTL 300
@ IN SOA dns.lab1xx.it. technik.xinux.de. (2023041702 14400 3600 3600000 86400)
IN NS dns.lab1xx.it.
1 IN PTR fw.lab1xx.it.
254 IN PTR dns.lab1xx.it.
- host -t ptr 10.0.1xx.1
Pseudo Top Level Domain
- Ein DNS-Server gibt vor eine Top Level Domain zu sein
- Dieser verwaltet die Second Level Domains
- Die Teilnehmer müssen diesen als Forwarder einstellen
- Dadurch kann jede Anfrage an den richtigen DNS-Server geleitet werden
Konfiguration des Top Level Servers
- vim /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
empty-zones-enable no;
allow-recursion { 0.0.0.0/0; };
allow-query { 0.0.0.0/0; };
dnssec-validation no;
};
- Zur Zonendefinition hinzufügen
- vim /etc/bind/named.conf.local
zone "it" {
type master;
file "it";
};
zone "0.10.in-addr.arpa" {
type master;
file "0.10.in-addr.arpa";
};
...
- Zonendateien
- vim /var/cache/bind/it
$TTL 300 @ IN SOA dns.it. technik.xinux.de. (2023041809 14400 3600 3600000 86400) @ IN NS dns.it. lab01 NS dns.lab01.it. lab02 NS dns.lab02.it. lab100 NS dns.it. dns IN A 10.0.100.254 dns.lab01 A 10.0.101.254 dns.lab02 A 10.0.102.254
- vim /var/cache/bind/0.10.in-addr.arpa
$TTL 300
@ IN SOA dns.lab100.it. technik.xinux.de. (2023041702 14400 3600 3600000 86400)
IN NS dns.lab100.it.
100 IN NS dns.lab100.it.
101 IN NS dns.lab01.it.
102 IN NS dns.lab02.it.
Konfiguration der Second Level Servers
- die Option dnssec-validation sollte ganz unten stehen
- vim /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
allow-recursion { 0.0.0.0/0; };
zone "it" {
forwarders { 10.0.100.254; };
};
empty-zones-enable no;
dnssec-validation no;
};
- systemctl restart bind9

