Client-Konfiguration

Wie erwähnt benötigt auch der Client die OpenVPN-Software, um sich mit dem Server zu verbinden. Die Konfiguration ähnelt jener des Servers, enthält jedoch einige zusätzliche Einträge, wie Listing 2 zeigt.

Listing 2

# /etc/openvpn/config.conf (Client)
remote <Öffentliche_IP_des_Servers>
proto tcp-client
port 5000
dev tun
ifconfig 192.168.10.2 192.168.10.1
secret /etc/openvpn/preshared_key.txt

Die Anweisung remote in Zeile 2 der Konfiguration teilt dem Client mit, mit welchem Server er sich verbinden soll. Steht der Server in Ihrem Heimnetz, empfiehlt es sich anstelle einer IP-Adresse einen statischen Domainnamen zu verwenden – Näheres erläutert der Kasten "Bleibende Werte".

Bleibende Werte

Die meisten DSL-Anbieter trennen bestehende Verbindungen nach 24 Stunden und weisen dann eine neue IP-Adresse zu. Steht Ihr VPN-Server im Heimnetz, ergibt sich daraus für den Client das Problem, dass er die neue IP nicht kennt und entsprechend auch keine Verbindung dorthin aufbauen kann. Abhilfe schaffen Anbieter wie DynDNS [3], die dynamische IP-Adressen mit festen Domainnamen verknüpfen. Beinahe alle Router besitzen ein Modul, dass es erlaubt, beim IP-Wechsel den DNS-Anbieter automatisch darüber zu informieren und DNS-Einträge entsprechend anzupassen (Abbildung 2). Sofern er online ist, erreichen Ihren VPN-Server entsprechend immer über den Domainnamen, beispielsweise meinnetz.dyndns.org.

Abbildung 2: Die meisten Router erlauben via Webfrontend die Konfiguration dynamischer DNS-Dienste wie DynDNS. Bezieht das Gerät vom Provider eine neue IP-Adresse, teilt es diese dem Anbieter mit.

Die Client-Konfiguration speichern Sie mit der Erweiterung .conf im Verzeichnis /etc/openvpn/. Nur dann erkennt OpenVPN beim Start über das Init-Skript, dass es sich um eine Konfiguration handelt, und berücksichtigt sie entsprechend. Analog zum Server starten Sie das Programm aber zunächst mit dem Aufruf

$ sudo openvpn --verb 3 --config /etc/openvpn/config.conf

Es erscheint eine Initialisierungssequenz, die mit der Ausgabe von Initialization Sequence Completed abschließt (Abbildung 3).

Abbildung 3: Erscheint beim Start des Clients die Meldung Initialization Sequence Completed, wurde der Tunnel zum Server erfolgreich etabliert.

Um den erfolgreichen Aufbau der Verbindung zu prüfen, geben Sie in der Konsole in unserem Beispiel ping 192.168.10.1 ein. Erscheint als Antwort eine Meldung wie 64 bytes from 192.168.10.1: icmp_seq=1 ttl=64 time=24.6 ms, steht die Kommunikation zwischen den Geräten.

Allerdings gibt es bei dieser Konfiguration eine Einschränkung: Sie erreichen Dienste am Ende des Tunnels nur durch explizite Eingabe der IP-Adresse. Möchten Sie dagegen den gesamten Datenverkehr durch den Tunnel leiten, erweitern Sie die Client-Konfiguration um die Anweisung redirect-gateway def1. Damit erstellt OpenVPN ein Default-Gateway über das TUN-Device. Diese Vorgehensweise empfiehlt sich immer dann, wenn Sie Ihre Netzwerkumgebung wie von zuhause gewohnt nutzen möchten. Beim Beenden des Tunnels setzt die Software das Routing wieder auf den Ursprungszustand zurück.

Allerdings erreichen Sie in dieser Konstellation ausschließlich Dienste, die direkt auf dem VPN-Server laufen. Der Durchgriff ins Internet oder auf andere Rechner im Netz gelingt zunächst nicht. Hier hilft DNAT: das Maskieren der eigenen Adresse mit einer, die der Server vergibt. Um es zu aktivieren, geben Sie in der Konsole des Servers zunächst

# echo "1" > /proc/sys/net/ipv4/ip_forward

ein, was die Forwarding-Funktion im Kernel einschaltet. Der folgende Aufruf

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

aktiviert das Masquerading und sorgt für einen reibungslosen Datentransfer. Der Befehl sudo iptables -t nat -L zeigt die neue Regel an.

Da OpenVPN beim Start die Namensauflösung nicht automatisch anpasst, kommt es zu Problemen, wenn in Ihrer /etc/resolv.conf ein Nameserver steht, den die andere Seite des Tunnels nicht kennt. Verwenden Sie beispielsweise einen per DHCP vergebenen Nameserver Ihres Routers, ist dieser nach dem Ändern der Default-Route nicht mehr erreichbar. Der Resolver am Ende des Tunnels sucht vergebens danach.

