Dnsmasq über openvpn


#1

Hallo,

ich würde gerne meinen openvpn Server um Pi-hole erweitern (selber Host), allerdings macht mir dnsmasq ein paar Probleme.

Ich kann mit meinem Client auch den DNS Server erreichen, aber er ignoriert die Block-Listen und gibt mir die Public IPs zurück. Was komisch ist, denn auf dem Server geht es. Bsp:

/etc/pihole/local.list:
10.8.0.1 google.de

root@vpn:/etc/pihole# nslookup google.de
Server: 10.8.0.1
Address: 10.8.0.1#53

Name: google.de
Address: 10.8.0.1

Auf dem Client:
C:\Users\Jan>nslookup google.de
Server: google.de
Address: 10.8.0.1

Nicht autorisierende Antwort:
Name: google.de
Addresses: 2a00:1450:4001:819::2003
172.217.21.227

Logs:
Jul 10 15:46:36 dnsmasq[7066]: 1 10.8.0.10/54699 query[PTR] 1.0.8.10.in-addr.arpa from 10.8.0.10
Jul 10 15:46:36 dnsmasq[7066]: 1 10.8.0.10/54699 /etc/pihole/local.list 10.8.0.1 is google.de
Jul 10 15:46:36 dnsmasq[7066]: 2 10.8.0.10/54701 query[A] google.de from 10.8.0.10
Jul 10 15:46:36 dnsmasq[7066]: 2 10.8.0.10/54701 /etc/pihole/local.list google.de is 10.8.0.1
Jul 10 15:46:36 dnsmasq[7066]: 3 10.8.0.10/54703 query[AAAA] google.de from 10.8.0.10
Jul 10 15:46:36 dnsmasq[7066]: 3 10.8.0.10/54703 forwarded google.de to 208.67.220.220
Jul 10 15:46:36 dnsmasq[7066]: 3 10.8.0.10/54703 forwarded google.de to 208.67.222.222
Jul 10 15:46:36 dnsmasq[7066]: 3 10.8.0.10/54703 reply google.de is 2a00:1450:4017:801::2003

Was komisch ist, da er zuerst sieht, dass da ein Eintrag für google.de ist, dann die abfrage für ipv6 macht und mir aber auch die ipv4 von den Public DNS Servern zurück gibt.

Gibt es eine Einstellung in dnsmasq die mein tun0 Interface nicht mag? :smiley:

Grüße Jan


#2

Du musst in der server.conf von OpenVPN alle DNS Server löschen und die IP vom raspberry pi eintragen.

push “DHCP-Option” DNS IP vom raspi

In der dnsmasq.conf die IP von raspi auch rein

Listen-address=127.0.0.1, IP vom raspi, 10.8.0.1


#3

Danke für die Antwort, aber da hab ich mich wohl nicht klar genug ausgedrückt.
Das ganze läuft auf einer VM mit externer IP Adresse. Daher der VPN um den Pi-hole (Web-Interface und DNS) von außen zu trennen.

server.conf:
push “dhcp-option DNS 10.8.0.1”

dnsmasq.conf:
listen-address=10.8.0.1

Nachtrag:
Das Problem scheint an Windows zu liegen. Am Handy und einem Linux System funktinierte es wie gewünscht.

Den Windows DNS-Cache und Browser-Cache zu leeren brachte leider keinen Erfolg…
Bin mir dann nicht sicher ob das Thema hier noch reinpasst.


#4

Das Problem besteht leider immer noch, dass mir dnsmasq die “falsche” ip zurück gibt.

Per nslookup (Win 10 (1803 Build 17134.165)) kommt folgendes:
google.de
Server: UnKnown
Address: 10.8.0.1

Nicht autorisierende Antwort:
Name: google.de
Addresses: 2a00:1450:4001:81d::2003
172.217.22.99

pi-hole.log (dnsmasq log) sagt das:

Jul 16 15:54:59 dnsmasq[2874]: 17548 10.8.0.6/56458 query[A] google.de from 10.8.0.6
Jul 16 15:54:59 dnsmasq[2874]: 17548 10.8.0.6/56458 /etc/pihole/local.list google.de is 10.8.0.1
Jul 16 15:54:59 dnsmasq[2874]: 17549 10.8.0.6/56460 query[AAAA] google.de from 10.8.0.6
Jul 16 15:54:59 dnsmasq[2874]: 17549 10.8.0.6/56460 forwarded google.de to 208.67.220.220
Jul 16 15:54:59 dnsmasq[2874]: 17549 10.8.0.6/56460 reply google.de is 2a00:1450:4017:801::2003

Wie man sieht, sieht dnsmasq, dass da ein Eintrag für google.de ist. Trotzdem forwarded er dann die Anfrage und gibt die IP des public Servers zurück.

Am Handy (iPhone 8 aktuelles IOS) geht das ganze ohne probleme:

Jul 16 15:59:13 dnsmasq[2874]: 17612 10.8.0.10/54985 query[A] google.de from 10.8.0.10
Jul 16 15:59:13 dnsmasq[2874]: 17612 10.8.0.10/54985 /etc/pihole/local.list google.de is 10.8.0.1

Hier kommt kein Forward und auf meinem Handy wird auch die angegebene IP ausgespuckt.

MfG