Hallo Kollegen,
Statusupdate: VPN on Demand (VoD) läuft!
Mit den Infos von Jacks Server Guides und dem Perfect Privacy Forum habe ich es nach einigem rumprobieren hinbekommen. Hier mal ein kleines HowTo:
Erstmal OpenVPN installieren und konfigurieren wie in Jacks Server Guides beschrieben mit einer Ausnahme, anstatt die Client Schlüssel mit ./build-key user1 müssen diese mit ./build-key-pkcs12 user1 angelegt werden, da iOS die Zertifikate zusammen mit den Keys als PKCS#12 erwartet. Dabei wird man nach einem Export Passwort gefragt, irgendwas eingeben und merken, das brauchen wir später im iPhone Tool.
Meine server.conf ähnelt der von Jacks Server Guides mit ein paar Ausnahmen. In der OpenVPN App steht, dass iOS mit folgenden Einstellungen nichts anfangen kann:
tun-mtu 1500
fragment 1300
mssfix
Schlussendlich sieht meine server.conf so aus:
Clientkonfiguration
Man kann momentan nicht einfach die ovpn Datei importieren wenn man VoD nutzen möchte sondern braucht das iPhone Konfigurationsprogramm. Also runterladen, installieren und in der iOS VPN App unter More Help steht der Weg beschrieben. Jedoch gibt es da ein paar Stolpersteine. Zunächst legt man mit dem iPhone Tool ein neues Profil an und konfiguriert dort das VPN wie beschrieben. Die user1.p12 (oder wie auch immer man den Client genannt hat) wird unter Zertifikate importiert. Dort muss man auch das oben erwähnte Export Passwort eingeben. Anschließend kann man das Zertifikat im VPN Tab auswählen.
Jetzt wirds knifflig. Alle Einstellungen der ovpn Datei müssen im iPhone Tool als key/value Paare angegeben werden. Allerdings anders als beschrieben, darf man dabei values mit Leerzeichen nicht in Quotes einschließen. Man nimmt sich also erstmal die eigentliche Clientconfig von OpenVPN die bei mir so aussieht:
Eigentlich kein Problem. Beginnend von oben legt man ein key/value Paar mit key = "client" und value = "NOARGS" (NOARGS immer dann, wenn eine Option kein Wert hat). Als nächstes kommt ein key = "dev" mit value = "tun". Bei "remote" gibt man einfach als value ohne Gänsefüße die IP, Leerzeichen und dann den Port ein. Aufpassen muss man allerdings bei "tls-auth" und "ca" ("cert" und "key" müssen nicht angegeben werden, da die im PKCS File stehen). Normalerweise gibt man dort den Dateinamen an, das geht hier aber nicht, da man die Dateien nicht hinterlegen kann. Man muss also den Inhalt der Datei in das value kopieren. Dabei muss man Zeilenumbrüche durch \n ersetzen. Sinnlos erzeugte Kommentare die mit # anfangen kann man dabei weglassen. Da "tls-auth" normalerweise das value "ta.key 1" bekommen würde, muss man nach dem Einfügen des Inhalts von ta.key noch ein Leerzeichen und eine 1 in das value Feld eingeben.
Schlussendlich sollte das ganze in etwa so aussehen:
Hat man alle Konfigoptionen als key/value Paar eingegeben wählt man zu guter letzt noch die Domains und IP Adressen aus, bei denen VoD aufgebaut werden soll und installiert das Profil wie beschrieben auf dem iPhone. Zum Testen kann man schnell in der Einstellungs App das VPN aktivieren. Ist das iPhone dabei per Kabel mit dem Rechner verbunden sieht man im iPhone Tool unter Konsole auch etwaige Fehlermeldungen beim Aufbau der VPN Verbindung.
Statusupdate: VPN on Demand (VoD) läuft!

Mit den Infos von Jacks Server Guides und dem Perfect Privacy Forum habe ich es nach einigem rumprobieren hinbekommen. Hier mal ein kleines HowTo:
Erstmal OpenVPN installieren und konfigurieren wie in Jacks Server Guides beschrieben mit einer Ausnahme, anstatt die Client Schlüssel mit ./build-key user1 müssen diese mit ./build-key-pkcs12 user1 angelegt werden, da iOS die Zertifikate zusammen mit den Keys als PKCS#12 erwartet. Dabei wird man nach einem Export Passwort gefragt, irgendwas eingeben und merken, das brauchen wir später im iPhone Tool.
Meine server.conf ähnelt der von Jacks Server Guides mit ein paar Ausnahmen. In der OpenVPN App steht, dass iOS mit folgenden Einstellungen nichts anfangen kann:
tun-mtu 1500
fragment 1300
mssfix
Schlussendlich sieht meine server.conf so aus:
Code:
port 1194 proto udp dev tun ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/server.crt key /etc/openvpn/keys/server.key dh /etc/openvpn/keys/dh2048.pem tls-auth /etc/openvpn/keys/ta.key 0 cipher AES-256-CBC server 10.8.0.0 255.255.255.0 push "redirect-gateway def1" push "dhcp-option DNS 192.168.178.1" keepalive 10 120 comp-lzo max-clients 10 user nobody group nogroup persist-key persist-tun verb 3
Man kann momentan nicht einfach die ovpn Datei importieren wenn man VoD nutzen möchte sondern braucht das iPhone Konfigurationsprogramm. Also runterladen, installieren und in der iOS VPN App unter More Help steht der Weg beschrieben. Jedoch gibt es da ein paar Stolpersteine. Zunächst legt man mit dem iPhone Tool ein neues Profil an und konfiguriert dort das VPN wie beschrieben. Die user1.p12 (oder wie auch immer man den Client genannt hat) wird unter Zertifikate importiert. Dort muss man auch das oben erwähnte Export Passwort eingeben. Anschließend kann man das Zertifikat im VPN Tab auswählen.
Jetzt wirds knifflig. Alle Einstellungen der ovpn Datei müssen im iPhone Tool als key/value Paare angegeben werden. Allerdings anders als beschrieben, darf man dabei values mit Leerzeichen nicht in Quotes einschließen. Man nimmt sich also erstmal die eigentliche Clientconfig von OpenVPN die bei mir so aussieht:
Code:
client dev tun remote IP_DES_oVPN_SERVERS 1194 proto udp resolv-retry infinite nobind persist-key persist-tun route-delay 2 ca ca.crt tls-auth ta.key 1 cipher AES-256-CBC remote-cert-tls server comp-lzo verb 3
Schlussendlich sollte das ganze in etwa so aussehen:
Code:
key value === ===== client NOARGS dev tun remote xxx.dyndns.org 1194 proto udp resolv-retry infinite nobind NOARGS persist-key NOARGS persist-tun NOARGS route-delay 2 ca [I]Inhalt der ca.crt (Zeilenumbrüche durch \n ersetzen)[/I] tls-auth ta.key [I]Inhalt der ta.key (Zeilenumbrüche durch \n ersetzen)[/I] [B][COLOR="Red"]1[/COLOR][/B] cipher AES-256-CBC remote-cert-tls server comp-lzo NOARGS verb 3
Kommentar