Konfiguration eines sicheren Peer-To-Peer Tunnels

Aus OpenVPN Wiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Einleitung

Die folgende Konfiguration bietet einen simplen aber sicheren Weg mehrere VPN Endpunkte miteinander zu verbinden.

Voraussetzungen

  • Windows, Linux oder MacOS X Rechner
  • Administrationsrechte auf den Rechnern
  • TUN Modul (für Linux)
  • OpenVPN (für Vista: Version 2.1 verwenden, auf Server und Clients!)
  • Ein offener TCP oder UDP Port bei einem Endpunkt (Server)

Vorbereitungen

Installation von OpenVPN auf dem Server und den Clients

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 von Zertifikaten/Schlüsseln

Zum Erzeugen der nötigen Zertikate kann man z. B. easyRSA verwenden.

Folgende Dateien auf den Server kopieren:

  • ca.crt
  • server.crt
  • server.key
  • dh1024.pem

Folgende Dateien auf den Client kopieren:

  • ca.crt
  • client.crt
  • client.key

Öffnen des benötigten Ports der Firewall

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

Konfiguration von OpenVPN Server und Client

Konfigurationsdatei für den OpenVPN-Server:

server 10.8.0.0 255.255.255.0 # virtuelles VPN-Netzwerk

port 1194 # Auf Port 1194 horchen
proto udp # Protokoll UDP, für TCP: proto tcp-server
dev tap # evtl. tap0 unter Linux

# Hier die Pfade anpassen um auf die erstellten Keys zu verweisen
ca ca.crt
cert server.crt
key server.key
# Falls eine PKCS#12 Datei verwendet wird, statt ca/cert/key diese Zeile verwenden
# pkcs12 server.p12
dh dh1024.pem

# float # wenn Clients ihre IPs während der Verbindung wechseln (Modemeinwahl)

ping-timer-rem
keepalive 20 180 # Alle 20 Sekunden pingen. 3 Minuten Timeout fuer Clientverbindung

verb 3 # Zum Debugging erhöhen

# Wenn Vista verwendet wird, diese Zeilen einkommentieren
# route-method exe
# route-delay 2

Konfigurationsdatei für die OpenVPN-Clients:

client

remote my-openvpn-server.dyndns.com 1194 # Hostname/externe IP des Servers/Routers, Port entsprechend anpassen
proto udp # Protokoll UDP, für TCP: proto tcp-client
dev tap # evtl. tap0 unter Linux

# Hier die Pfade anpassen um auf die erstellten Keys zu verweisen
ca ca.crt
cert client.crt
key client.key
# Falls eine PKCS#12 Datei verwendet wird, statt ca/cert/key diese Zeile verwenden
# pkcs12 server.p12

ns-cert-type server # verhindert Man-in-the-Middle Attacken

verb 3 # Zum Debugging erhöhen

# Wenn Vista verwendet wird, diese Zeilen einkommentieren
# route-method exe
# route-delay 2

Testen der Verbindung

Verbindung aufbauen

Der Client sollte nun die Verbindung zum Server herstellen und halten können. Einfach mal 5 Minuten warten und die Logs von Server und Client beobachten.

IP Vergabe

Der Server hat immer die 10.8.0.1 als IP, während die Clients ihre IPs fortlaufend zugeteilt bekommen. Es kann jedoch nicht dafür garantiert werden, dass der Server immer nach der Reihenfolge vorgeht.

Persönliche Werkzeuge