Hi,
Ich hab ein echt lästigen Bug gefunden. Ich betreibe ein pihole im Netz (ja ist nicht dafür gedachtblabla) hinter einer firewall sodass auch nur die User mein DNS nutzen die ihn auch nutzen dürfen.
Auf dem pihole ist auch ein VPN installiert. Auf dem VPN löst er auch korrekt auch. Auf der öffentlichen IP tut er das leider nicht (firewall Regeln passen zu 10000%)
Auf dem pihole wurde natürlich ein pihole -a -i all ausgeführt und die Kiste auch rebootet.
In der Theorie sollte er nun auf Anfragen aus dem VPN Netz die DNS Auflösen und auch auf der Public IP, sofern die Firewall das zulässt, egal ob nun 1 Hop entfernt oder 20 Hops entfernt, korrekt?
Genau hier liegt der Hund begraben, das tut er nämlich nicht.
Auf der Public IP löst er nix auf was mehr als 1 Hop entfernt ist.
Dafür hier erst mal der Beweis. Ohne VPN Verbindung auf dem Client ein nslookup und tracert:
PS C:\Users\XXX> nslookup www.dl-host.info
DNS request timed out.
timeout was 2 seconds.
Server: UnKnown
Address: PUBLIC IP
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
*** Zeitüberschreitung bei Anforderung an UnKnown.
PS C:\Users\XXX> tracert PUBLIC IP
Routenverfolgung zu FQDN [PUBLIC IP]
über maximal 30 Hops:
1 <1 ms <1 ms <1 ms 192.168.1.1
2 1 ms <1 ms <1 ms speedport.ip [192.168.2.1]
3 6 ms 6 ms 9 ms 62.155.243.138
4 8 ms 9 ms 8 ms 217.239.44.26
5 9 ms 8 ms 10 ms 87.190.233.116
6 12 ms 15 ms 14 ms cr03.fra1.de.first-colo.net [212.224.102.133]
7 9 ms 8 ms 8 ms FQDN [PUBLIC IP]
Ablaufverfolgung beendet.
Und hier mit VPN Verbindung ein tracert und nslookup
PS C:\Users\XXX> tracert PUBLIC IP
Routenverfolgung zu FQDN [PUBLIC IP]
über maximal 30 Hops:
1 9 ms 8 ms 9 ms dc01.intern.vpn [10.8.0.1]
2 9 ms 10 ms 10 ms FQDN [PUBLIC IP]
Ablaufverfolgung beendet.
PS C:\Users\XXX> nslookup www.dl-host.info
Server: UnKnown
Address: PUBLIC IP
Nicht autorisierende Antwort:
Name: dl-host.info
Addresses: 2a01:4f8:171:2b0e::4
138.201.169.4
Aliases: www.dl-host.info
Soweit so gut.
Pihole sagt:
pihole -a -i all
[i] Listening on all interfaces, permiting all origins. Please use a firewall!
[✓] Restarting DNS service
~ #
Mein Debug Token hwn02nlpjj
Pihole ist up to date
pihole -up
[i] Checking for updates...
[i] Pi-hole Core: up to date
[i] FTL: up to date
[i] Web Interface: up to date
[✓] Everything is up to date!
In der Version davor auf Debian Jessie funktionierte alles einwandfrei so wie ich es wollte. Auf Stretch nun nix mehr so richtig... Was wurde hier denn geändert?
/etc/pihole/setupVars.conf
WEBPASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TEMPERATUREUNIT=C
WEBUIBOXEDLAYOUT=traditional
API_EXCLUDE_DOMAINS=
API_EXCLUDE_CLIENTS=
API_QUERY_LOG_SHOW=all
API_PRIVACY_MODE=false
DASHBOARD_SHOW_QUERY_TYPES_OVER_TIME=true
DASHBOARD_SHOW_FORWARD_DESTS_OVER_TIME=true
ADMIN_EMAIL=MAIL Adresse
PIHOLE_INTERFACE=eth0
IPV4_ADDRESS=PUBLIC IP/24
IPV6_ADDRESS=PUBLIC IPv6
QUERY_LOGGING=true
INSTALL_WEB=true
LIGHTTPD_ENABLED=1
PIHOLE_DNS_1=8.8.8.8
PIHOLE_DNS_2=8.8.4.4
DNS_FQDN_REQUIRED=true
DNS_BOGUS_PRIV=false
DNSSEC=false
CONDITIONAL_FORWARDING=false
DNSMASQ_LISTENING=all
/etc/dnsmasq.d/01-pihole.conf
addn-hosts=/etc/pihole/gravity.list
addn-hosts=/etc/pihole/black.list
addn-hosts=/etc/pihole/local.list
localise-queries
no-resolv
cache-size=10000
log-queries=extra
log-facility=/var/log/pihole.log
local-ttl=2
log-async
server=8.8.8.8
server=8.8.4.4
domain-needed
except-interface=nonexisting
So wo ist nun genau mein Fehler?