Config P2P

Aus OpenVPN Wiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Einleitung

Diese Anleitung soll helfen um eine einfache Peer to Peer Lösung mittels OpenVPN zu realisieren. Diese Variante ist nicht besonders sicher und eignet sich nur für Ad-Hoc Verbindungen.

Hinweis: Hierbei geht es lediglich um eine einfache gesicherte PC <-> PC Verbindung.

Achtung: Sobald jemand in den Besitz des Pre-Shared Keys kommt, gilt die Verbindung als kompromittiert. Jeder bisherige Datenstrom sowie alle zukünftige sind dadurch gefährdet. Wer sensible Daten übertragen möchte, sollte lieber ein PKI System mit Zertifikaten nutzen.

Installation von OpenVPN auf den Peers

siehe Install_Linux bzw. Install_Windows

Laden des TUN-Drivers (nur Linux)

Der Kernel muss ein entsprechendes Modul bereitstellen (tun.o bzw. tun.ko) oder TUN-Support einkompiliert haben. Danach kann man es als root einfach mit folgendem Befehl laden:

root@erde# modprobe tun

Erzeugen eines Pre-Shared Keys

Der Preshared Key wird nur einmal erzeugt und dann auf den anderen Rechner kopiert.

Windows: In einer CMD-Shell ins OpenVPN Verzeichnis wechseln (wo sich die openvpn.exe befindet). Danach folgenden Befehl ausführen:

openvpn --genkey --secret static.key

Linux/Unix: Analog zu oben.

Alternative

Eine leere Textdatei erzeugen und eine beliebige Passphrase (möglichst lange) hineinschreiben. Aus Sicherheitsgründen ist jedoch obige Variante zu empfehlen. Der Austausch der Passphrase ist natürlich leichter möglich (z.B. per Telefon) als bei dem zufällig generierten Schlüssel. OpenVPN erzeugt automatisch einen Hash über den Inhalt der Datei und verwendet diesen als Key.

Öffnen des benötigten Ports der Firewall

Steht der Server hinter einer Firewall/einem Router so müssen dort der entsprechende Port auf den Server weitergeleitet werden. Der Standardport von OpenVPN ist 1194/UDP.

Anpassen der Konfigurationsdateien

Konfigurationsdatei für den wartenden Peer:

mode p2p
port 1194 # Wir horchen auf Port 1194
dev tun # evtl. tun0 unter Linux
proto udp # Protokoll UDP, für TCP: proto tcp-server

ifconfig 10.5.0.1 10.5.0.2 # Lokale IP <-> Remote IP

# Hier den Pfad anpassen um auf den erstellten Key zu verweisen
secret static.key

ping 10 # Sendet alle 10 Sekunden einen Ping an die Gegenstelle
ping-restart 180 # Nach 3 Minuten ohne Pings von der Gegenstelle neuverbinden
ping-timer-rem # Erst nachdem wir einen anderen Peer haben ping-restart zulassen

verb 3 # Zum Debugging erhöhen
mute 50 # Zum Debugging auskommentieren

Konfigurationsdatei für den verbindenden OpenVPN-Peer:

mode p2p
remote my-openvpn-server.dyndns.com 1194 # Hostname/externe IP des anderen Peer, Port entsprechend anpassen
proto udp # Protokoll UDP, für TCP: proto tcp-client
dev tun # evtl. tun0 unter Linux

ifconfig 10.5.0.2 10.5.0.1 # Lokale IP <-> Remote IP

# Hier den Pfad anpassen um auf den erstellten Key zu verweisen
secret static.key

ping 10 # Sendet alle 10 Sekunden einen Ping an die Gegenstelle
ping-restart 180 # Nach 3 Minuten ohne Pings von der Gegenstelle neuverbinden
ping-timer-rem # Erst nachdem wir einen anderen Peer haben ping-restart zulassen

verb 3 # Zum Debugging erhöhen
mute 50 # Zum Debugging auskommentieren

Testen der Verbindung

Ein Ping sollte sowohl von 10.5.0.1 nach 10.5.0.2 als auch umgekehrt möglich sein. Anderenfalls blockt eine Firewall den Ping.

Persönliche Werkzeuge