OpenVPN

Aus Freifunk Potsdam | Wiki
Zur Navigation springen Zur Suche springen

Ein VPN (virtuelles privates Netzwerk) baut einen verschlüsselter Tunnel von Deinem Rechner zu einer vertrauenswürdigen Gegenstelle im Internet auf. Sämtlicher Datenverkehr von Deinem Rechner wird durch den Tunnel geschickt. Damit ist automatisch alles verschlüsselt, auf der WLAN-Strecke sind die Daten also sicher.

Windows

OpenVPN runterladen und installieren

Open vpn gui installation 1.png
  • Lizenzen akzeptieren
Open vpn gui installation 2.png
  • Alle Optionen anwählen, bis auf "Hide the TAP-Win32 Virtual Ethernet Adapter". "My Certificate Wizard" wird unbedingt gebraucht.
Open vpn gui installation 3.png
  • Installationsordner auswählen
Open vpn gui installation 4.png
  • Ein bisschen warten ...
Open vpn gui installation 5.png
  • Der Treiber muss installiert werden, sonst funktioniert OpenVPN nicht...
Open vpn gui installation 6.png
  • Fertig :)
Open vpn gui installation 7.png
Open vpn gui installation 8.png

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.

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.
  • Mail-Address: deine@mail-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)!!!

Komm zu unserem Treffen und bring Deinen Personalausweis mit. Dort erhältst Du von uns eine Datei vorname_nachname_vpn_freifunk-potsdam_de.crt. Kopiere die in das Verzeichnis C:\Programme\OpenVPN\config\.

Konfiguration

Erstelle eine Textdatei C:\Programme\OpenVPN\config\freifunk-vpn.ovpn mit folgendem Inhalt (die Dateiendung muss .ovpn sein, nicht .txt!). Achte darauf den korrekten Dateinamen des Zertifikats und des Schlüssels anzugeben.


client
dev tun
proto udp
remote vpn.freifunk-potsdam.de 1192
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert vorname_nachname_vpn_freifunk-potsdam_de.crt
key vorname_nachname_vpn_freifunk-potsdam_de.key
ns-cert-type server
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. Das kannst Du entweder mit einem Texteditor (z.B. Notepad) machen oder auf der Kommandozeile:
c:\Programme\OpenVPN\config>copy root.crt + class3.crt ca.crt
root.cer
class3.cer
        1 Datei(en) kopiert.

Du solltest nun eine Datei c:\Programme\OpenVPN\config\ca.crt mit diesem Inhalt haben:

