Wie richte ich OpenVPN auf CyanogenMod 7 ein?


18

Ich möchte meinen gesamten Netzwerkverkehr über die ISP-Verbindung meines Hauses leiten, wenn ich nicht in Internetcafés bin, damit ich nicht belauscht / beschattet werden kann .

Ich habe ein HTC G2 mit CyanogenMod 7 , in das OpenVPN-Client-Unterstützung integriert ist :

Bildbeschreibung hier eingeben

Zu Hause habe ich einen Router mit TomatoVPN , der einen OpenVPN-Server enthält:

Bildbeschreibung hier eingeben

Wie bringe ich den Telefon-Client dazu, eine Verbindung zum Router-Server herzustellen? Ich kann Google und finde eine Reihe von scheinbar relevanten Anweisungen , aber sie sind nicht sehr hilfreich:

Sie müssen Ihr Zertifikat und Ihre Schlüssel einpacken und auf die SD-Karte legen

Woher bekomme ich die?

Kopieren Sie client.p12 in das SD-Karten-Stammverzeichnis

Woher bekomme ich das?

Fügen Sie Ihre Zertifikate hinzu und stellen Sie den Schnittstellentyp und das Protokoll entsprechend ein.

Wie konkret? Welche Einstellungen sollen was sein? Die Verwendung von Einstellungen, die mich nicht schützen, ist aufgrund des falschen Sicherheitsgefühls schlimmer als gar kein Schutz.

Ich suche nach einer schrittweisen Anleitung für ein "Roadwarrior" -Setup, das den gesamten Datenverkehr über das VPN weiterleitet.

Woher bekomme ich Schlüssel? Muss ich eine zusätzliche Benutzer- / Passwortauthentifizierung verwenden? Welche DNS-Suchdomains? Welche Einstellungen sollte ich im OpenVPN Advanced-Menü von CM7 verwenden? "Redirect Gateway" muss so eingestellt sein, dass der gesamte Datenverkehr weitergeleitet wird, richtig? Welche Einstellungen für Basic und Advanced in TomatoVPN? Msgstr "Clients anweisen, Internetverkehr umzuleiten"? "Auf DNS antworten"?

Aktualisieren:

Ich habe es noch einmal selbst versucht und war wieder erfolglos. Ich glaube, es gibt weder auf dem Router noch auf dem Telefon eine Möglichkeit, Schlüssel zu generieren. Deshalb habe ich versucht, sie in Ubuntu zu generieren. Ich habe versucht, diesen Anweisungen zu folgen , um Schlüssel zu generieren, aber sie sind nicht korrekt. (Der Ordner ist zum Beispiel /usr/share/doc/openvpn/examples/easy-rsa/2.0anstelle von /usr/share/doc/openvpn-2.0/easy-rsaund es gibt ein vars, aber kein init-configSkript.) Ich fand diese Anweisungen , die hilfreicher sind, und erzeugte eine Reihe von Dateien:

  • 01.pem
  • 02.pem
  • ca.crt
  • ca.key
  • dh1024.pem
  • htc_g2.crt
  • htc_g2.csr
  • htc_g2.key
  • server.crt
  • server.csr
  • server.key
  • ta.key

Die Dateien, die ich auf den Router kopiert habe, sind

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

Zuerst alles vorher abziehen -----BEGIN, gemäß dieser Anleitung . Der Router-Server startet jetzt und sagt

Name Wert Max bcast / mcast Warteschlangenlänge 0

unter Status. Also, ich denke der Server funktioniert?

Dann habe ich diese Dateien auf das Telefon kopiert:

  • ca.crt
  • htc_g2.crt
  • htc_g2.key
  • server.crt
  • ta.key

Unterschiedliche Richtungen stimmen nicht darin überein, welche Dateien kopiert werden sollen. Dann ging ich zu Einstellungen → Standort und Sicherheit → Von SD-Karte installieren und konnte das CA-Zertifikat installieren, ein Kennwort hinzufügen usw. Der Versuch, das htc_g2- oder Serverzertifikat hinzuzufügen, schlug fehl und sagte, dass kein Zertifikat installiert werden muss. Ich habe die Dateien bearbeitet und alles zuvor entfernt -----BEGINund sie dann installiert. In "OpenVPN VPN hinzufügen" habe ich das Zertifikat "ca" für "CA-Zertifikat festlegen" und das Zertifikat "htc_g2" für "Benutzerzertifikat festlegen" ausgewählt. Wenn ich versuche, eine Verbindung herzustellen, wird "Verbindung zum Netzwerk nicht möglich" angezeigt. Das gleiche gilt, wenn ich das Serverzertifikat für das Benutzerzertifikat ausprobiere.


Welche Betriebssysteme verwenden Sie auf Ihren Heimcomputern?
neuer Benutzer

@JonnyP: Der Heimcomputer ist Ubuntu, aber ich würde lieber den Router als den Computer verwenden.
Endolith

1
In diesem Stadium würde ich empfehlen, dass Sie versuchen, das OpenVPN-Setup zuerst mit einem regulären OpenVPN-Desktop-Client zum Laufen zu bringen und dann dasselbe Setup auf Ihr Telefon zu kopieren.
Onik

Ich kann nicht glauben, dass niemand weiß, wie man das macht. Warum gibt es die Option, wenn sie noch nie genutzt wurde?
Endolith

Ich habe einen Freund, der es eingerichtet hat ... auf CM 6 . Er musste alle VPN-Zertifikate erneut ausstellen, nachdem er feststellte, dass für den CM-Client bestimmte Felder festgelegt werden mussten. Ich werde sehen, ob ich mehr Informationen von ihm bekommen kann.
Broam

