Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:openvpn

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Both sides previous revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte Überarbeitung Both sides next revision
software:openvpn [2012/06/17 14:12]
mhoffmann
software:openvpn [2012/10/11 10:23]
127.0.0.1 Externe Bearbeitung
Zeile 10: Zeile 10:
  
 ==== Konfiguration der Schlüssel==== ==== Konfiguration der Schlüssel====
-Die Konfiguration folgt dem Beispiel ​von Ubuntuusers.de ( http://​wiki.ubuntuusers.de/​OpenVPN ​)+Die Konfiguration folgt dem Beispiel: ​[[uu>OpenVPN]]
 Damit eine Verschlüsselung überhaupt möglich ist müssen zunächst die SSL-Zertifikate mit zugehöriger CA erstellt werden. Damit eine Verschlüsselung überhaupt möglich ist müssen zunächst die SSL-Zertifikate mit zugehöriger CA erstellt werden.
  
Zeile 41: Zeile 41:
  
 Zum Abschluss muss noch zwei mal mit //Y// bestätigt werden. Zum Abschluss muss noch zwei mal mit //Y// bestätigt werden.
- 
-Auch die Clients müssen Zertifikate besitzen um authentifiziert werden zu könnnen. Die Zertifikate für die Clients werden wie folgt erstellt: 
-<​code>#​ sudo -E ./build-key <​NameDesClients>​ </​code>​ erstellt. Hierbei muss beim Common Name der Name des Clients eingegeben werden. 
  
 Es müssen dann noch die Diffie-Hellmann-Paramter erstellt werden, die geschieht wiederrum mit <​code>#​ sudo -E ./​build-dh</​code>​ und kann je nach Prozessor einige Zeit dauern. Es müssen dann noch die Diffie-Hellmann-Paramter erstellt werden, die geschieht wiederrum mit <​code>#​ sudo -E ./​build-dh</​code>​ und kann je nach Prozessor einige Zeit dauern.
Zeile 95: Zeile 92:
 Hierzu fügen wir auf diesem Server eine statische Route hinzu. Temporär mit  Hierzu fügen wir auf diesem Server eine statische Route hinzu. Temporär mit 
 <​code>#​ sudo route add -net 10.8.0.0 netmask 255.255.255.0 gw vpn.server.i.p </​code>​ <​code>#​ sudo route add -net 10.8.0.0 netmask 255.255.255.0 gw vpn.server.i.p </​code>​
-Um die Route nach einem Neustart noch verwenden zu können müssen wir sie in die **/​etc/​rc.local des Computers eintragen, indem wir den gleichen Befehl ohne ''​sudo''​ dort eintragen.+Um die Route nach einem Neustart noch verwenden zu können müssen wir sie in die **/​etc/​rc.local** des Computers eintragen, indem wir den gleichen Befehl ohne ''​sudo''​ dort eintragen.
  
 === OpenVPN als Default-Gateways === === OpenVPN als Default-Gateways ===
Zeile 110: Zeile 107:
 # sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  ​ # sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  ​
 </​code>​ </​code>​
 +**Achtung:​** Die letzte Regel aktiviert für alle Verbindungen die über das Interface eth0 aufgebaut werden NAT, was zu ungewünschten Verhalten führen kann!. Beim Betrieb einer Firewall oder eines Routers (IP_Forwarding) auf dem Server muss die Konfiguration entsprechend verändert werden.
 +
 Da diese Regeln nach einem Neustart verloren gehen trägt man sie einfach wieder ohne ''​sudo''​ in die **/​etc/​rc.local** ein. Da diese Regeln nach einem Neustart verloren gehen trägt man sie einfach wieder ohne ''​sudo''​ in die **/​etc/​rc.local** ein.
 Mach beachte hierbei, dass im ersten Befehl der Parameter von **-s** das Netz des VPN-Servers sein muss, und das Interface **-i** der Tunnel Adapter **tun0** oder das TAP-Interface **tap1**, je nach Konfiguration. Mach beachte hierbei, dass im ersten Befehl der Parameter von **-s** das Netz des VPN-Servers sein muss, und das Interface **-i** der Tunnel Adapter **tun0** oder das TAP-Interface **tap1**, je nach Konfiguration.
 +
  
 === (Neu-)Start des Servers === === (Neu-)Start des Servers ===
 Nachdem der Server Konfiguriert wurde starten wir ihn mit  Nachdem der Server Konfiguriert wurde starten wir ihn mit 
 <​code>#​ sudo service openvpn restart </​code>​ neu. <​code>#​ sudo service openvpn restart </​code>​ neu.
 +===== Client =====
  
 +==== Schlüssel erstellen ====
 +Auch die Clients müssen Zertifikate besitzen um authentifiziert werden zu könnnen. Die Zertifikate für die Clients werden wie folgt im Ordner **/​etc/​openvpn/​easy-rsa2/​** erstellt:
 +<​code>#​ sudo -E ./build-key <​NameDesClients>​ </​code>​ erstellt.
 +
 +Nach Abschluss der Aktion liegen die Zertifikate im Ordner /​keys. ​
 +
 +Es gibt für nahezu jedes Betriebssystem einen OpenVPN Client, ein Übersicht über diese bekommt man hier: https://​community.openvpn.net/​openvpn/​wiki/​RelatedProjects
 +
 +Für den Betreib des Clients braucht man 4 Dateien (Hier mit Beispielnamen):​
 +  * Zertifikat des Cleints "​nutzer01.crt"​
 +  * Schlüssel des CLients ​ "​nutzer01.key"​
 +  * Zertifikat der CA: ca.crt
 +  * Configurationsdatei:​ client.conf (Unter windows muss man diese in client.ovpn umbennenen)
 +Die Zertifikate muss man natürlich vorher auf dem Server erstellt haben.
 +Die Konfigurationsdatei des Clients findet man auf dem VPN-Server unter **/​usr/​share/​doc/​openvpn/​examples/​sample-config-files/​client.conf**. Diese sollte man sich ins openvon Verzeichnis kopieren.
 +Nun muss man diese Datei geringfügig anpassen:
 +Die Remotadresse des Servers muss angegeben werden, also die **öffentliche** Adresse auf der der Server horcht (Siehe Serverkonfig). Angenommen unser Server hat die Adresse **176.9.72.244**,​ dann tragen wir ein:
 +<​code>​
 +remote 176.9.72.244 [Port]
 +</​code>​
 +Natürlich kann man hier auch Domainnamen verwenden.
 +Danach muss man noch die Zertfikatspfade anpassen.
 +Da die Dateien alle im gleichen Verzeichnis liegen sollten tragen wir ein:
 +<​code>​
 +ca ca.crt
 +cert nutzer01.crt
 +key nutzer01.key
 +</​code>​
 +Danach kann man den openVPN Client starten. Nahezu alle GUIs zeigen beim Verbindungsaufbau einen LOG an, so dass man Fehler schnell erkennen kann.
  
 +Nun testen man am besteen noch, ob man alles gewünscht erreicht:
 +Auf der lokalen Maschine teste man mittels PING im Terminal oder Windows-CMD einfach, ob man
 +  * VPN-Server
 +  * Computer im entfernten LAN
 +  * Computer im Internet (bspw. Google)
 +erreicht.
 +Funktioniert das alles so hat man die Konfiguration erfolgreich abgeschlossen.
  
  
  
 +===== Hinweis =====
 +  - Für ein Bridged-Setup muss man eine andere Konfiguration für die Netzwerkfreigabe und den Internettunnel verwenden
 +  - Wenn man in dem privaten Netzwerk keinen DNS-Server laufen hat, kann es sein, dass man dort gehostete Websiten nicht mehr über den domainnamen erreicht.
  
  
 +{{tag>​vpn sicherheit}}
  
  

Bei Verwendung dieses Wikis erklären Sie sich mit dem Haftungsausschluss, Nutzungsbedingungen und der Datenschutzerklärung dieses Wikis einverstanden. Impressum.

software/openvpn.txt · Zuletzt geändert: 2014/04/28 11:14 von mhoffmann