[1.0] [2.0] [3.0] [3.1] [4.0] [5.0]
2. Konfiguration (überarbeitete Version des Beitrages)
2.1 Vorbereitende Maßnahmen:
Einträge in /etc/hosts Datei:
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.1.1 dns-server
192.168.0.99 dns-server.intern.lan dns-server
/etc/hostname
dns-server.intern.lan
Test: Status -> ok
hostname -f — > dns-server.intern.lan
hostname -d — > intern.lan
Diese Information liefert uns die /etc/hosts bzw. /etc/hostname Datei.
Ferner erfahren wir durch den Befehl named -v die Version des DNS-Servers.
Aktuelle Version zur Zeit: BIND 9.8.4-rpz2+rl005.12-P1
Einträge in /etc/resolv.conf Datei:
domain intern.lan
search intern.lan
nameserver 192.168.0.99
Als nächstes editieren wir die Datei: nano /etc/bind/named.conf.options und aktivieren :
//forwarders {
// 0.0.0.0;
// };
durch folgende Änderung:
forwarders {
// 192.168.0.99; <— feste IP des Rechners, auf dem DNS Server laufen soll
// Google Public Domain Server
8.8.8.8;
8.8.4.4;
// T-Online Public Server
217.237.150.97; # Köln
217.237.148.70; # Dortmund
217.237.151.97 ; # München
};
Als letze vorbereitende Maßnahme editieren wir noch : nano /etc/default/bind9
# run resolvconf?
RESOLVCONF=no
# startup options for the server
OPTIONS=“-4 -u bind“ <—– der Eintrag -4 wurde ergänzt
Da im Hausinternen-Netzwerk in Regel noch IP4 zum Einsatz kommt, kann mach die Option um den Parameter ‚-4‘ ergänzen, hierdurch wird die Performance der späteren Names-Auflösung beschleunigt.
2.2 Grunddateien :
Jetzt endlich kommt man zur eigentlichen Konfiguration. Dafür sind folgende Dateien von Bedeutung:
/etc/bind/named.conf.local
In dieser Datei müssen Sie ihre eigenen (usereigenen) festgelegten Zonen-Dateien dem DNS-Server bekannt gemacht werden.
Bei mir sieht die Datei wie folgt aus:
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include „/etc/bind/zones.rfc1918“;
// Eigene Zonendefinition
// Zone zur Auflösung ‚Name nach IP-Adresse‘ ‚forward‘
zone „intern.lan“ { <— Domainname ‚localdomain.local $ORIGIN
type master;
file „/etc/bind/db.intern.lan“; <— Datei: db.Dateiname und Pfad
};
// Zone zur Auflösung ‚IP-Adresse nach Name‘ ‚reverse‘
zone „0.168.192.in-addr.arpa“ { <—- IP-Adressen Kreis $ORIGIN
type master;
file „/etc/bind/db.ver.0.168.192“; <—- Datei: db.Dateiname und Pfad
};
Die Filenamen und Pfadangaben sind frei wählbar, sie sollten aber der Lesbarkeit wegen sinnvolle Namen innehaben.
Der Übersicht wegen ist es besser eine Verzeichnis „/etc/bind/zone“ anzulegen und dort die eigenen Zonendateien abzulegen.
z.B.:
…
file „/etc/bind/zones/db.intern.lan“;
…
2. Datei
/etc/bind/db.intern.lan
Diese Datei muss aus einer ‚Dummy-Datei‘ erstellt werden. Dazu kopieren Sie die Datei ‚db.empty‘ und vergeben ihr den neuen Namen ‚db.localdomain‘.
db.localdomain hat folgenden Inhalt:
; BIND reverse data file for empty rfc1918 zone
;
; DO NOT EDIT THIS FILE – it is used for multiple zones.
; Instead, copy it, edit named.conf, and use that copy.
;
$TTL 86400
@ IN SOA localhost. root.localhost. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
;
@ IN NS localhost.
Folgende Einträge bzw. Änderungen sind vorzunehmen.
$TTL 86400
; | DomainName | Mailadresse Veranwortliche |
@ IN SOA dns-server.intern.lan. root.intern.lan. (
20170209 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
;
@ IN NS dns-server.intern.lan.
; ————————————————–
; – Ab hier die RechnerNamen eintragen –
; ————————————————–
dns-server IN A 192.168.0.99
ns-1 IN CNAME dns-server
; ————————————–
; – NAS Geräte
; ————————————–
server-01 IN A 192.168.0.245
srv-1 IN CNAME server-01
server-02 IN A 192.168.0.243
srv-2 IN CNAME server-02
; ————————————–
; – Drucker
; ————————————–
MFC-7460DN IN A 192.168.0.50
drucker-1 IN CNAME MFC-7460DN
HL-2250DN IN A 192.168.0.51
drucker-2 IN CNAME HL-2250DN
Konica-2430DL IN A 192.168.0.53
color-1 IN CNAME Konica-2430DL
; ————————————–
; – Web-Anwendungen –
; ————————————–
lpt-rechnung IN A 192.168.0.200
rvu-rechnung IN A 192.168.0.200
time IN A 192.168.0.200
3. Datei
/etc/bind/db.rev.0.168.192
Diese Datei sollte aus einer ‚Dummy-Datei‘ erstellt werden. Dazu kopieren die Datei ‚db.empty‘ in ‚db.0.168.192‘ um.
Ich bin etwas bequem und habe als Vorlage für die ‚Reverse‘ Datei die ‚Forward‘ Datei ‚db.intern.lan verwendet und die entsprechenden Anpassungen vorgenommen.
Im Normalfall sollte hier alle Einträge auftauchen, wie sie man auch in Forward-Datei findet Aber es macht z.B.: meiner Meinung wenig Sinn für die Drucker oder NAS Geräte entsprechende Einträge vorzunehmen .
Gleiches gilt auch für die Webanwendungen, da der Web-Server die Programme über „virtuelle Hosteinträge“ verwaltet und eine „Reverse-Auflösung“ zwar immer alle möglichen Namen der Web-Server zurück liefert aber der Web-Server mit dieser Information bei den „virtuellen Hosts“ nichts anfangen kann.
Aber der Rechner-Name bzw. die IP-Adresse des Server, worauf der Dienst „Web-Server“ läuft, sollte unbedingt dort eingetragen werden.
So sieht meine Datei aus:
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA dns-server.intern.lan. root.localhost. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS dns-server.intern.lan.
99 IN PTR dns-server.intern.lan.
; ————————————–
; – Server –
; ————————————–
250 IN PTR gw-firewall.
199 IN PTR email.
249 IN PTR ns-2.
; ————————————–
; – NAS Geräte –
; ————————————–
245 IN PTR server-01.
243 IN PTR server-02.
247 IN PTR server-03.
247 IN PTR lpt-rechnung.
247 IN PTR rvu-rechnung.
247 IN PTR time.
TESTEINGABEN:
1. Test
server ~ $ nslookup 192.168.0.247
Server: 192.168.0.99
Address: 192.168.0.99#53
247.0.168.192.in-addr.arpa name = time.
247.0.168.192.in-addr.arpa name = rvu-rechnung.
247.0.168.192.in-addr.arpa name = server-03.
247.0.168.192.in-addr.arpa name = lpt-rechnung.
2. Test
server ~ $ nslookup server-02
Server: 192.168.0.99
Address: 192.168.0.99#53
server-02.intern.lan canonical name = server-02.intern.lan.
Name: server-02.intern.lan
Address: 192.168.0.243
3.Test
server ~ $ nslookup srv-1
Server: 192.168.0.99
Address: 192.168.0.99#53
srv-1.intern.lan canonical name = server-01.intern.lan.
Name: server-01.intern.lan
Address: 192.168.0.245
4. Test
server ~ $ ping srv-1
PING server-01.intern.lan (192.168.0.245) 56(84) bytes of data.
64 bytes from server-01 (192.168.0.245): icmp_req=1 ttl=64 time=0.346 ms
64 bytes from server-01 (192.168.0.245): icmp_req=2 ttl=64 time=0.279 ms
5. Test
server ~ $dig 192.168.247
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> 192.168.247
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 32068
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;192.168.247. IN A
;; AUTHORITY SECTION:
. 10800 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2017021101 1800 900 604800 86400
;; Query time: 43 msec
;; SERVER: 192.168.0.99#53(192.168.0.99)
;; WHEN: Sat Feb 11 20:47:30 2017
;; MSG SIZE rcvd: 104
Hier geht es weiter: [Erläuterungen zu Konfiguration]