Für dieses Problem gibt es zwei Lösungen. Die erste besteht darin, einen öffentlich zugänglichen DNS mit in die /etc/resolv.conf einzutragen, beispielsweise von Google (8.8.8.8 und 8.8.4.4). Vertrauen Sie den frei zugänglichen Diensten nicht, richten Sie im VPN-Server einen eigenen ein. Am einfachsten geschieht das mit dem DNS-Proxy Dnsmasq, der in den Repositories aller gängigen Distributionen zur Installation bereitsteht. Nach der Installation starten Sie ihn mit dem Aufruf sudo /etc/init.d/dnsmasq start. Damit die Namensauflösung klappt, gilt es nun noch, die IP-Adresse des VPN-Servers nach dem Schema nameserver IP-Adresse> in die /etc/resolv.conf einzutragen.

Windows-Client

Prinzipiell funktioniert das Einrichten eines OpenVPN-Clients unter Windows genauso wie unter Linux – allerdings gilt es einige Feinheiten zu beachten (siehe Listing 3).

Listing 3

# Client-Konfiguration (Windows)
remote IP_Adresse/Domainnamen_Server
proto tcp-client
dev tun
ifconfig 192.168.10.2 192.168.10.1
route-method exe
redirect-gateway def1
secret preshared_key.txt
port 5000

Damit OpenVPN in der Lage ist, die Routen anzupassen, benötigt es den Eintrag route-method exe aus Zeile 7. Anders als unter Linux benötigen die Konfigurationsdateien unter Windows die Endung .ovpn, damit das Programm sie als solche erkennt. Die Verbindungen verwalten Sie mit mit der grafischen Oberfläche openvpn-gui-1.0.3.exe, die Sie im Verzeichnis C:\Programme\OpenVPN\bin\ finden. Nach dem Aufruf nistet sie sich als rotes Netzwerk-Symbol in den System-Tray ein. Ein Rechtsklick darauf zeigt die vorhandenen Verbindungspartner an. Sie aktivieren die gewünschte Verbindung mit Connect (Abbildung 4). Ein Konsolenstart ist nicht notwendig, da beim Verbinden ein Statusfenster (Abbildung 4) hinreichend über den Verbindungszustand oder eventuelle Fehler informiert.

Abbildung 4: Per Rechtsklick auf das OpenVPN-Icon erreichen Sie unter Windows die eingerichteten Verbindungspartner.

Auch unter Windows gilt es, die DNS-Einstellungen manuell an die neuen Gegebenheiten anzupassen. Rechtsklicken Sie dazu auf das TAP-Device in der Netzwerkverwaltung und wählen Sie aus dem Kontextmenü Eigenschaften. In der Übersicht wechseln Sie zu Internetprotokoll TCP/IP und klicken auf den Schalter Eigenschaften. Nun aktivieren Sie im Konfigurationsfenster die Checkbox folgende DNS-Serveradressen verwenden: und geben den gewünschten Nameserver ein (Abbildung 5).

Abbildung 5: Damit die Namensauflösung auch bei etabliertem VPN-Tunnel klappt, gilt es, den DNS-Eintrag manuell zu konfigurieren.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Durchgetunnelt
    Der Einsatz eines virtuellen privaten Netzwerks erlaubt die sichere Kommunikation über unsichere Netzwerke. Mit OpenVPN steht dafür ein einfach zu konfigurierendes, mächtiges Werkzeug bereit.
  • Verschlüsselte Tunnel mit OpenVPN einrichten
    Viele WLAN-Geräte verschlüsseln die Verbindungen nur unzureichend. Mit OpenVPN und wenigen Befehlen richten Sie ihr eigenes verschlüsseltes Netzwerk ein und können sich sogar aus dem Internet zu Hause einloggen.
  • Geschützter Netzzugriff von unterwegs mit OpenVPN
    Mit OpenVPN bleiben Sie zumindest virtuell immer zu Hause: Sie kommunizieren auch von unterwegs abhörsicher und angriffsgeschützt mit den Rechnern im heimischen LAN, als wären Sie dort.
  • Tag der offenen Tür
    Fast jede öffentliche Einrichtung und jedes Hotel bieten heute ein kostenpflichtiges WLAN an. Kreative Zeitgenossen finden jedoch meist schnell eine Möglichkeit, ein solches Netz unautorisiert zu nutzen.
  • VPN-Verbindungen mit OpenVPN einrichten
    OpenVPN hilft dabei, von unterwegs sicher auf die Daten auf dem eigenen Computer zurückzugreifen. Dabei ist die Software leicht einzurichten und gehört bei den großen Distributionen zu den Standardpaketen.
Kommentare

Infos zur Publikation

LU 11/2017: Server für Daheim

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 2 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...