-----BEGIN CERTIFICATE-----
MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290
IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB
IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA
Y2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAO
BgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEi
MCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJ
ARYSc3VwcG9ydEBjYWNlcnQub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
CgKCAgEAziLA4kZ97DYoB1CW8qAzQIxL8TtmPzHlawI229Z89vGIj053NgVBlfkJ
8BLPRoZzYLdufujAWGSuzbCtRRcMY/pnCujW0r8+55jE8Ez64AO7NV1sId6eINm6
zWYyN3L69wj1x81YyY7nDl7qPv4coRQKFWyGhFtkZip6qUtTefWIonvuLwphK42y
fk1WpRPs6tqSnqxEQR5YYGUFZvjARL3LlPdCfgv3ZWiYUQXw8wWRBB0bF4LsyFe7
w2t6iPGwcswlWyCR7BYCEo8y6RcYSNDHBS4CMEK4JZwFaz+qOqfrU0j36NK2B5jc
G8Y0f3/JHIJ6BVgrCFvzOKKrF11myZjXnhCLotLddJr3cQxyYN/Nb5gznZY0dj4k
epKwDpUeb+agRThHqtdB7Uq3EvbXG4OKDy7YCbZZ16oE/9KTfWgu3YtLq1i6L43q
laegw1SJpfvbi1EinbLDvhG+LJGGi5Z4rSDTii8aP8bQUWWHIbEZAWV/RRyH9XzQ
QUxPKZgh/TMfdQwEUfoZd9vUFBzugcMd9Zi3aQaRIt0AUMyBMawSB3s42mhb5ivU
fslfrejrckzzAeVLIL+aplfKkQABi6F1ITe1Yw1nPkZPcCBnzsXWWdsC4PDSy826
YreQQejdIOQpvGQpQsgi3Hia/0PsmBsJUUtaWsJx8cTLc6nloQsCAwEAAaOCAc4w
ggHKMB0GA1UdDgQWBBQWtTIb1Mfz4OaO873SsDrusjkY0TCBowYDVR0jBIGbMIGY
gBQWtTIb1Mfz4OaO873SsDrusjkY0aF9pHsweTEQMA4GA1UEChMHUm9vdCBDQTEe
MBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0
IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2Vy
dC5vcmeCAQAwDwYDVR0TAQH/BAUwAwEB/zAyBgNVHR8EKzApMCegJaAjhiFodHRw
czovL3d3dy5jYWNlcnQub3JnL3Jldm9rZS5jcmwwMAYJYIZIAYb4QgEEBCMWIWh0
dHBzOi8vd3d3LmNhY2VydC5vcmcvcmV2b2tlLmNybDA0BglghkgBhvhCAQgEJxYl
aHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4LnBocD9pZD0xMDBWBglghkgBhvhC
AQ0ESRZHVG8gZ2V0IHlvdXIgb3duIGNlcnRpZmljYXRlIGZvciBGUkVFIGhlYWQg
b3ZlciB0byBodHRwOi8vd3d3LmNhY2VydC5vcmcwDQYJKoZIhvcNAQEEBQADggIB
ACjH7pyCArpcgBLKNQodgW+JapnM8mgPf6fhjViVPr3yBsOQWqy1YPaZQwGjiHCc
nWKdpIevZ1gNMDY75q1I08t0AoZxPuIrA2jxNGJARjtT6ij0rPtmlVOKTV39O9lg
18p5aTuxZZKmxoGCXJzN600BiqXfEVWqFcofN8CCmHBh22p8lqOOLlQ+TyGpkO/c
gr/c6EWtTZBzCDyUZbAEmXZ/4rzCahWqlwQ3JNgelE5tDlG+1sSPypZt90Pf6DBl
Jzt7u0NDY8RD97LsaMzhGY4i+5jhe1o+ATc7iwiwovOVThrLm82asduycPAtStvY
sONvRUgzEv/+PDIqVPfE94rwiCPCR/5kenHA0R6mY7AHfqQv0wGP3J8rtsYIqQ+T
SCX8Ev2fQtzzxD72V7DX3WnRBnc0CkvSyqD/HMaMyRa+xMwyN2hzXwj7UfdJUzYF
CpUCTPJ5GhD22Dp1nPMd8aINcGeGG7MW9S/lpOt5hvk9C8JzC6WZrG/8Z7jlLwum
GCSNe9FINSkYQKyTYOGWhlC0elnYjyELn8+CkcY7v2vcB5G5l1YjqrZslMZIBjzk
zk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmW
omTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVD
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIGCDCCA/CgAwIBAgIBATANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290
IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB
IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA
Y2FjZXJ0Lm9yZzAeFw0wNTEwMTQwNzM2NTVaFw0zMzAzMjgwNzM2NTVaMFQxFDAS
BgNVBAoTC0NBY2VydCBJbmMuMR4wHAYDVQQLExVodHRwOi8vd3d3LkNBY2VydC5v
cmcxHDAaBgNVBAMTE0NBY2VydCBDbGFzcyAzIFJvb3QwggIiMA0GCSqGSIb3DQEB
AQUAA4ICDwAwggIKAoICAQCrSTURSHzSJn5TlM9Dqd0o10Iqi/OHeBlYfA+e2ol9
4fvrcpANdKGWZKufoCSZc9riVXbHF3v1BKxGuMO+f2SNEGwk82GcwPKQ+lHm9WkB
Y8MPVuJKQs/iRIwlKKjFeQl9RrmK8+nzNCkIReQcn8uUBByBqBSzmGXEQ+xOgo0J
0b2qW42S0OzekMV/CsLj6+YxWl50PpczWejDAz1gM7/30W9HxM3uYoNSbi4ImqTZ
FRiRpoWSR7CuSOtttyHshRpocjWr//AQXcD0lKdq1TuSfkyQBX6TwSyLpI5idBVx
bgtxA+qvFTia1NIFcm+M+SvrWnIl+TlG43IbPgTDZCciECqKT1inA62+tC4T7V2q
SNfVfdQqe1z6RgRQ5MwOQluM7dvyz/yWk+DbETZUYjQ4jwxgmzuXVjit89Jbi6Bb
6k6WuHzX1aCGcEDTkSm3ojyt9Yy7zxqSiuQ0e8DYbF/pCsLDpyCaWt8sXVJcukfV
m+8kKHA4IC/VfynAskEDaJLM4JzMl0tF7zoQCqtwOpiVcK01seqFK6QcgCExqa5g
eoAmSAC4AcCTY1UikTxW56/bOiXzjzFU6iaLgVn5odFTEcV7nQP2dBHgbbEsPyyG
kZlxmqZ3izRg0RS0LKydr4wQ05/EavhvE/xzWfdmQnQeiuP43NJvmJzLR5iVQAX7
6QIDAQABo4G/MIG8MA8GA1UdEwEB/wQFMAMBAf8wXQYIKwYBBQUHAQEEUTBPMCMG
CCsGAQUFBzABhhdodHRwOi8vb2NzcC5DQWNlcnQub3JnLzAoBggrBgEFBQcwAoYc
aHR0cDovL3d3dy5DQWNlcnQub3JnL2NhLmNydDBKBgNVHSAEQzBBMD8GCCsGAQQB
gZBKMDMwMQYIKwYBBQUHAgEWJWh0dHA6Ly93d3cuQ0FjZXJ0Lm9yZy9pbmRleC5w
aHA/aWQ9MTAwDQYJKoZIhvcNAQEEBQADggIBAH8IiKHaGlBJ2on7oQhy84r3HsQ6
tHlbIDCxRd7CXdNlafHCXVRUPIVfuXtCkcKZ/RtRm6tGpaEQU55tiKxzbiwzpvD0
nuB1wT6IRanhZkP+VlrRekF490DaSjrxC1uluxYG5sLnk7mFTZdPsR44Q4Dvmw2M
77inYACHV30eRBzLI++bPJmdr7UpHEV5FpZNJ23xHGzDwlVks7wU4vOkHx4y/CcV
Bc/dLq4+gmF78CEQGPZE6lM5+dzQmiDgxrvgu1pPxJnIB721vaLbLmINQjRBvP+L
ivVRIqqIMADisNS8vmW61QNXeZvo3MhN+FDtkaVSKKKs+zZYPumUK5FQhxvWXtaM
zPcPEAxSTtAWYeXlCmy/F8dyRlecmPVsYGN6b165Ti/Iubm7aoW8mA3t+T6XhDSU
rgCvoeXnkm5OvfPi2RSLXNLrAWygF6UtEOucekq9ve7O/e0iQKtwOIj1CodqwqsF
YMlIBdpTwd5Ed2qz8zw87YC8pjhKKSRf/lk7myV6VmMAZLldpGJ9VzZPrYPvH5JT
oI53V93lYRE9IwCQTDz6o2CTBKOvNfYOao9PSmCnhQVsRqGP9Md246FZV/dxssRu
FFxtbUFm3xuTsdQAw+7Lzzw9IYCpX2Nl/N3gX6T0K/CFcUHUZyX7GrGXrtaZghNB
0m6lG5kngOcLqagA
-----END CERTIFICATE-----

