Linux - Netzwerk und Serveradminstration DNS: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „= eigener DNS Server = {{#drawio:5102-dns}} == Vorbereitungen == * VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen * Der Host soll im ''DMZ''-Netzwerk…“) |
|||
| (45 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | = | + | =Vorab Theorie= |
| + | * [[DNS Grundlagen]] | ||
| + | * [[DNS Records]] | ||
| + | * [[DNS Master - Slave - Forward]] | ||
| + | |||
| + | |||
| + | = Eigener DNS Server = | ||
{{#drawio:5102-dns}} | {{#drawio:5102-dns}} | ||
| + | =Pseudo Top-Level-Domain= | ||
| + | {{#drawio:Pseudo Top-Level-Domain}} | ||
| + | = Pseudo-Top-Level Domäne = | ||
| + | * Um die Domänen der anderen Labore aufzulösen ist ein Forwarder nötig | ||
| + | * Dieser zeigt auf den entsprechenden DNS-Server der Domäne, sodass die Zonen nur einmal definiert werden müssen | ||
== Vorbereitungen == | == Vorbereitungen == | ||
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen | * VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen | ||
* Der Host soll im ''DMZ''-Netzwerk liegen | * Der Host soll im ''DMZ''-Netzwerk liegen | ||
| − | |||
* statische IP-Adresse nach dem Netzwerkplan setzen (''/etc/network/interfaces'') | * statische IP-Adresse nach dem Netzwerkplan setzen (''/etc/network/interfaces'') | ||
* Hostname ändern zu ''ns'' | * Hostname ändern zu ''ns'' | ||
* SSH-Server anpassen | * SSH-Server anpassen | ||
* SSH-Schlüssel des Kit Hosts für User ''kit'' hinterlegen | * SSH-Schlüssel des Kit Hosts für User ''kit'' hinterlegen | ||
| − | === | + | === Netzkonfiguration DNS-Server (DMZ) === |
| − | + | ||
| − | + | {| class="wikitable" style="background-color: #f2f2f2;" | |
| − | + | ! Parameter !! Wert !! Erläuterung | |
| − | + | |- | |
| − | + | | '''Netzwerk (NIC)''' || DMZ || Interface-Zuweisung in VirtualBox | |
| − | * | + | |- |
| − | * | + | | '''IP''' || 10.88.2XX.21 || Statische IP |
| + | |- | ||
| + | | '''CIDR''' || 24 || Classless Inter-Domain Routing Präfixlänge | ||
| + | |- | ||
| + | | '''GW''' || 10.88.2XX.1 || GATEWAY | ||
| + | |- | ||
| + | | '''NS''' || 192.168.6.88 || Resolver | ||
| + | |- | ||
| + | | '''FQDN''' || ns.it2XX.int || Fully Qualified Domain Name | ||
| + | |- | ||
| + | | '''SHORT''' || ns || Short Name | ||
| + | |- | ||
| + | | '''DOM''' || it2XX.int|| Domain Name | ||
| + | |} | ||
| + | ;Anpassen des Templates | ||
| + | *[[Anpassen des Debian Templates]] | ||
| + | |||
| + | |||
| + | ==Installation== | ||
| + | *apt install bind9 | ||
| + | |||
| + | =DNS Umsetzung= | ||
| + | ==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=== | ||
| + | <pre> | ||
| + | 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; 127.0.0.1; }; | ||
| + | allow-transfer {127.0.0.1; }; | ||
| + | dnssec-validation no; | ||
| + | listen-on-v6 { none; }; | ||
| + | listen-on { any; }; | ||
| + | }; | ||
| + | </pre> | ||
| + | ====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.26.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== | ||
| + | <pre> | ||
| + | #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"; | ||
| + | }; | ||
| + | </pre> | ||
| + | ==/etc/bind/named.conf.local== | ||
| + | <pre> | ||
| + | //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"; | ||
| + | }; | ||
| + | </pre> | ||
| + | |||
| + | =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 | ||
| + | <pre> | ||
| + | $TTL 300 ; 5 minutes | ||
| + | @ 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) | ||
| + | 86400 ; minimum (1 day) | ||
| + | ) | ||
| + | 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.3 | ||
| + | proxy IN A 10.88.2XX.4 | ||
| + | ntp IN A 10.88.2XX.17 | ||
| + | dhcp IN A 172.26.2XX.2 | ||
| + | smb IN A 10.2XX.1.2 | ||
| + | ldap IN A 10.2XX.1.3 | ||
| + | </pre> | ||
| + | |||
| + | =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.it2XX.int. technik.it2XX.int. ( | ||
| + | 2025062501 ; serial | ||
| + | 14400 ; refresh (4 hours) | ||
| + | 3600 ; retry (1 hour) | ||
| + | 3600000 ; expire (5 weeks 6 days 16 hours) | ||
| + | 86400 ; minimum (1 day) | ||
| + | ) | ||
| + | IN NS ns.it2XX.int. | ||
| + | 1 IN PTR fw.it2XX.int. | ||
| + | 21 IN PTR ns.it2XX.int. | ||
| + | 3 IN PTR sftp.it2XX.int. | ||
| + | 4 IN PTR proxy.it2XX.int. | ||
| + | 17 IN PTR ntp.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 | ||
| − | = | + | =Tests= |
| − | * | + | *[[host]] |
| − | + | *[[dig]] | |
| − | + | *[[nslookup]] | |
| − | * | ||
| − | |||
| − | |||
| − | |||
| − | *[[ | ||
==DNS Aufgabe Reverse Lookup Zone LAN & SERVERS== | ==DNS Aufgabe Reverse Lookup Zone LAN & SERVERS== | ||
*[[DNS Linux - Netzwerk und Serveradministration - Reverse Aufgabe]] | *[[DNS Linux - Netzwerk und Serveradministration - Reverse Aufgabe]] | ||
| + | =DNS Secondary Nameserver= | ||
| + | *Als Beispiel dienen die Domain it213.int und it214.int | ||
| + | ==Änderungen in der /etc/bind/named.conf.options== | ||
| + | *Der Slave Nameserver muss einen Trandfer durchführen können. | ||
| + | *Er muss unter allow-transfer eingetragen werden | ||
| + | *Der Transfer erfplg im Gegensatz zu den normalen Record abfragen über TCP | ||
| + | *cat /etc/bind/named.conf.options | ||
| + | options { | ||
| + | directory "/var/cache/bind"; | ||
| + | forwarders { 192.168.16.88; }; | ||
| + | allow-query { any; }; | ||
| + | allow-recursion { 10.88.213.0/24; 172.26.213.0/24; 10.213.1.0/24; 127.0.0.1; }; | ||
| + | allow-transfer { 127.0.0.1; '''<span style="color:red">10.88.214.21;</span>''' }; | ||
| + | dnssec-validation no; | ||
| + | listen-on-v6 { none; }; | ||
| + | listen-on { any; }; | ||
| + | }; | ||
| + | |||
| + | ==Änderungen in der /etc/bind/named.conf.local== | ||
| + | *Es müssen zwei neute Zonen eingetragen. | ||
| + | *Diese werden vom Masterserver gezogen. | ||
| + | *Sie werden in einem speziellen Format auf der Platte abgelegt. | ||
| − | = | + | *cat /etc/bind/named.conf.local |
| − | { | + | '''<span style="color:red">zone "it214.int" {</span> |
| + | '''<span style="color:red">type slave;</span> | ||
| + | '''<span style="color:red">masters { 10.88.214.21; };</span> | ||
| + | '''<span style="color:red">file "/var/cache/bind/it214.int";</span> | ||
| + | '''<span style="color:red">};</span> | ||
| + | |||
| + | '''<span style="color:red">zone "214.88.10.in-addr.arpa" {</span> | ||
| + | '''<span style="color:red">type slave;</span> | ||
| + | '''<span style="color:red">masters { 10.88.214.21; };</span> | ||
| + | '''<span style="color:red">file "/var/cache/bind/214.88.10.in-addr.arpa";</span> | ||
| + | '''<span style="color:red">}};</span> | ||
| + | |||
| + | ==Änderungen in /var/cache/bind/it213.int== | ||
| + | NS ns.it213.int. | ||
| + | '''<span style="color:red">NS ns.it214.int.</span>''' | ||
| + | |||
| + | ==Änderungen in /var/cache/bind/213.88.10.in-addr.arpa== | ||
| + | NS ns.it213.int. | ||
| + | '''<span style="color:red">NS ns.it214.int.</span>''' | ||
| − | = | + | ==Abschluss== |
| − | * | + | *Wenn die Änderungen auf beiden Nameserver gemacht wurden kann man named neustarten. |
| − | * | + | ==Debbuging== |
| + | ===auf ns.it214.int=== | ||
| + | *journal -fu named | ||
| + | ===auf ns.it213.int=== | ||
| + | ;Manueller Zonentransfer | ||
| + | *dig -t axfr @10.88.214.21 it213.int | ||
| + | *dig -t axfr @10.88.214.21 213.88.10.in-addr.arpa | ||
| + | ;Automatischer Zonentransfer | ||
| + | *systemctl restart named | ||
| + | ===auf ns.it214.int=== | ||
| + | *tcpdump -ni enp0s3 port 53 | ||
| + | ===auf ns.it213.int=== | ||
| + | ;A Record | ||
| + | *dig -t a @10.88.214.21 sftp.it213.int | ||
| + | ;Zonentranfer | ||
| + | *dig -t axfr @10.88.214.21 it213.int | ||
| + | ;Ereknntniss Zonetransfer läuft über TCP und A-Rcord über UDP. | ||
Aktuelle Version vom 1. April 2026, 13:41 Uhr
Vorab Theorie
Eigener DNS Server
Pseudo Top-Level-Domain
Pseudo-Top-Level Domäne
- Um die Domänen der anderen Labore aufzulösen ist ein Forwarder nötig
- Dieser zeigt auf den entsprechenden DNS-Server der Domäne, sodass die Zonen nur einmal definiert werden müssen
Vorbereitungen
- VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
- Der Host soll im DMZ-Netzwerk liegen
- statische IP-Adresse nach dem Netzwerkplan setzen (/etc/network/interfaces)
- Hostname ändern zu ns
- SSH-Server anpassen
- SSH-Schlüssel des Kit Hosts für User kit hinterlegen
Netzkonfiguration DNS-Server (DMZ)
| Parameter | Wert | Erläuterung |
|---|---|---|
| Netzwerk (NIC) | DMZ | Interface-Zuweisung in VirtualBox |
| IP | 10.88.2XX.21 | Statische IP |
| CIDR | 24 | Classless Inter-Domain Routing Präfixlänge |
| GW | 10.88.2XX.1 | GATEWAY |
| NS | 192.168.6.88 | Resolver |
| FQDN | ns.it2XX.int | Fully Qualified Domain Name |
| SHORT | ns | Short Name |
| DOM | it2XX.int | Domain Name |
- Anpassen des Templates
Installation
- apt install bind9
DNS Umsetzung
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; 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.26.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 300 ; 5 minutes
@ 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)
86400 ; minimum (1 day)
)
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.3
proxy IN A 10.88.2XX.4
ntp IN A 10.88.2XX.17
dhcp IN A 172.26.2XX.2
smb IN A 10.2XX.1.2
ldap IN A 10.2XX.1.3
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.it2XX.int. technik.it2XX.int. (
2025062501 ; serial
14400 ; refresh (4 hours)
3600 ; retry (1 hour)
3600000 ; expire (5 weeks 6 days 16 hours)
86400 ; minimum (1 day)
)
IN NS ns.it2XX.int.
1 IN PTR fw.it2XX.int.
21 IN PTR ns.it2XX.int.
3 IN PTR sftp.it2XX.int.
4 IN PTR proxy.it2XX.int.
17 IN PTR ntp.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
Tests
DNS Aufgabe Reverse Lookup Zone LAN & SERVERS
DNS Secondary Nameserver
- Als Beispiel dienen die Domain it213.int und it214.int
Änderungen in der /etc/bind/named.conf.options
- Der Slave Nameserver muss einen Trandfer durchführen können.
- Er muss unter allow-transfer eingetragen werden
- Der Transfer erfplg im Gegensatz zu den normalen Record abfragen über TCP
- cat /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
forwarders { 192.168.16.88; };
allow-query { any; };
allow-recursion { 10.88.213.0/24; 172.26.213.0/24; 10.213.1.0/24; 127.0.0.1; };
allow-transfer { 127.0.0.1; 10.88.214.21; };
dnssec-validation no;
listen-on-v6 { none; };
listen-on { any; };
};
Änderungen in der /etc/bind/named.conf.local
- Es müssen zwei neute Zonen eingetragen.
- Diese werden vom Masterserver gezogen.
- Sie werden in einem speziellen Format auf der Platte abgelegt.
- cat /etc/bind/named.conf.local
zone "it214.int" { type slave; masters { 10.88.214.21; }; file "/var/cache/bind/it214.int"; };
zone "214.88.10.in-addr.arpa" { type slave; masters { 10.88.214.21; }; file "/var/cache/bind/214.88.10.in-addr.arpa"; }};
Änderungen in /var/cache/bind/it213.int
NS ns.it213.int.
NS ns.it214.int.
Änderungen in /var/cache/bind/213.88.10.in-addr.arpa
NS ns.it213.int.
NS ns.it214.int.
Abschluss
- Wenn die Änderungen auf beiden Nameserver gemacht wurden kann man named neustarten.
Debbuging
auf ns.it214.int
- journal -fu named
auf ns.it213.int
- Manueller Zonentransfer
- dig -t axfr @10.88.214.21 it213.int
- dig -t axfr @10.88.214.21 213.88.10.in-addr.arpa
- Automatischer Zonentransfer
- systemctl restart named
auf ns.it214.int
- tcpdump -ni enp0s3 port 53
auf ns.it213.int
- A Record
- dig -t a @10.88.214.21 sftp.it213.int
- Zonentranfer
- dig -t axfr @10.88.214.21 it213.int
- Ereknntniss Zonetransfer läuft über TCP und A-Rcord über UDP.

