Autor

Steckbrief

Veröffentlicht:

April 21, 2022

Kategorien:

Das bewegt uns

Tags:

VPN, Linux

Wie man ausgewählte Domains über VPN unter Linux auflöst

In der heutigen Welt nutzen mehr Menschen als je zuvor VPN-Dienste, um aus der Ferne zu arbeiten. In manchen Fällen ist es jedoch nicht wünschenswert, den gesamten Datenverkehr und alle Domainnamenauflösungen über die VPN-Verbindung zu leiten. Selbst wenn der VPN-Server möchte, dass der Client genau so konfiguriert werden soll, kann der Client so konfiguriert werden, dass er die Anforderung, den gesamten Datenverkehr über die VPN-Verbindung zu leiten, ignoriert.

Zum Beispiel kann bei Openvpn die Option

pull-filter ignore redirect-gateway

verwendet werden, um den openvpn-client anzuweisen, alle "route all"-Anfragen des Servers zu ignorieren.

FRITZ!Box Beispiel

Kürzlich musste ich eine VPN-Verbindung zu einer FRITZ!Box nutzen. Das ist ein sehr beliebter Router in Deutschland, der nicht nur einfache VPN-Verbindungen anbietet, sondern auch alle Hosts in seinem Netzwerk zu seinem eigenen DNS hinzufügt. Wenn Sie mit einem Rechner mit dem Namen workstation ansprechen wollen, können Sie ihn über den dns-Namen "workstation.fritz.box" erreichen. Die fritz-box selbst ist auch unter dem dns-Namen fritz.box.

In meinem Fall ziehe ich es aus Geschwindigkeits- und Datenschutzgründen vor, meinen eigenen DNS-Server für alle Abfragen zu verwenden - das heißt, ich möchte nur die Domains mit dem Suffix fritz.box über die FRITZ!Box auflösen.

Lösung mit einem lokalen DNS-Server - dnsmasq

Dnsmasq ist ein leichtgewichtiger DNS-Server, den man auf dem eigenen Rechner laufen lassen kann, um die Kontrolle über die Namensauflösung zu bekommen. Ein netter Nebeneffekt ist, dass er seinen eigenen DNS-Cache hat, was wiederkehrende DNS-Abfragen schneller macht. Hier ist, wie ich ihn eingerichtet habe:

Bevor Sie beginnen, müssen Sie herausfinden, welcher DNS-Server im VPN verwendet wird. Normalerweise ist es das Standard-Gateway, das normalerweise ein .1 am Ende hat. Sie können die VPN-Protokolle genau beobachten, um herauszufinden, welcher DNS-Server bei der Verbindung verwendet wird.

Es gibt ein Tool namens dig, das DNS-Abfragen über bestimmte DNS-Server durchführen kann, zum Beispiel

dig @192.168.1.1 a fritz.box

wird den DNS-Server 192.168.1.1 nach der IP von fritz.box fragen. Dig ist sehr praktisch bei der Fehlersuche bei DNS-Problemen und Ihrer Einrichtung zu testen. Sie müssen es eventuell auf Ihrem System installieren. Unter Debian befindet es sich in einem Paket namens dnsutils.

Installieren Sie zuerst dnsmasq auf Ihrem Linux und bearbeiten Sie seine Konfiguration (normalerweise in /etc/dnsmasq.conf). Fügen Sie diese Zeilen hier ein:

resolv-datei=/etc/resolv.dnsmasq.conf
server=/fritz.box/192.168.1.1

fritz.box ist die Domain, die über den VPN-Dnsserver aufgelöst werden soll, in diesem Beispiel 192.168.1.1.

Die Resolv-Datei wird dnsmasq mitteilen, wie es seine DNS-Anfragen auflösen soll, falls es keine anderen Regeln gibt, also erstellen wir /etc/resolv.dnsmasq.conf mit dem Inhalt

Nameserver 1.1.1.1

Wenn Sie eine statische Netzwerkkonfiguration verwenden, können Sie diese jetzt einfach bearbeiten, um 127.0.0.1 als Nameserver zu verwenden. Wenn Sie automatische IP-Konfiguration mit dhcp verwenden, müssen Sie Ihren dhcp-Client so konfigurieren, dass er den neuen lokalen DNS-Server verwendet. Unter Debian, ist der Standard dhclient. In diesem Fall editieren Sie /etc/dhcp/dhclient.conf und fügen hinzu:

domain-name-servers 127.0.0.1 vorangestellt;

Das war's. Alles, was Sie jetzt noch tun müssen, ist dnsmasq neu zu starten, damit es seine Konfiguration neu lädt und dhclient neu zu verbinden/starten (das Trennen und erneute Verbinden des Netzwerks kann funktionieren, im Zweifelsfall starten Sie den Rechner neu).

Jetzt können Sie überprüfen, ob die Datei /etc/resolv.conf folgendes enthält

nameserver 127.0.0.1

als ersten Nameserver enthält. Wenn dies der Fall ist, sollte die ausgewählte Domain (in meinem Beispiel fritz.box) nun aufgelöst werden.

Bei dnsmasq können Sie mehrere server=-Zeilen hinzufügen, was praktisch ist, wenn Sie mehrere Domains haben, die über verschiedene DNS-Server aufgelöst werden müssen.

Vorheriger Artikel
Wie man den integrierten SW5-Mechanismus so abstimmt, dass er mehr als 22 Mal schneller arbeitet! Shopware 5 - Parallele Thumbnail-Generierung nach dem Umzug eines Shopware 5 Systems auf einen anderen Server Wir hatten einen Kunden mit 400k Bildern und 1600k Thumbnails, der von einem alten hdd-basierten Server auf einen neuen ssd-Server umziehen musste ...
April 29, 2021
Bernd Helm
Nächster Artikel
Wir haben einen Wrapper veröffentlicht, der Amazon MWS in SP API umwandelt, um Entwicklern mit veralteten Systemen eine einfache Lösung anzubieten. Dieses Open-Source-Projekt bietet eine praktische Alternative zur Neuentwicklung und unterstützt die Fortführung bestehender Anwendungen.
February 21, 2024
Bernd Helm