Verbindungsaufbau

  • Wähle im Kontextmenü der OpenVPN GUI die Option connect.
Openvpn connecting.png
  • Nach ein paar Sekunden sollte die Farbe des OpenVPN-Icons von gelb nach grün wechseln und das Fenster ausgeblendet werden. Du bist jetzt sicher im Freifunk-Netz unterwegs :-)
Openvpn connected.png

Fehlersuche

  • 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

Windows

  • Unbedingt darauf achten, daß alle Config-/Zertifikats-/Text-Dateien "without Byte Order Mark (BOM)" (also am besten als reines UTF-8) im Editor abgespeichert werden, sonst regnet's unplausibel klingende Fehlermeldungen.

Mac OS X

... bitte die Doku für Mac OS ergänzen :)

Linux

Konfiguration

  • 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.req
  • Die Konfiguration liegt unter /etc/openvpn/client.ovpn
  • kopiere die Dateien vorname_nachname.cert und vorname_nachname.key in dieses Verzeichnis
  • Lade das class3 und class1 Root-Zertifikat von cacert.org herunter:
$ wget http://www.cacert.org/certs/root.crt
$ wget https://www.cacert.org/certs/class3.crt
  • Kopiere beide Zertifikate in eine Textdatei:
$ cat root.crt class3.crt > ca.crt

Routing

  • 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

Eigener Server

Das Funktionsprinzip und einige Hinweise zum Aufsetzen eines eigenen Servers erfahrt ihr unter OpenVPN-Server