Ich hab hier mal versucht, eine Übersicht über mein Netzwerk zu machen.
Im Rechnenzentrum ist der Host mit der IP 10.0.100.1 der openVPN-Server.
Alle Rechner mit einer IP 10.0.100.* sind im VPN.
Die Hosts aus dem Rechenzentrum haben auch alle eine public IP, die ich jetzt nicht aufgeschrieben habe.
Das Problem ist jetzt, wenn ich von lap1, lap2 oder rock64 die fritz.box oder den print.fritz.box per Namensauflösung erreichen möchte, geht das nicht, solange das VPN für das jeweilige Gerät aktiv ist, da dann als DNS 10.0.100.1 und 10.0.100.2 in der /etc/resolv.conf eingetragen ist. Es müsste also ns1 und ns2 auch die Domain fritz.box auflösen können.
Ich kann durch meine vpn-Routen von jedem Rechner aus dem VPN über die IP-Adresse 192.168.178.*-Adresse auch jeden Rechner in Home erreichen, jedoch nicht über den Namen.
Also von LAP2, mit dem ich unterwegs bin, kann ich die Adresse "
http://192.168.178.50" öffnen und bin auf der Management-Seite des Druckers, obwohl ich mit LAP2 im Zug unterwegs bin.
Ich hab openVPN so eingerichtet, dass die IP-Adressen des VPN, welche openVPN dynamisch vergibt, wenn sich ein Rechner anmeldet, per nsupdate dem Nameserver ns1 mitteilt, und dieser transferiert diese mittels transfer (master->slave) auf ns2. (ns2 ist der eigentliche DNS, den ich im Endeffekt im VPN als ersten publiziere)
Wenn ich die Konfiguration von bind9 richtig verstanden habe, dann müsste ich in named.conf.local "nur" eine Zone hinzufügen, die forward only auf die Fritzbox macht.
Daher habe ich in dieser Datei folgendes eingefügt:
Code: Alles auswählen
zone "fritz.box" in {
type forward;
forward only;
forwarders {
192.168.178.1;
};
};
Um zu demonstrieren:
Ich bin jetzt auf ns1.vpn bzw. vpn.vpn (das ist ein und der selbe Host, auf dem laufen bind9 und openvpn)
Code: Alles auswählen
( 0 ✓) (SCREEN) root@vpn (10:14)
/etc/bind: (vpn.vpn) # ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
....
6: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
link/none
inet 10.0.100.1/24 brd 10.0.100.255 scope global tun0
valid_lft forever preferred_lft forever
inet6 fe80::cfa5:96ac:2ef9:7231/64 scope link flags 800
valid_lft forever preferred_lft forever
Ich versuche eine Namensauflösung von rock64.vpn
Code: Alles auswählen
( 0 ✓) (SCREEN) root@vpn (10:15)
/etc/bind: (vpn.vpn) # dig rock64.vpn @10.0.100.1
; <<>> DiG 9.10.3-P4-Debian <<>> rock64.vpn @10.0.100.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33521
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;rock64.vpn. IN A
;; ANSWER SECTION:
rock64.vpn. 300 IN A 10.0.100.6
;; AUTHORITY SECTION:
vpn. 259200 IN NS ns2.vpn.
vpn. 259200 IN NS ns1.vpn.
;; ADDITIONAL SECTION:
ns1.vpn. 259200 IN A 10.0.100.1
ns2.vpn. 300 IN A 10.0.100.2
;; Query time: 1 msec
;; SERVER: 10.0.100.1#53(10.0.100.1)
;; WHEN: Wed Oct 10 10:17:15 CEST 2018
;; MSG SIZE rcvd: 122
Passt. Klappt gut, ich krieg die korrekte IP aus dem VPN.
Ich versuche eine Namensauflösung von rock64.fritz.box über den vpn.vpn (10.0.100.1)
Code: Alles auswählen
( 0 ✓) (SCREEN) root@vpn (10:14)
/etc/bind: (vpn.vpn) # dig rock64.fritz.box @10.0.100.1
; <<>> DiG 9.10.3-P4-Debian <<>> rock64.fritz.box @10.0.100.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 24928
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;rock64.fritz.box. IN A
;; Query time: 24 msec
;; SERVER: 10.0.100.1#53(10.0.100.1)
;; WHEN: Wed Oct 10 10:14:10 CEST 2018
;; MSG SIZE rcvd: 44
Fehlgeschlagen. Obwohl ich den Zoneneintrag wie oben in der bind9-Konfig habe.
Ich versuche rock64.fritz.box dann mit der Fritzbox aufzulösen:
Code: Alles auswählen
( 0 ✓) (SCREEN) root@vpn (10:14)
/etc/bind: (vpn.vpn) # dig rock64.fritz.box @192.168.178.1
; <<>> DiG 9.10.3-P4-Debian <<>> rock64.fritz.box @192.168.178.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33459
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;rock64.fritz.box. IN A
;; ANSWER SECTION:
rock64.fritz.box. 9 IN A 192.168.178.25
;; AUTHORITY SECTION:
rock64.fritz.box. 9 IN NS fritz.box.
;; ADDITIONAL SECTION:
fritz.box. 9 IN A 192.168.178.1
;; Query time: 20 msec
;; SERVER: 192.168.178.1#53(192.168.178.1)
;; WHEN: Wed Oct 10 10:14:21 CEST 2018
;; MSG SIZE rcvd: 79
Klappt. Ich krieg von rock64.fritz.box die richtige IP-Adresse (192.168.178.25) Die Fritzbox ist also vom Nameserver aus zu erreichen und eine Namensauflösung möglich.
Warum also klappt dann das Forwarding nicht?
Ich hoffe, es ist jetzt etwas klarer, was mein Anliegen ist...
lg scientific