Antworten:


1

Überprüfen Sie zunächst die KeysRegisterkarte in TomatoVPN, um festzustellen, ob bereits einige Standardschlüssel definiert sind. Wenn nicht, lesen Sie das OpenVPN-HOWTO, um Informationen zum Generieren der Schlüssel zu erhalten. Kopieren Sie anschließend die ersten beiden Schlüssel (CA- und Serverzertifikat) aus den Textbereichen in einen Texteditor, speichern Sie sie mit dem .cerSuffix und übertragen Sie sie auf Ihr Telefon. CM7 sollte .cerZertifikate direkt importieren können, ältere Versionen benötigen jedoch möglicherweise .p12-Dateien ( Informationen zum Konvertieren finden Sie unter diesem Link .crt -> .pem ->.p12). Danach gehen Sie zu Settings -> Security -> Install from SD Card, um die Zertifikate auf das Telefon zu laden.


Dieser Link hat 14.000 Wörter. Können Sie mich direkt auf die relevanten Teile verweisen? Unterscheidet sich die Schlüsselgenerierung, wenn ich neben dem Telefon noch andere Computer an meinen Router anschließen möchte? Ich habe der Frage weitere Details hinzugefügt.
Endolith

1
Dieselben Schlüssel werden auch auf normalen Clients verwendet. Ich habe keine Erfahrung mit TomatoVPN, aber Sie sollten in der Lage sein, mindestens ein paar verschiedene Client-Schlüssel festzulegen. Es könnte auch möglich sein, die gleichen Schlüssel gleichzeitig auf verschiedenen Geräten zu verwenden, dies hängt jedoch vom OpenVPN-Setup ab. Die Schlüsselerstellung wird unter dem Titel "Einrichten Ihrer eigenen Zertifizierungsstelle (CA) und Generieren von Zertifikaten und Schlüsseln für einen OpenVPN-Server und mehrere Clients" beschrieben. Wenn Sie Schlüssel verwenden und diese aufbewahren, ist unter normalen Umständen keine Benutzer- / Pass-Authentifizierung erforderlich. Redirect Gateway sollte der einzige sein ...
onik

... eine, die Sie in den CM7-Einstellungen ändern müssen.
Onik

Grund für die Ablehnung?
Onik

1

OK, also lassen Sie uns das Problem klären.

Können Sie bitte erklären, für welche Datei? Wofür ist zum Beispiel der "ta.key"?

Normalerweise gibt es die Dateiliste auf der Serverseite:

  1. server.conf (die Konfiguration des Servers, scheinbar haben Sie diese Datei nicht?)
  2. ca.crt
  3. ca.key
  4. dh1024.pem

und der Server sollte auch eine Reihe von Client-Schlüsseln enthalten.

Für die Client-Seite sollte es haben:

  1. client.crt
  2. client.key
  3. ca.crt
  4. client.ovpn (oder client.conf)

Ich kann nicht verstehen, warum du einen Schlüssel hast.

Hier ist die Anleitung zum Erstellen der p12-Dateien:

Öffnen Sie ein Linux-Terminal (HINWEIS: Sie sollten OpenSSL vorinstalliert haben), geben Sie ein

openssl pkcs12 -export -in [PathToClientCert] -inkey [PathToClientKey] -certfile [PathToCACert] -name [FriendlyName] -out certs.p12

(Sie sollten den Inhalt der eckigen Klammern durch Ihren ersetzen und keine eckigen Klammern benötigen.)

Dann wird die p12-Datei mit dem Namen certs.p12 generiert.

Hoffe es wird helfen.


Ich weiß nicht, was ta.key ist. Der Server scheint in Ordnung zu sein. Ich weiß nur nicht, wie ich mich damit verbinden soll. /tmp/etc/openvpn/server1hat diese Dateien in ihm: ca.crt config.ovpn dh.pem server.crt server.key status. Vielleicht config.ovpnist das genauso wie server.conf?
Endolith

@endolith ja, config.ovpn ist dasselbe wie sever.conf. Möglicherweise müssen Sie config.ovpn bearbeiten, bevor Sie OpenVPN starten können.
Dumbfingers

@endolith Möchtest du eine Verbindung zu OpenVPN von einem CM7-Android-Handy oder woanders herstellen?
Dumbfingers

Auf dem Router läuft ein OpenVPN-Server, und ich möchte mit meinem CM7-Telefon eine Verbindung herstellen, ja.
Endolith

@endolith Verwenden Sie zuerst den Befehl, den ich zum Generieren der p12-Datei bereitgestellt habe, und kopieren Sie sie auf die SD-Karte Ihres Telefons. Folgen Sie diesem Befehl im Menü des Telefons: Einstellungen-Drahtlos & Netzwerke-VPN-Einstellungen-VPN hinzufügen, wählen Sie dann OpenVPNAdd VPN und geben Sie die folgenden Optionen ein: [VPN-Name] Beliebig [VPN-Server einstellen] Geben Sie die IP-Adresse wie angegeben ein Geben Sie "remote" in client.ovpn [Benutzerauthentifizierung] ein, wenn Sie Benutzer / Kennwort verwenden. Berühren und importieren Sie das CA-Zertifikat. Berühren und importieren Sie das Benutzerzertifikat (client.crt). Möglicherweise müssen Sie die erweiterten Optionen aktivieren. Das ist alles.
Dumbfingers
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.