itnirvana
Goto Top

Im Ubuntu für Openvpn die Client Ovpn Files erstellen

Hallo,

ich habe folgende Frage. Ich habe Ubuntu 20.04
Wir haben Openvpn ab Command Line installiert. Nicht über Seite OpenVPN . Dort hat man keine GUI
Es gibt Anleitungen zur Erstellung des Client Zertificates wie
https://gridscale.io/community/tutorials/openvpn-ubuntu-installieren/
Es heisst:
Die Erstellung des Client Zertifikats läuft ähnlich ab wie die des Server Zertifikats.
Bsp:
Die Variablen der vars Datei müssen als erstes noch einmal geladen werden.

cd ~/openvpn-ca
source vars

./build-key client1

Nun habe ich zwar Zertificate für die Clients , aber wie mache ein OVPN File daraus ?
Nach einer anderen Anleitung hatte ich zwar ein OVPN File , aber das konnte scheinbar nicht in den Client eingelesen werden-.


Gruss
Jonas

Content-Key: 621163

Url: https://administrator.de/contentid/621163

Ausgedruckt am: 29.03.2024 um 14:03 Uhr

Mitglied: BirdyB
BirdyB 11.11.2020 um 14:19:50 Uhr
Goto Top
Moin
in /usr/share/doc/openvpn/ findest du eine Beispiel-Client-Datei.
Die kannst du an deine Bedürfnisse anpassen.

VG
Mitglied: itnirvana
itnirvana 11.11.2020 aktualisiert um 14:36:11 Uhr
Goto Top
Hallo,

ja die hatte ich ja auch angepasst. Heute morgen. Es gibt in den Anleitungen paarmal dies
Man muss vor allen seine IP vom VPN Server oder Oeffentloiche IP eintragen

Aber wenn ich nun auf einen Client Openvpn installieren um zu verbinden. Habe ich keine Files.

ovpn_fehler

Gruss
Jonas
Mitglied: aqui
aqui 11.11.2020 aktualisiert um 14:50:30 Uhr
Goto Top
Hinweise im hiesigen OpenVPN Tutorial hast du gelesen ?
Merkzettel: VPN Installation mit OpenVPN
bzw. Zertifikate mit Easy RSA auch hier:
OpenVPN Server installieren auf pfSense Firewall, Mikrotik. DD-WRT oder GL.inet Router

Du hast vermutlich wie auch @LordGurke schon vermutet ein falsches oder fehlerhaftes Format deiner .ovpn Datei die du in den Smartphone Client importierst.
Dort fehlen, der Error Meldung zufolge, die Zertifikate und Keys.
Wie der Inhalt dieser Datei auszusehen hat kannst du hier sehen:
https://gist.github.com/renatolfc/f6c9e2a5bd6503005676
https://openvpn.net/faq/i-am-having-trouble-importing-my-ovpn-file/

Die Key und Zertifikate sind simple ASCII Text Dateien die nach dem oben beschriebenen Format in der .ovpn Datei inklusive der Konfig enthalten sein müssen, was bei dir augenscheinlich nicht der Fall ist ?!
Leider hast du es versäumt deine Konfig Datei in einer gekürzten Form hier mal in Code Tags zu posten, dann wäre auch uns ein zielführendes Troubleshooting leichter gefallen. So können auch wir nur im freien Fall raten... face-sad
Mitglied: LordGurke
LordGurke 11.11.2020 aktualisiert um 14:49:11 Uhr
Goto Top
Die Beispiele aus dem Ordner sind... Gelinde gesagt vollkommen veraltet.
Du musst das für Android und iOS in eine einzelne Datei packen - hier ist ein Beispiel.
Anstatt dass du den Namen der Zertifikatsdatei angibst, musst du den Inhalt des Zertifikats zwischen die Klammern "<ca>", "<cert>" u.s.w. direkt reinkopieren.
Dieses Dateiformat kannst du aber auch für alle anderen mir bekannten Clients verwenden. Auf jeden Fall funktionieren die auch so unter Linux und Windows. (Und ehrlich gesagt würde ich das auch bevorzugt nehmen - denn so ist die Einrichtung auf den Clients viel einfacher!)
Mitglied: itnirvana
itnirvana 11.11.2020 um 15:24:04 Uhr
Goto Top
Hallo,

danke für die Infos. Ich weiss eben gar nicht, wie ich das OVPN überhauipt zu erzeugen ahbe. Das ist das grundsätzliche Problem.
Ich hatte mal eines erzeugt. Das war aber Fehlerhaft.

