Bind9: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 2: Zeile 2:
  
 
== 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 19:
  
 
* ''/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'': Konfiguration der lokalen Zonen
+
* ''/etc/bind/named.conf.local'': Konfiguration der lokalen Zonen
* ''/etc/bind/named.conf.options'': Konfiguration der Berechtigungen, etc. des Daemons
+
* ''/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
+
* ''/var/cache/bind/zonendatei'': Einträge der Verbindungen von IP-Adresse und Domain Namen
  
 
= Erstellen einer eigenen Zone =
 
= Erstellen einer eigenen Zone =
Zeile 25: Zeile 27:
 
== Allgemeine Einstellungen ==
 
== Allgemeine Einstellungen ==
  
* '''vim /etc/bind/named.conf.options'''
+
* '''vim /etc/bind/named.conf.options'''
  
 
  options {
 
  options {
Zeile 42: Zeile 44:
 
* absolute Adressangaben werden mit einem Punkt beendet: www.xinux.net'''.'''
 
* 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
 
* 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.
+
* 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
 
* Dadurch kann man für mehrere Zonen dieselbe Zonendateien verwenden
 
* Die Netzwerkklasse ''IN'' steht für ''Internet'' und wird fast ausschließlich verwendet
 
* Die Netzwerkklasse ''IN'' steht für ''Internet'' und wird fast ausschließlich verwendet
Zeile 50: Zeile 52:
 
== Forward ==
 
== Forward ==
  
* '''vim /etc/bind/named.conf.local'''
+
* '''vim /etc/bind/named.conf.local'''
  
 
  zone "lab100.it" {
 
  zone "lab100.it" {
Zeile 56: Zeile 58:
 
         file "lab100.it";
 
         file "lab100.it";
 
  };
 
  };
 
 
* '''cat /var/cache/bind/lab02.it'''
 
* '''cat /var/cache/bind/lab02.it'''
  
Zeile 67: Zeile 68:
 
== Reverse ==
 
== Reverse ==
  
* '''vim /etc/bind/named.conf.local'''
+
* '''vim /etc/bind/named.conf.local'''
  
 
  zone "100.0.10.in-addr.arpa" {
 
  zone "100.0.10.in-addr.arpa" {
Zeile 73: Zeile 74:
 
         file "100.0.10.in-addr.arpa";
 
         file "100.0.10.in-addr.arpa";
 
  };
 
  };
 +
* '''vim 100.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. 1 IN PTR fw.lab100.it. 254 IN PTR dns.lab100.it.
 +
 +
= 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 {
 +
        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'''
  
*  '''vim 100.0.10.in-addr.arpa'''
 
 
  $TTL 300
 
  $TTL 300
 
  @      IN SOA  dns.lab100.it. technik.xinux.de. (2023041702 14400 3600 3600000 86400)
 
  @      IN SOA  dns.lab100.it. technik.xinux.de. (2023041702 14400 3600 3600000 86400)
 
         IN NS  dns.lab100.it.
 
         IN NS  dns.lab100.it.
1      IN PTR  fw.lab100.it.
+
        100    IN NS  dns.lab100.it.
254     IN PTR  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";
 +
        forwarders { 10.0.100.254; };
 +
        empty-zones-enable no;
 +
        dnssec-validation no;
 +
};

Version vom 20. April 2023, 13:33 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";
};
  • cat /var/cache/bind/lab02.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 "100.0.10.in-addr.arpa" {
        type master;
        file "100.0.10.in-addr.arpa";
};
  • vim 100.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. 1 IN PTR fw.lab100.it. 254 IN PTR dns.lab100.it.

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";
        forwarders { 10.0.100.254; };
        empty-zones-enable no;
        dnssec-validation no;
};