VPN connectie niet via PiHole

Ik hoop dat ik m’n ‘probleem’ een beetje duidelijk kan omschrijven…

Configuratie:

  • FritzBox 7590 DSL router, tevens VPN-server.
  • Synology NAS met Docker containers voor PiHole (macvlan), Grafana, HA en verschillende andere containers.

Het LAN van mijn FritzBox 7590 gebruikt PiHole voor DNS queries. zowel wired als via WIFi. Dat werk prima.
Als ik vanaf buiten m’n LAN via VPN inlog, kan ik bij alle lokale devices (Grafana, HA, FritzBox, etc.). Ook kan ik via m’n eigen IP het internet op. So far, so good.

Echter, ik merk dat PiHole geen queries verwerkt van m’n via VPN verbonden device. Meestal mijn telefoon of iPad.

Concrete vraag wat doe ik verkeerd? Ik verwacht dat een login via VPN hetzelfde wordt afgehandeld al een lokaal device. Het heeft tenslotte een lokaal IP-adres (derde octet is .178, net als alle andere devices in het lokale netwerk). Toch zie ik de verbinding niet terug in de PiHole query log.

PS: mocht dit niet het juiste topic zijn, bij voorbaat mijn excuses :slight_smile:

Hebben de computers binnen je netwerk via DHCP te horen gekregen dat ze de PiHole moeten gebruiken? Of krijgen deze te horen dat ze bij de FRITZ!Box hun DNS requests moeten doen die het op zijn beurt aan de PiHole vraagt?

Na even zoeken verwacht ik eigenlijk dat je apparaten via DHCP te horen krijgen welke DNS server ze moeten gebruiken en dat is bij VPN gekoppelde apparaten net ff anders. Mogelijk kan het instellen van de DNS voor het modem zelf (Internet → Account information → DNS server) en die laten verwijzen naar de PiHole nog een mogelijkheid zijn om te kijken of de DNS requests dan wel (via de FB) naar de PiHole gaan.

Het laatste: ze verkrijgen hun DNS via de FritzBox. De FritzBox op zijn beurt vraagt de DNS via PiHole. Dat voorkomt dat je voor elk individueel device de DNS apart in moet stellen. Overigens hebben een aantal devices, waaronder de NAS, een fixed IP.

Dus je tweede opmerking is al van toepassing. Je zou verwachten dat de VPN link zich hetzelfde gedraagt als ieder andere client.

Let er ff op dat je in Pihole bij Settings - DNS - Interface ‘Allow only local requests’ hebt uitstaan, dat is mogelijk nodig.

De setting “Allow only local requests” gewijzigd naar “Permit all origins”. Hoewel ik verwacht dat de router mijn device via VPN ziet als een local device en dus slechts één “hop away” is. Namelijk 192.168.178.221, de VPN.

Na de gewijzigde setting lijkt het te werken :smiley:. Adds e.d. zie ik nu niet meer. Wat ik wel vreemd vind, is dat de device niet in de query log voor komt :thinking:

1 like

Allow local betekent dat er GEEN routing wordt gedaan ie. er moet een ARP entry bestaan, terwijl voor allow any wel routing kan worden gedaan. nb. Dit Allow local is voor de PIhole zelf en heeft verder nergens mee te maken.

dwz. de default GW ARP entry wordt gebruikt voor het verkeer ==> alles gaat naar de Fritzbox en die weet dat dat device achter een VPN zit.

Helder. Maar wat verklaard dan dat de DNS-traffic niet via de PiHole loopt? Zoals gezegd, ik verwacht dat de client die via VPN de router benaderd, als een lokale client wordt gezien. Maar blijkbaar is dat niet het geval. Blijft dus de vraag open hoe ik dat wel kan bewerkstelligen…

De vraag is dan of de client ook daadwerkelijk DNS aanvragen ook de tunnel inzend.

Moderne browser bevatten de plaag van DoH, en zenden hun aanvragen direct aan een derde partij en omzeilen zo Pi-hole door TCP poort 443 te gebruiken.

En hoe controleer ik dat? En als dit zo is, hoe kan ik dat wijzigen? Omdat ik deze week niet thuis ben, kan ik nu alleen verbinden via m’n mobiel.

Dan moet je in de telefoon kunnen instellen dat er geen “beveiligde” DNS gebruikt wordt.
Of als PiHole ook DoH ondersteund, dan kun je mogelijk de PiHole als betrouwbare DoH server aanstellen.
(Dat moet op domeinnaam, MET een correct certificaat!).

Je kunt de DNS specificatie in de Wireguard app op je iPhone editen - vervangen door de PiHole?