Gruss
Jonas
Mitglied: aqui
aqui 11.11.2020 aktualisiert um 15:49:36 Uhr
Goto Top
wie ich das OVPN überhauipt zu erzeugen ahbe.
  • Texteditor deiner Wahl starten. Z.B. der Klassiker nano (Ubuntu) oder Notepad++ (Winblows)
  • dann die Konfig nach dem o.a. Github Beispiel rein cut and pasten. Ebenso die Keys und Zertifikate in den <ca>", "<cert>" u.s.w. Klammern. Die müssen beachtet werden !
  • File meinclient.ovpn nennen und importieren
  • Fertisch
Eigentlich doch ganz einfach, oder...?! face-wink
Mitglied: itnirvana
itnirvana 11.11.2020 aktualisiert um 15:50:39 Uhr
Goto Top
Achso , das muss man dann immer manuell zusammenlegen.
so wie hier

https://openvpn.net/faq/i-am-having-trouble-importing-my-ovpn-file/
oder Github:

https://gist.github.com/renatolfc/f6c9e2a5bd6503005676
In dem Fall kann man das nicht automatisch erzeugen ? Wollte das eben noch mit Google Authenticator koppeln. Das wird dann problematisch

Gruss
Jonas

Habe das nun importiert . Hatte zuerst eine ca.key dann 02.pem (war einzigste Datei wie im Git Beispiel) , client.key und dann ta.key .Connected aber nicht.
Mitglied: aqui
aqui 11.11.2020 um 15:52:30 Uhr
Goto Top
das muss man dann immer manuell zusammenlegen.
Ob man das muss oder es ein Tool dafür gibt kann ich dir nicht sagen da ich immer die Einzeldateien nehme und noch nicht mit einem .ovpn Archivfile gearbeitet habe.
Ggf. kann Kollege @LordGurke nochwas dazu beisteuern...?!
Mitglied: itnirvana
itnirvana 11.11.2020 aktualisiert um 16:40:20 Uhr
Goto Top
Stimmen die Dateien die ich genommen habe ? konnte nun anstatt 02.pem die Client.crt nehmen
Connect gebt eben trotzdem nicht face-sad

Gruss
Jonas
Mitglied: Epigenese
Epigenese 11.11.2020 um 19:37:30 Uhr
Goto Top
Hallo Jonas,

hier in der Anleitung https://ctaas.de/OpenVPN_Server_Ubuntu_howto.htm findest du ab 34. wie die .ovpn mit einem script erstellt wird.
Finde ich insgesamt ein sehr gute und ausführlich erklärte Anleitung, zu OpenVPN Server und Client.

Die Anleitung ist vom 31-03-2020 und mit Ubuntu 20.04 umgesetzt.

Grüße
Epi
Mitglied: itnirvana
itnirvana 12.11.2020 um 09:55:02 Uhr
Goto Top
ja das Script sieht super aus . Habe es aber auf meine Pfade anpassen muessen

#!/bin/bash

# $1 ist der zuerst übergebene Parameter (der Client-Name).
# Dieses Script erzeugt die *.ovpn Datei für den angegebenen Client.

KEY_DIR=./etc/openvpn/easy-rsa/keys
OUT_DIR=./etc/openvpn/client

cat ./etc/openvpn/client.conf > ${OUT_DIR}/$1.ovpn | echo -e "  
<ca>       \n$(cat ${KEY_DIR}/ca.crt)\n</ca>
<cert>     \n$(cat ${KEY_DIR}/$1.crt)\n</cert>
<key>      \n$(cat ${KEY_DIR}/$1.key)\n</key>
<tls-crypt>\n$(cat ${KEY_DIR}/ta.key)\n</tls-crypt>" >> ${OUT_DIR}/$1.ovpn  

hatte es auch mit dem Original pfad gestestet und die Verzeichnisse erstellt und da die Cerst mal kopiert. Bei mit führt es das file nicht aus.
Es kommt
file

Gruss Jonas
Mitglied: LordGurke
LordGurke 12.11.2020 aktualisiert um 10:11:11 Uhr
Goto Top
Da sind Windows-Zeilenumbrüche in der Datei. Wie kam dieses Script auf den Server?
Mitglied: itnirvana
itnirvana 12.11.2020 um 10:11:24 Uhr
Goto Top
ah ok.
Ich hatte es editiert und dann per Winftp auf den Server geladen


Gruss
Jonas
Mitglied: LordGurke
LordGurke 12.11.2020 um 10:12:45 Uhr
Goto Top
Dann musst du dem Editor sagen, dass da Unix-Zeilenumbrüche rein sollen face-wink
Mitglied: aqui
aqui 12.11.2020 um 10:31:20 Uhr
Goto Top
Oder auf Winblows eben Notepad++ verwenden ! face-wink
Einfacher ist es zudem WinSCP für den Transfer zu nutzen, denn das erfordert keinen zusätzlichen FTP Server sondern rennt mit dem eh per Default schon laufenden SSH.
Mitglied: itnirvana
itnirvana 12.11.2020 aktualisiert um 10:35:53 Uhr
Goto Top
Hallo,

