OpenVPN

Aus Freifunk Potsdam | Wiki
Zur Navigation springen Zur Suche springen

OpenVPN runterladen und installieren

Schlüssel und Zertifikat

Für die sichere Kommunikation benötigst Du einen privaten Schlüssel und ein Zertifikat. Den Schlüssel erzeugst Du Dir auf Deinem Computer, das Zertifikat schicken wir Dir.

Windows

Starte die Schlüsselerzeugung unter Programme -> OpenVPN -> My Certificate Wizard. In trage in den Feldern folgendes ein:

Openvpn certificate wizard 1.png

  • Common Name (e.g. your name): vorname_nachname.vpn.freifunk-potsdam.de. Bitte trage Deinen richtigen Namen ein. Lasse unbedingt den Teil vpn.freifunk-potsdam.de intakt. Wenn Du mehrere Computer absichern willst, brauchst Du für jeden einzelnen Computer ein eigenes Zertifikat.
  • E-mail Address: deine@email-adresse.de
  • Country Name: DE
  • State or Province: Brandenburg
  • Locality Name: Potsdam
  • Organisation Name: Freifunk Potsdam e.V.
  • Organisational Unit Name: VPN
  • Im Feld Passphrase musst Du ein Passwort für Deinen Schlüssel angeben. Damit wird der Schlüssel vor dem Zugriff anderer geschützt. Nur mit dem Passwort kannst Du Deinen Schlüssel benutzen.
  • Gib als Output Folder das Config-Verzeichnis von OpenVPN an, das ist i.d.R. C:\Programme\OpenVPN\config.

Jetzt kannst Du mit Create Request Deinen Schlüssel und einen Zertifikatsrequest erzeugen. Ein neues Fenster enthält den Request.

Openvpn certificate wizard 2.png

Wie im Fenster zu lesen ist, findest Du

  • Deinen privaten Schlüssel unter C:\Programme\OpenVPN\config\vorname_nachname_vpn_freifunk-potsdam_de.key
  • Deinen Zertifikatsrequest unter C:\Programme\OpenVPN\config\vorname_nachname_vpn_freifunk-potsdam_de.req

Kopiere den Request in die Zwischenablage (Knopf Copy to clipboard) und schicke uns diesen per e-Mail. Du kannst auch direkt die Datei vorname_nachname_vpn_freifunk-potsdam_de.req als Attatchment schicken. Schicke uns nicht Deinen privaten Schlüssel (*.key)!!!

Du erhältst darauf hin von uns eine Datei vorname_nachname_vpn_freifunk-potsdam_de.cert. Kopiere die in das Verzeichnis C:\Programme\OpenVPN\config\.

Erstelle eine Textdatei C:\Programme\OpenVPN\config\freifunk-vpn.ovpn mit folgendem Inhalt (die Dateiendung muss .ovpn sein, nicht .txt!):

client
dev tun
proto udp
remote vpn.freifunk-potsdam.de 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert vorname_nachname_vpn_freifunk-potsdam_de..cert
key vorname_nachname_vpn_freifunk-potsdam_de..key
comp-lzo
verb 3

Lade das class3 und class1 Root-Zertifikat von cacert.org herunter. Kopiere beide Zertifikate hintereinander in eine Textdatei c:\Programme\OpenVPN\config\ca.crt.


Linx

  • Erzeuge Dir einen privaten Schlüssel
openssl genrsa -out vorname_nachname.key 2048
  • Erzeuge Dir einen Certificate Request
openssl req -new -key vorname_nachname.key -out vorname_nachname.csr


  • Das Verzeichnis in dem du nun deinen OpenVPN Client konfigurieren kannst ist je nach Betriebssystem entweder /etc/openvpn/client.ovpn oder c:\Programme\OpenVPN\config\client.ovpn (bei Windows kann man es natürlich auch woanders hin installiert haben)
    • kopiere die Dateien vorname_nachname.cert und vorname_nachname.key in diese Verzeichnis
    • erstelle eine Config-Datei folgendem Inhalt.
client
dev tun
proto udp
remote vpn.freifunk-potsdam.de 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert vorname_nachname.cert
key vorname_nachname.key
comp-lzo
verb 3
  • Lade das class3 und class1 Root-Zertifikat von cacert.org herunter. Wichtig: nicht einfach auf die Links klicken, sondern "Ziel speichern unter..." auswählen und die beiden Dateien im Verzeichnis c:\Programme\OpenVPN\config\ ablegen.
  • Kopiere beide Zertifikate hintereinander in eine Textdatei c:\Programme\OpenVPN\config\ca.crt.
  • Nur das Root-Zertifikat:

VERIFY ERROR: depth=0, error=unable to get local issuer certificate: /CN=vpn.freifunk-potsdam.de

  • Nur das class3-Zertifikat

VERIFY ERROR: depth=1, error=unable to get issuer certificate: /O=CAcert_Inc./OU=http://www.CAcert.org/CN=CAcert_Class_3_Root

  • Wähle im Kontextmenü der OpenVPN GUI die Option connect.
    • unter Linux kannst du alternativ auch im Verzeichnis /etc/openvpn/
wget https://www.bastla.net/config/ca.crt
eingeben. Bitte bedenke allerdings diese Datei (die Zertifikate darin) noch einmal mit denen von CaCert zu vergleichen.
  • wenn du unter Linux den Konsolen OpenVPN Client nutzt, kann es sein, dass er die Routen nicht automatisch setzen kann. Falls das so ist, ändere die Konfigurationszeile remote vpn.freifunk-potsdam.de 1194 durch remote 78.47.210.100 1194 (halt die IP von iggy) und gebe folgendes in die Shell ein:
# lösche alte default Route (in dem Beispiel ppp0, was eine Modemschnittstelle ist)
# wenn ihr nicht wisst was eure default Route ist schaut mit 'route -n' nach
route del default ppp0 

# Den Weg zu iggy (VPN Server) weisen: 
route add -host 78.47.210.100 dev ppp0 

# Nun das VPN starten (yourConfig ist eure Konfigurationsdatei):
openvpn --config [yourConfig].ovpn  

# Default Route für alle INet Anfragen auf den VPN Tunnel zeigen lassen:
route add default tun0

# Wenn man wie in meinem Fall durch Einwählen über das Handy im VPN des
# Netzbetreibers seid, dann ist dessen DNS natürlich nicht mehr erreichbar.
# Damit der Rechner weiterhin Domains auflösen kann gibt man ein:
echo "nameserver 141.1.1.1" >> /etc/resolv.conf

Nun sollte es funktionieren. Bei Problemen meldet euch bei uns - am Besten bei einem Treffen oder auf der Mailingliste