Ich bin so langsam am verzweifeln...
Ich habe hier Ubuntu Server 20.04 LTS. Darauf läuft DHCP, Web und MySQL
Server.
Ich wollte über diesen auch einen DNS Server betreiben und bin so
langsam am Ende. Ich zeige mal meine Dateien:
/etc/bind/named.conf.options
1
options {
2
3
directory "/var/cache/bind";
4
5
listen-on-v6 {
6
none;
7
};
8
9
forwarders {
10
192.168.178.1;
11
8.8.8.8;
12
};
13
14
empty-zones-enable no;
15
notify no;
16
17
listen-on { 192.168.178.1; 127.0.0.1; };
18
pid-file "/var/run/named/named.pid";
19
};
/etc/bind/named.conf.local
1
zone "home" {
2
type master;
3
file "/etc/bind/db.home";
4
};
5
6
zone "178.168.192.in-addr.arpa" {
7
type master;
8
file "/etc/bind/db.192";
9
};
/etc/bind/db.home
1
$TTL 604800
2
@ IN SOA ns.home. root.home. (
3
2021003 ; Serial
4
604800 ; Refresh
5
86400 ; Retry
6
2419200 ; Expire
7
604800 ) ; Negative Cache TTL
8
;
9
@ IN NS ns.home.
10
home IN A 192.168.178.5
11
ns IN A 192.168.178.5
12
13
;next server
14
rasp IN A 192.168.178.6
und zu guter letzt die Reverse...
/etc/bind/db.192
1
$TTL 604800
2
@ IN SOA ns.home. root.home. (
3
2021001 ; Serial
4
604800 ; Refresh
5
86400 ; Retry
6
2419200 ; Expire
7
604800 ) ; Negative Cache TTL
8
;
9
@ IN NS ns.
10
5 IN PTR ns.home.
11
5 IN PTR home.
12
13
; also list other computers
14
6 IN PTR rasp.home.
der Status des Services ist:
1
root@server-draconix:/etc/bind# systemctl status bind9zone rasp.home /etc/bind/db.home
Aber warum bekomme ich die Adresse nicht aufgelößt? Wenn ich von einer
externen Maschine, welche die 192.168.178.5 als DNS eingetragen hat die
domain "rasp.home" anpinge oder zugreife... bekommt er diese nicht
aufgelößt. Desweiteren leitet er, bei nicht bekannt sein, auch nicht zur
8.8.8.8 oder 192.168.178.1 weiter.
Hat da jemand ein Rat für mich?!
Rene K. schrieb:> listen-on { 192.168.178.1; 127.0.0.1; };
Wenn die IP Deines Servers die .5 ist, muss bind auch dort lauschen.
Was passiert, wenn Du auf dem Server "dig rasp.home @127.0.0.1"
eingibst?
Mario M. schrieb:> Wenn die IP Deines Servers die .5 ist, muss bind auch dort lauschen.> Was passiert, wenn Du auf dem Server "dig rasp.home @127.0.0.1"> eingibst?
Ahhhh.... da kommen wir der Sache schon viel näher...
Dabei ist mir aufgefallen das bei einem normalen dig rasp.home der
Server nicht passt, denn wenn ich die IP des Servers angebe
(192.168.178.5) dann klappt das auch.
Rene K. schrieb:> ;; SERVER: 127.0.0.53#53(127.0.0.53)
Da hängt noch dieser systemd-resolved davor. Der scheint dir in die
Suppe zu spucken bzw. den musst du davon überzeugen, dass er deinen
Server überhaupt nimmt.
Mario M. schrieb:> Wenn die IP Deines Servers die .5 ist, muss bind auch dort lauschen.> Was passiert, wenn Du auf dem Server "dig rasp.home @127.0.0.1"> eingibst?
Das war eigentlich der Grund warum ich die lokalen Hosts nicht auflösen
konnte. Dies funktioniert nun tadellos.
Jörg W. schrieb:> Da hängt noch dieser systemd-resolved davor. Der scheint dir in die> Suppe zu spucken bzw. den musst du davon überzeugen, dass er deinen> Server überhaupt nimmt.
Ja, aber auch da ist keine 127.0.0.53 als localhost angegeben. Oder es
wurde unter Ubuntu Server 20.04 wieder einmal die config in ein anderes
Verzeichniss verschoben.
Was er nun auch nicht macht, ist das forwarden, also wenn ich einen
anderen Namen außerhalb meines Netzwerkes auflösen will, bekomme ich
immer ein NXDOMAIN. Ich kann zwar über meine DHCP einen zweiten DNS
angeben, aber das ist ja nun auch nicht Sinn der Sache.
Rene K. schrieb:>> Da hängt noch dieser systemd-resolved davor. Der scheint dir in die>> Suppe zu spucken bzw. den musst du davon überzeugen, dass er deinen>> Server überhaupt nimmt.>> Ja, aber auch da ist keine 127.0.0.53 als localhost angegeben.
Diese 127.0.0.53 ist eine fiktive Adresse, die auf ebendiesen
systemd-resolve verzweigt. Der behandelt dann solche Dinge wie zeroconf.
Wenn du das nicht haben willst, kannst du den wohl irgendwie abklemmen
(musst du nachlesen wie) und in /etc/resolve.conf trägst du dann die
Adresse deines Servers ein.
In deiner Konfiguration verstehe ich nicht, warum du die
"listen"-Adressen überhaupt einschränken willst (und warum du IPv6
abschaltest – aber das ist 'ne andere Diskussion dann). Wenn du da
nichts einschränkst, hört er auf IPADDR_ANY.
Was sagt denn "dig @192.168.178.5 google.de", wenn es von einem Client
gestartet wird? Alternativ "nslookup google.de 192.168.178.5" auf einem
Windows-Client.
Rene K. schrieb:> ;; SERVER: 127.0.0.53#53(127.0.0.53)
Das betrifft nur die lokale Namensauflösung auf dem Server und hat mit
bind9 nichts zu tun.
Jörg W. schrieb:> Diese 127.0.0.53 ist eine fiktive Adresse, die auf ebendiesen> systemd-resolve verzweigt. Der behandelt dann solche Dinge wie zeroconf.>> Wenn du das nicht haben willst, kannst du den wohl irgendwie abklemmen> (musst du nachlesen wie) und in /etc/resolve.conf trägst du dann die> Adresse deines Servers ein.>> In deiner Konfiguration verstehe ich nicht, warum du die> "listen"-Adressen überhaupt einschränken willst (und warum du IPv6> abschaltest – aber das ist 'ne andere Diskussion dann). Wenn du da> nichts einschränkst, hört er auf IPADDR_ANY.
Ah achso, ja aber das funktioniert ja nun, da lass ich das so in Ruhe,
wenn es eh nur für den internen Gebrauch ist.
Ich dachte dies ist eine zwingende Angabe. Da der Rechner aber über
mehrere NICs mit dem Switch verbunden ist (eine z.b. speziell für SMB).
Dachte ich es wäre eine gute Alternative so. Da hatte ich aber auch noch
den DHCP im Hinterkopf, welcher ja über Broadcast antwortet - dies ist
ja beim DNS nicht der Fall, da ja die Anfrage auf die IP direkt geht.
Mario M. schrieb:> Was sagt denn "dig @192.168.178.5 google.de", wenn es von einem> Client> gestartet wird? Alternativ "nslookup google.de 192.168.178.5" auf einem> Windows-Client.>> Rene K. schrieb:>> ;; SERVER: 127.0.0.53#53(127.0.0.53)>> Das betrifft nur die lokale Namensauflösung auf dem Server und hat mit> bind9 nichts zu tun.
Unter Windows ist folgendes zu sehen:
Rene K. schrieb:> 03-Apr-2021 19:26:03.409 query-errors: info: client @0x7fec5407d090> 192.168.178.51#53589 (google.de): query failed (timed out) for> google.de/IN/A at query.c:6883
Kannst du denn mit einem tcpdump mal verifizieren, dass er die Anfrage
auch tatsächlich weiter schickt?
Hast du die root-Zonen-Daten installiert, oder ist er komplett auf die
"forwarders" angewiesen?
Jörg W. schrieb:> Kannst du denn mit einem tcpdump mal verifizieren, dass er die Anfrage> auch tatsächlich weiter schickt?
Habe ich mal als Datei angehangen. Der Bereich in dem ich den NSLookUp
auf Google.de über den DNS Server mache.
Jörg W. schrieb:> Hast du die root-Zonen-Daten installiert, oder ist er komplett auf die> "forwarders" angewiesen?
Da verstehe ich nicht so ganz was du meinst. Mein Verständniss der
Forwarder ist der: Wenn die Adresse im Server nicht aufgelößt werden
kann - dann schickt er diese zum nächsten DNS Server (in meinem Fall die
Fritzbox, oder eben 8.8.8.8 (Google)) weiter.
Rene K. schrieb:> Habe ich mal als Datei angehangen. Der Bereich in dem ich den NSLookUp> auf Google.de über den DNS Server mache.
Kleiner Tipp: benutze besser die Option "-n", vor allem, wenn du
DNS-Probleme debuggen willst. Ohne diese Option will tcpdump alle
IP-Adressen in Hostnamen auflösen und generiert dadurch natürlich massiv
zusätzlichen Traffic.
>> Hast du die root-Zonen-Daten installiert, oder ist er komplett auf die>> "forwarders" angewiesen?>> Da verstehe ich nicht so ganz was du meinst.
Der Trace zeigt zumindest, dass du sie installiert hast. :-) Dein
DNS-Server macht eigene rekursive Anfragen ins Internet.
> Mein Verständniss der> Forwarder ist der: Wenn die Adresse im Server nicht aufgelößt werden> kann - dann schickt er diese zum nächsten DNS Server (in meinem Fall die> Fritzbox, oder eben 8.8.8.8 (Google)) weiter.
Dieses Verständnis entspricht der Option "forward-only".
Ohne diese Option werden eingetragene Forwarder zwar zuerst befragt
(sodass man von deren Cache profitiert), aber bei Ausbleiben der Antwort
startet der Server eigene rekursive Abfragen, beginnend bei den
root-Servern.
Deine Forwarder werden befragt – und liefern auch Antworten:
1
20:09:51.490624 IP server-draconix.fritz.box.domain > dns.google.domain: 23664+% [1au] A? google.de. (50)
2
20:09:51.545487 IP dns.google.domain > server-draconix.fritz.box.domain: 23664 1/0/1 A 142.250.179.131 (54)
3
20:09:53.503278 IP server-draconix.fritz.box.domain > dns.google.domain: 4274+% [1au] AAAA? google.de. (50)
4
20:09:53.556566 IP dns.google.domain > server-draconix.fritz.box.domain: 4274 1/0/1 AAAA 2a00:1450:4005:803::2003 (66)
Warum er diese Antwort nicht weiter reicht, ist mir allerdings nicht
klar.