ok danke für den TIP . Habe das mal auf Ubuntu neu geschrieben. Waren nur ein paar Zeile,

neu

Trotzdem kommen diese Fehler

fehler
Die Verzeichnisse und Files gibt es ?

Die client.conf wurde auch mit den Pfad angaben angepasst.

screenshot 2020-11-12 103450

Gruss
Jonas
Mitglied: aqui
aqui 12.11.2020 aktualisiert um 10:41:32 Uhr
Goto Top
Er meckert ja die Zeile 9 des Scripts an !! Dort steckt der Fehler.
Die Datei oder das Verzeichnis /etc/openvpn/client/client.ovpn gibt es nicht !
Oder du hast keine Rechte. Machst du das als Root User (sudo su) ?
Ohne Script nur mit dem nano Editor dauert es 30 Sekunden das per cut and paste zu kombinieren. face-wink
Mitglied: itnirvana
itnirvana 12.11.2020 um 10:46:30 Uhr
Goto Top
Hallo,

ok . ja das dachte ich auch. Aber es gibt ja noch keine *.ovpn Files.
Ich will ja eines erstellen.Ordner Client hat nun REchte 777
Ausgeführt als Root User.

Gruss
Jonas
Mitglied: aqui
aqui 12.11.2020 aktualisiert um 10:52:22 Uhr
Goto Top
Mit touch client.ovpn die Datei vorher mal leer angelegt ?!
Mitglied: itnirvana
itnirvana 12.11.2020 um 11:11:04 Uhr
Goto Top
Hallo,

ich habe die nun leer angelegt.
Nun kommt aber mit dem Command, das es nicht geht
screenshot 2020-11-12 111016_

Gruss
Jonas
Mitglied: aqui
aqui 12.11.2020 um 11:50:27 Uhr
Goto Top
Du hast einen Winblows Backslash verwendet zum Aufruf ! Solchen Unsinn kennt Linux natürlich nicht !
Mitglied: itnirvana
itnirvana 12.11.2020 um 13:06:52 Uhr
Goto Top
Hallo,

ja auch mit vorwärtsslash geht es nicht. Und er bemängelt. das client.ovpn obwohl ich ein leeres mit touch erstellte.

slas

Gruss
Jonas
Mitglied: aqui
aqui 12.11.2020 um 13:57:31 Uhr
Goto Top
Lasse in der Conf Datei doch bei den Pfadangaben mal das "./" weg und gib dafür immer den kompletten Pfad an !
Es sieht ja ganz danach aus als ob das mit "./" nicht klappt.
Mitglied: itnirvana
itnirvana 12.11.2020 um 16:55:40 Uhr
Goto Top
Hallo,

ich habe das File nun so

1

Es kommt aber trotzdem

1

Ist das correct im ersten Bild ?

Gruss
Jonas
2
Mitglied: aqui
aqui 12.11.2020 aktualisiert um 17:04:37 Uhr
Goto Top
ich habe das File nun so
Ist ja ne schwere Geburt mit dir.... Ist auch falsch ! face-sad
KEY_DIR=/etc/openvpn/easy-rsa/keys
OUT_DIR=/etc/openvpn/client

Wäre richtig.
Ohne den leading Slash sucht das Script doch immer im laufenden Verzeichnis in der Hierarchie abwärts und nicht von Root / aus !
Sorry, aber solche Banalitäten sollte man aber wissen. Ist doch bei Winblows auch so.
Mitglied: itnirvana
itnirvana 12.11.2020 aktualisiert um 18:43:46 Uhr
Goto Top
ja entschuldigung face-smile
Das File hat es erstellt. Leider verbindet es trotzdem nicht. Ich hatte ja das File auch mal manuell erstellt.

Es kommt TLS Error : TLS Key negoiation failed
https://openvpn.net/faq/tls-error-tls-key-negotiation-failed-to-occur-wi ...

Auf Ubuntu ist aber Port offen Sudo ufw allow 1194

Gruss
Jonas
Mitglied: aqui
aqui 13.11.2020 um 10:24:56 Uhr
Goto Top
Auf Ubuntu ist aber Port offen Sudo ufw allow 1194
TCP oder UDP ??
Normal benutzt OpenVPN immer UDP als Encapsulation !

