Zentyal: Erlaube recursive DNS Abfragen durch OpenVPN Tunnel

Ich habe es gern wenn ich den DNS Server auch durch die OpenVPN Tunnel abfragen kann, so dass ich auch von außerhalb, ganz normal auf die Dienste in meinem Netzwerk zugreifen kann.

Das ging bis jetzt nicht mit meinem Zentyal 4.1 OpenVPN Server.

Obwohl ich den Zentyal OpenVPN entsprechend konfiguriert hatte konnte ich von extern, keine Namen in meiner internen Domain „gaswarnanlagen.lan“ auflösen.

 

Die named Logs brauchten mich nun heute dazu mir das mal näher anzuschauen. Hier ist ein Auszug der Logs die mich letztlich auf die Spur brachten:

Zentyals DNS Log
Zentyal’s DNS Log
May 13 16:10:26 domain01 named[2039]: client 192.168.160.6#50862 (apps.facebook.com): query (cache) 'apps.facebook.com/A/IN' denied
May 13 16:10:26 domain01 named[2039]: client 192.168.160.6#63933 (wa.ui-portal.de): query (cache) 'wa.ui-portal.de/A/IN' denied
May 13 16:10:27 domain01 named[2039]: client 192.168.160.6#61863 (apps.facebook.com): query (cache) 'apps.facebook.com/A/IN' denied
May 13 16:10:29 domain01 named[2039]: client 192.168.160.6#64116 (uas.web.de): query (cache) 'uas.web.de/A/IN' denied
May 13 16:10:29 domain01 named[2039]: client 192.168.160.6#59933 (uas.web.de): query (cache) 'uas.web.de/A/IN' denied
May 13 16:10:30 domain01 named[2039]: client 192.168.160.6#56331 (millionenklick.web.de): query (cache) 'millionenklick.web.de/A/IN' denied
May 13 16:10:31 domain01 named[2039]: client 192.168.160.6#51609 (uim.tifbs.net): query (cache) 'uim.tifbs.net/A/IN' denied
May 13 16:10:31 domain01 named[2039]: client 192.168.160.6#64653 (uim.tifbs.net): query (cache) 'uim.tifbs.net/A/IN' denied

Der named erlaubt also keine rekursiven DNS Anfragen für mein OpenVPN Netzwerk 192.168.160.0/24. Mein einziges internes Netzwerk hat die Adresse 192.168.89.0/24 und gehört somit definitiv nicht dazu.
Der named Server in der Zentyal Installation erlaubt für alle „intern“ markierten Netzwerke automatisch rekursive DNS Abfragen. Leider zählen die OpenVPN Netzwerke nicht zu den internen Netzen dazu. Außerdem gibt es keine Möglichkeit diese „erlaubten“, internen Netzwerke über die WebGUI zu konfigurieren.

Nach etwas Recherche bin ich auf die, schon recht alte Zentyal 2(!) Dokumentation gestoßen. Hier wird die Datei /etc/zentyal/dns.conf genannt. Unter dem Parameter …

intnets =

… können unter anderem die IP Adressen der internen Netzwerke von Hand gepflegt werden. Also einfach die IP Adresse des OpenVPN Netzwerks zum Parameter intnets hinzufügen.

sudo vim /etc/zentyal/dns.conf
# /etc/zentyal/dns.conf
...
intnets = 192.168.160.0/24
...

Hinweis: Die eigentlichen internen Netzwerke (192.168.89.0/24 in meinem Fall) müssen nicht extra noch eingetragen werden, es reicht einfach das OpenVPN Netz einzutragen.

Danach muss der Zentyal DNS Server neu gestartet werden, so das die neue Konfiguration eingelesen wird.

sudo service zentyal dns restart

Jetzt verschwinden die named Fehler in den Logs und die OpenVPN Clients können, wie im lokalen Netzwerk auf die DNS Einträge zugreifen.

P.S. Die Datei /etc/zentyal/dns.conf ist auch in der aktuellen Zentyal Version 4 gültig, diese Konfiguration somit vollkommen valide und sicher!