Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Both sides previous revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
software:openvpn [2012/06/17 14:23] mhoffmann |
software:openvpn [2014/04/28 11:14] (aktuell) mhoffmann [Schlüssel erstellen] neue Version |
||
|---|---|---|---|
| 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 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 ===== | ===== 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> | ||
| + | #exportiere variablen der CA | ||
| + | source ./vars | ||
| + | |||
| + | #Setze den namen des neuen Zertifikates | ||
| + | export KEY_CN=[Name des neuen Zertifikates] | ||
| + | |||
| + | #Jetzt wird das zertifikat erstellt. Dies kann mit oder ohne Passwort erfolgen. | ||
| + | #Mit Passwort | ||
| + | ./pkitool --pass [Name des neuen Zertfikates] | ||
| + | #oder ohne Passwort | ||
| + | ./pkitool [Name des neuen Zertfikates] | ||
| + | </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 | Es gibt für nahezu jedes Betriebssystem einen OpenVPN Client, ein Übersicht über diese bekommt man hier: https://community.openvpn.net/openvpn/wiki/RelatedProjects | ||
| Zeile 130: | Zeile 148: | ||
| 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: | 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> | <code> | ||
| - | remote 176.9.72.244 | + | remote 176.9.72.244 [Port] |
| </code> | </code> | ||
| Natürlich kann man hier auch Domainnamen verwenden. | Natürlich kann man hier auch Domainnamen verwenden. | ||
| Zeile 143: | Zeile 161: | ||
| Nun testen man am besteen noch, ob man alles gewünscht erreicht: | Nun testen man am besteen noch, ob man alles gewünscht erreicht: | ||
| - | Auf der lokalen Maschine teste man mittels Terminal oder Windows-CMD einfach, ob man | + | Auf der lokalen Maschine teste man mittels PING im Terminal oder Windows-CMD einfach, ob man |
| * VPN-Server | * VPN-Server | ||
| * Computer im entfernten LAN | * Computer im entfernten LAN | ||
| Zeile 152: | Zeile 170: | ||
| + | ===== 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.