Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| computer:openvpn_mit_zerina [2010/06/08 08:33] – angelegt christian | computer:openvpn_mit_zerina [2012/03/02 13:06] (aktuell) – gelöscht christian | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | Verbindungen von außerhalb in das geschützte Netz sind immer mal notwendig - beispielsweise, | ||
| - | |||
| - | |||
| - | ======Vorraussetzungen====== | ||
| - | |||
| - | Ich setze hier einfach vorraus, dass IPCop sowie alle Hosts im grünen, geschützten Netz korrekt konfiguriert wurden und eine Netzwerk-Konnektivität besteht. Das Implementieren des Heimnetzes, sowie die Konfiguration der Dienste und IPCop sind **nicht** Bestand dieses Artikels. | ||
| - | |||
| - | Ich setze hier auf IPCop in der Version **1.4.21**, die neue Version **1.9.7** hat diese Funktionalität bereits fest integriert. Hier muss nicht mehr "// | ||
| - | |||
| - | |||
| - | |||
| - | ======Szenario====== | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | Ich habe als anschauliches Beispiel einen Teil meines eigenen Netzwerks ausgewählt. | ||
| - | |||
| - | Hinter der IPCop-Firewall liegt ein Backup-Server, | ||
| - | |||
| - | Die IPCop-Firewall steht mit dem Router, welcher mit dem Internet verbunden ist, in Verbindung und filtert so ein- und ausgehenden Datenverkehr zwischen dem Internet und dem internen geschützten Netzwerk. | ||
| - | |||
| - | |||
| - | |||
| - | ======Funktionsweise====== | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | Für das VPN wird ein eigenes Subnetz erstellt. In diesem befinden sich die eingewählten Benutzer und die IPCop-Firewall. | ||
| - | Wenn sich ein Benutzer einwählt, ist er also mit der Firewall in einem Subnetz, er hat also erstmal keinen Zugriff auf den Backup-Server, | ||
| - | |||
| - | Benutzt er allerdings die IPCop-Firewall als Gateway, kann er über den IPCop Zugriff in das andere Netz erlangen und so beispielsweise Zugriff auf den Backup-Server erhalten. | ||
| - | |||
| - | |||
| - | |||
| - | ======IPCop-Konfiguration====== | ||
| - | |||
| - | Um fortzufahren, | ||
| - | |||
| - | |||
| - | |||
| - | ====ZERINA-Installation==== | ||
| - | |||
| - | ZERINA ist eine Erweiterung für IPCop - sie erweitert die Firewall um die OpenVPN-Funktionalität. Auf der Seite des Projekts kann die aktuelle Version der Erweiterung bezogen werden: http:// | ||
| - | |||
| - | Diese Datei muss nun auf die IPCop-Firewall übertragen werden - am Besten gelingt dies über SCP, beispielsweise mit dem Programm WinSCP. | ||
| - | |||
| - | Auf der Firewall muss diese Datei nun in einem Ordner entpackt werden: | ||
| - | |||
| - | < | ||
| - | |||
| - | **Hinweis: | ||
| - | |||
| - | Wichtig ist es, dass die aktuellste Version von IPCop verwendet wird, ich habe die Version **1.4.21** verwendet. Die Installation von ZERINA war hier allerdings etwas frickelig, denn das Installationsprogramm muss noch editiert werden. Hierzu wird die Datei **install** editiert: | ||
| - | |||
| - | < | ||
| - | |||
| - | Folgende Zeile muss editiert werden: | ||
| - | |||
| - | < | ||
| - | |||
| - | in: | ||
| - | |||
| - | < | ||
| - | |||
| - | Nur dann wird die Installation überhaupt ausgeführt. Andernfalls wird behauptet, IPCop seie zu alt. | ||
| - | |||
| - | Die Installation muss fehlerfrei durchlaufen - treten Fehler auf, müssen die Meldungen beachtet werden. Sie helfen eventuell bei der Lösung des Problems. Andernfalls kann ein Blick in das IPCop- oder OpenVPN-Forum helfen. | ||
| - | |||
| - | ====OpenVPN-Konfiguration==== | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | Nach der Installation von **ZERINA** ist im VPN-Menü ein neuer Menüpunkt, // | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | Wenn dort draufgeklickt wird, öffnet sich ein Konfigurationsdialog, | ||
| - | |||
| - | Um den Zugriff von außen zu ermöglichen, | ||
| - | Allerdings erfordert dies auch mehr CPU-Leistung - da IPCop-Systeme oftmals auf rechenschwachen eingebettenen oder Thin-Client Systemen betrieben werden, ist es überlegenswert, | ||
| - | |||
| - | Als VPN-Hostname muss ein Netz-Hostname oder die IP des IPCop-Systems angegeben werden, meist wird das hier schon automatisch vorselektiert. Rechts hiervon kann ein anderes VPN-Subnetz vergeben werden. Neben der Netzadresse wird hier noch die Subnetzmaske erwartet. | ||
| - | |||
| - | Bei Bedarf lassen sich noch der VPN-Port (//1194 standardmäßig// | ||
| - | |||
| - | **Tipp:** //Weitere Einstellungen können im " | ||
| - | |||
| - | Wurden die Einstellungen angepasst, reicht ein Klick auf // | ||
| - | |||
| - | |||
| - | |||
| - | ===Erstellen eines Root-Zertifikats=== | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | Nun ist es notwendig, ein Root-Zertifikat zu generieren. Dieses wird dringend benötigt, um VPN überhaupt zu betreiben. Es wird zur Verschlüsselung der Benutzer-Zertifikate und zum Verbindungsaufbau benötigt. | ||
| - | |||
| - | Unterhalb des Konfigurationsdialog gibt es eine Schaltfläche namens "// | ||
| - | |||
| - | Benötigt werden folgende Angaben: | ||
| - | |||
| - | * **Name der Organisation** - //hier eine kurze treffende Bezeichnung oder Firmenname angeben// | ||
| - | * **IPCop' | ||
| - | * **Ihre E-Mail Adresse** - //Die E-Mail-Adresse des Verantwortlichen/ | ||
| - | * **Ihre Abteilung** - // | ||
| - | * **Stadt** - //Name der Stadt// | ||
| - | * **Bundestaat** - // | ||
| - | * **Land** - //Ich denke, das muss nicht erklärt werden// | ||
| - | |||
| - | **Hinweis: | ||
| - | |||
| - | Ein Klick auf den // | ||
| - | |||
| - | Nach dem Erstellen des Zertifikats kann der OpenVPN-Server mit einem Klick auf den entsprechenden Button gestartet werden. | ||
| - | |||
| - | |||
| - | |||
| - | ===Erstellen eines Benutzer-Zertifikats=== | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | Nachdem das Root-Zertifikat vorhanden ist und der OpenVPN- Server läuft, fehlen noch die Benutzerzertifikate. Jeder Benutzer, der eine OpenVPN-Verbindung herstellen können soll, benötigt ein solches Zertifikat. | ||
| - | |||
| - | Mit einem Klick auf den entsprechenden Button (//siehe Bildschirmfoto links!//) wird der passende Dialog aufgerufen. | ||
| - | |||
| - | Als Verbindungstyp muss hier // | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | Erwartet werden hier im wesentlichen folgende Angaben: | ||
| - | |||
| - | * **Name** - //Kurzer Name, hier dürfen nur Buchstaben und keine Leer- und Sonderzeichen verwendet werden.// | ||
| - | * **Anmerkung** - //optionale Angabe, erhöht ggf. die Übersichtlichkeit bei steigender Benutzerzahl// | ||
| - | * **Aktiviert** - //Soll das Zertifikat gleich aktiviert werden? Wenn ja, dann muss der Haken gesetzt sein.// | ||
| - | | ||
| - | Erzeuge ein Zertifikat: | ||
| - | * **Voller Name** - //Name des Benutzers// | ||
| - | * **E-Mail-Adresse** - // | ||
| - | * **Abteilung** - //In Firmenen-Netzwerken kann hier die Abteilung angegeben werden// | ||
| - | * **Name der Organisation** - //Name der Firma/ | ||
| - | * **Stadt** - //Stadt, in der der Benutzer wohnt// | ||
| - | * **Bundestaat** - // | ||
| - | * **Land** - //Ich denke, das muss nicht erklärt werden// | ||
| - | |||
| - | **Hinweis: | ||
| - | |||
| - | ======Client-Konfiguration====== | ||
| - | |||
| - | Bevor eine Verbindung vom Client zum entfernten Netzwerk aufgebaut werden kann, müssen noch einige Schritte ausgeführt werden. | ||
| - | |||
| - | =====OpenVPN-Client===== | ||
| - | Auf dem Client, welcher eine Verbindung zum Netzwerk herstellen können soll, muss die OpenVPN-Software installiert sein. OpenVPN ist nahezu für jede Plattform erhältlich. So gibt es Clients für BSD, Linux, Mac und Windows. Für letzteres gibt es sogar eine intuitive und einfache grafische Oberfläche, | ||
| - | |||
| - | Die Einrichtung dieser Software ist nicht Bestandteil dieses Artikel. | ||
| - | |||
| - | Ich setze vorraus, dass die VPN-Software auf dem Client eingerichtet wurde und funktionsfähig ist. Zu beachten sind die Hinweise zur Software-Installation der jewiligen Distribution/ | ||
| - | |||
| - | |||
| - | |||
| - | =====Beziehen des Zertifikats===== | ||
| - | Damit ein Client eine Verbindung aufbauen kann, benötigt er das //OpenVPN Client-Paket//, | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | Im Web-Frontend von IPCop kann im OpenVPN-Bereich unterhalb in einer Tabelle aller Benutzer dieses Paket in einem ZIP-Archiv heruntergeladen werden. Der Inhalt dieses Archivs wird benötigt. | ||
| - | |||
| - | Unter Windows muss der Inhalt des Archivs in den Ordner **C: | ||
| - | |||
| - | ==Anpassen des Zertifikats== | ||
| - | |||
| - | Bevor eine Verbindung hergestellt werden kann, muss die Konfigurationsdatei (**// | ||
| - | |||
| - | < | ||
| - | |||
| - | Diese Zeile definiert die Adresse zum IPCop-Rechner im entfernten Netzwerk. Hier ist allerdings die IP dieses Rechners im geschützten grünen Netz vermerkt - der Client würde, wenn jetzt versuchen wird, eine Verbindung herzustellen, | ||
| - | |||
| - | Der IPCop-Rechner, | ||
| - | |||
| - | Die Zeile muss angepasst werden, sodass der DynDNS-Hostname statt der IP vermerkt wird - beispielsweise: | ||
| - | |||
| - | < | ||
| - | |||
| - | **WICHTIG: | ||
| - | |||
| - | |||
| - | ====Konfigurieren von Routen==== | ||
| - | |||
| - | Der verbundene Client befindet sich später im vorher konfigurierten OpenVPN-Subnetz. Soll allerdings Zugriff auf ein anderes Netz, beispielsweise das GRÜNE Netz ermöglicht werden, muss die Konfigurationsdatei noch um Routen-Definitionen erweitert werden. | ||
| - | |||
| - | Hier im Beispiel soll der Client beispielsweise auf das GRÜNE Netz, in welchem sich der am Anfang erwähnte Backup-Server befindet, erhalten: | ||
| - | |||
| - | < | ||
| - | |||
| - | Die Regel besagt: //Für alle Rechner, die sich im Netz **192.168.1.0** befinden, und die Subnetzmaske **255.255.255.0** haben, wird der Rechner **10.56.176.1** als Gateway benutzt.// | ||
| - | |||
| - | **10.56.176.1** ist der IPCop-Rechner. Das VPN-Netz lautet, wie vorher konfiguriert, | ||
| - | |||
| - | ======Internetverweise====== | ||
| - | |||
| - | * Auftritt des Zerina-Projekts: | ||
| - | * IPCOP-Forum: | ||
| - | * ZERINA-Konfiguration: | ||