mit Linux, Windows und Netzwerken beschäftige ich mich zwar schon eine Weile, aber bislang reichte der DNS auf der Fritzbox - deshalb habe ich nur eine recht generelle Vorstellung davon wie DNS funktioniert. Deshalb benötige ich etwas Hilfe bei meinem Projekt.
Ziel:
Ich möchte einen lokalen DNS betreiben um Let'sEncrypt SSL Zertifikate für meine beiden Server nutzen zu können und gleichzeitig im WireGuard-VPN Namensauflösung zu bekommen - Für den Rest soll die FritzBox weiter Haupt-DNS und DHCP Server bleiben (falls möglich).
Aktueller Stand:
Ich habe bind9 auf einem Debian 12 Bookworm installiert und lt. einiger Internet Tutorials konfiguriert.
Aktuell ist bind9 ausschließlich auf diesem Debian 12 per manueller Konfig als DNS eingetragen.
Was funktioniert:
Bind löst auf diesem Rechner die Anfragen an home.meineDomain.de sauber und schnell auf - wie gewünscht und erwartet. Das ist die Basis-Domain für die LetsEncrypt Wildcard Zertifikate. Andere Namen auf der FritzBox oder dem Internet werden zwar grundsätzlich ebenfalls aufgelöst, aber es dauert sehr lange.
Was nicht funktioniert:
Wenn ich nicht von bind unmittelbar verwaltete IPs (*.home.meineDomain.de - aktuell 2 Stück) abfrage, dauert es ziemlich lange (ich vermute das da timeouts greifen) bis ich eine Antwort bekomme.
Mit der Konfig für das WireGuard-VPN (IP-Bereich 100.61.1.xxx) habe ich mich noch nicht beschäftigt.
Vermutung:
Ich habe den Eindruck, dass ich in der Konfig irgendwie was mit den IPs vermurkst habe - die Ausgaben von nslookup sehen nach IPv6-Fallback aus.
Fragestellung:
1. Was läuft hier quer und wie fixe ich das?
2. Wie müsste die WireGuard-Konfig aussehen, damit ich auch über das VPN die selben Hostnamen verwenden kann?
Programmausgaben:
Code: Alles auswählen
user@server2:/etc/bind$ nslookup sevrver1.home.meineDomain.de
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: server1.home.meineDomain.de
Address: 192.168.xxx.2
user@server2:/etc/bind$ nslookup meineDomain.de
;; communications error to 127.0.0.1#53: timed out
;; communications error to 127.0.0.1#53: timed out
;; Got SERVFAIL reply from 127.0.0.1, trying next server
;; Got SERVFAIL reply from ::1, trying next server
Server: fd00::2e91:abff:fe83:xxxx
Address: fd00::2e91:abff:fe83:xxxx#53
Non-authoritative answer:
Name: meineDomain.de
Address: 178.254.0.xx
;; communications error to 127.0.0.1#53: timed out
;; communications error to 127.0.0.1#53: timed out
;; Got SERVFAIL reply from 127.0.0.1, trying next server
;; Got SERVFAIL reply from ::1, trying next server
user@server2:/etc/bind$ nslookup dose01.fitz.box
;; communications error to 127.0.0.1#53: timed out
;; communications error to 127.0.0.1#53: timed out
;; Got SERVFAIL reply from 127.0.0.1, trying next server
;; Got SERVFAIL reply from ::1, trying next server
Server: fd00::2e91:abff:fe83:xxxx
Address: fd00::2e91:abff:fe83:xxxx#53
** server can't find dose01.fitz.box: NXDOMAIN
user@server2:/etc/bind$ ping dose01.fritz.box
PING dose01.fritz.box (192.168.xxx.34) 56(84) bytes of data.
64 bytes from 192.168.175.34 (192.168.xxx.34): icmp_seq=1 ttl=255 time=23.0 ms
64 bytes from 192.168.175.34 (192.168.xxx.34): icmp_seq=2 ttl=255 time=40.5 ms
64 bytes from 192.168.175.34 (192.168.xx.34): icmp_seq=3 ttl=255 time=3.51 ms
^C
--- dose01.fritz.box ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 3.506/22.347/40.534/15.123 ms
user@server2:/etc/bind$
/etc/bind/named.conf.local
Code: Alles auswählen
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
zone "home.meineDomain.de"{
type master;
file "/var/cache/bind/db.home.meineDomain.de";
// allow-transfer {xxx.xxx.xxx.xxx;}; // secondary DNS server of the hoster
};
zone "fritz.box" {
type forward;
forward only;
forwarders {192.168.xxx.1;};
// forwarder = fritzBox
};
zone "xxx.168.192.in-addr.arpa"{
type master;
file "/var/cache/bind/db.rev-local";
allow-transfer {192.168.xxx.1;};
// allow transfer to fritzBox
};
Code: Alles auswählen
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
forwarders {
192.168.xxx.1;80.241.218.68;46.182.19.48;
// fritzBox; public DNS; public DNS
};
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
dnssec-validation auto;
listen-on { any; };
listen-on-v6 { any; };
};
Code: Alles auswählen
;; db.home.meineDomain.de
;; Forward lookup zone
;$origin db.home.meineDomain.de
$TTL 1h
@ IN SOA home.meineDomain.de. user.meineDomain.de. 2 10800 3600 604800 3600
; Name Server Information
@ IN NS server2.home.meineDomain.de.
@ IN NS server1.home.meineDomain.de.
; A-Record - Hostname to IP Address
; IN A 192.168.xxx.3
server1 IN A 192.168.xxx.2
server2 IN A 192.168.xxx.3
; # End of File
/var/cache/bind/db.rev-local
Code: Alles auswählen
;; db.rev-local
;; Reverse lookup zone
;$origin db.rev-local
$TTL 604800
@ IN SOA home.meineDomain.de. user.meineDomain.de. 2 10800 3600 604800 3600
; Name Server Information
;@ IN NS server1.home.meineDomain.de.
@ IN NS server2.home.meineDomain.de.
; Reverse lookup for name server
2 IN PTR server2.home.meineDomain.de
; PTR record IP address to Hostname
2 IN PTR server1.home.meineDomain.de.
3 IN PTR server2.home.meineDomain.de.
; # End of file