Stoppe mit systemctl stop openvpn erstmal den Daemon und starte den OpenVPN auf der Konsole, dann kannst du im Konsolfenster genau sehen was passiert. Ggf. den Verbose Mode etwas höher drehen.
OpenVPN Server installieren auf pfSense Firewall, Mikrotik. DD-WRT oder GL.inet Router
Du solltest dann Initialization Sequence Completed sehen.
Wenn du jetzt einen Client Connect machst und du siehst keinerlei Status Messages und am Client kommt zusätzlich wieder TLS Key negoiation failed, dann blockiert de facto irgendetwas im Pfad zwischen Client und Server die OpenVPN Pakete.
Leider kennt man deine Netzwerk Topologie nicht da du keinerlei Angaben dazu machst so das dies vielfältige Ursachen haben kann. Lokale Firewall Server, Hardware Firewall oder NAT Router im Pfad usw. usw.
Mitglied: itnirvana
itnirvana 13.11.2020 aktualisiert um 10:56:45 Uhr
Goto Top
Danke. face-smile Ich komme der Sache näher.
Ich habe nun im ubuntu sudo ufw allow 1194/udp ausgeführt im Server.conf Verbose auf 9 gesetzt.
Wenn ich nun connecten möchte kommt

DEPRECATED OPTION: --cipher set to 'AES-256-CBC' but missing in --data-ciphers (AES-256-GCM  
das gefunden
https://www.reddit.com/r/PrivateInternetAccess/comments/j1iyl7/openvpn_c ...
Es kommt auch read udp unknown error (code=10054)

Openvpn und testclient sind im selben Netz.- Es ist eine Testumgebung

WErde später oder am Monatg schauen, was das bedeutet.

Gruss
Jonas
Mitglied: aqui
aqui 13.11.2020 aktualisiert um 11:31:08 Uhr
Goto Top
Wenn ich nun connecten möchte kommt
Troubleshooting ist sehr schwer für die Community hier, weil du es bisher versäumt hast uns deine OVPN Server Konfig zu posten. face-sad
Damit bleibt uns ja nur die Kristallkugel...
Lasse das cipher AES-256-CBC und auth SHA256 in der Server und Client Konfig komplett weg, dann wählt OVPN dynamisch das was beide Seiten an Chiffren und Hashing können.
Solltest du es statisch in der Server Konfig angegeben haben dann muss es natürlich auch in der Client Konfig angegeben werden !
Wie gesagt...all das ist im hiesigen OpenVPN Tutorial genau beschrieben:
Merkzettel: VPN Installation mit OpenVPN
Mitglied: itnirvana
itnirvana 13.11.2020 um 13:21:38 Uhr
Goto Top
Hallo,

anbei die aktuelle Server.conf

port 1194
proto udp
dev tun
ca ./easy-rsa/keys/ca.crt
cert ./easy-rsa/keys/server.crt
key ./easy-rsa/keys/server.key  # This file should be kept secret
dh ./easy-rsa/keys/dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100
;server-bridge
;push "route 192.168.10.0 255.255.255.0"  
;push "route 192.168.20.0 255.255.255.0"  
;client-config-dir ccd
;route 192.168.40.128 255.255.255.248
;route 10.9.0.0 255.255.255.252
;client-to-client
duplicate-cn
keepalive 10 120
tls-auth ta.key 0 # This file is secret
# cipher AES-256-CBC
;compress lz4-v2
;push "compress lz4-v2"  
comp-lzo
;max-clients 100
;user nobody
;group nogroup
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
;log         /var/log/openvpn/openvpn.log
;log-append  /var/log/openvpn/openvpn.log
verb 9
;mute 20
explicit-exit-notify 1
management localhost 1194

Die Cipher etc..habe ich entfernt. Trotdem kommt eben
Fri Nov 13 13:18:55 2020 read UDP: Unknown error (code=10054)
Fri Nov 13 13:19:26 2020 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Fri Nov 13 13:19:26 2020 TLS Error: TLS handshake failed

Gruss
Jonas
Mitglied: aqui
Lösung aqui 13.11.2020 um 13:34:33 Uhr
Goto Top
Konfig ist soweit OK. 3 Fehler...
  • Es fehlt irgendeine Art von Routing (Redirekt oder Split Tunnel) was aber erstmal zum Test egal ist
  • user nobody und group nogroup muss bei Unix zwingend aktiv sein !
  • Compression solltest du wegen der Sicherheit immer ausgeschaltet lassen. Bringt eh nicht viel.

Der Negotiation Error besagt immer noch das kein Client Traffic am Server ankommt.
Hast du...
  • Daemon gestoppt (systemctl stop ...) und lokal gestartet ?
  • Wenn du lokal startest irgendwelche Error Meldungen ?
  • Siehts du bei laufendem Server in der Konsolle Connect Messages vom Client ?

Es ist sehr schwer verständlich was du schief läuft. Nimmt man normal einen Raspberry Pi oder Ubuntu und gibt apt install openvpn ein, spielt die Server Konfig und Zertifikate ein ist der OpenVPN Server sofort plug and play up and running.
Maximal 10 Minuten....