Projektbeschreibung
Ein einzelner, externer Client soll in das interne Firmennetzwerk eingebunden werden um verschiedene Dienste zur Verfügung zu stellen.
Dafür wird ein interner Host mit „IPFire“ sowie dem „OpenVPN“ Server- Addon aufgesetzt.
Der externe Client wird mit dem „OpenVPN“ Client ausgestattet.
Grundkonfiguration
Zuerst wird „IPFire“ auf dem internen Host aufgesetzt und grundlegend konfiguriert.
Über die „IPFire“ Weboberfläche, unter dem Reiter „dienste“ à „OpenVPN“ kann die Konfiguration des VPN Servers vorgenommen werden.
Konfiguration des OpenVPN Server
Zuerst erstellt man ein Root/Host Zertifikat.
Dazu ist das Formular mit den entsprechenden Angaben zu füllen. Dabei sind Felder die mit einem Sternchen markiert sind optional.
Nachdem alle Eingaben getätigt wurden, werden die Zertifikate über „Erzeuge Root/Host Zertifikat“. Dieser Vorgang kann einige Zeit dauern.
Nun wird bei der Checkbox „OpenVPN auf ROT“ ein Haken gesetzt, was einen externen Zugriff ermöglicht.
Als „Lokaler VPN Hostname / IP“ sollte statt dem FQDN oder der IP des Interfaces „ROT“ die WAN IP, bzw. der Hostname über den der „IPFire“ Server von außen erreichbar ist.
Als nächstes wird bei der Checkbox „LZO-Kompression“ ein Haken gesetzt (Dieses komprimiert die Datenpakete und sorgt für eine stabilere Verbindung, was aber zu erhöhter CPU Last beim Host führt.) und die Verschlüsselung konfiguriert. Hierbei ist zu beachten dass eine stärkere Verschlüsselung auch zu einer erhöhten CPU Last beim Host führt. Die Verschlüsselung sollte entsprechend der Rechenleistung des Host gewählt werden.
Als Faustregel gilt:
– DES-CBC schwache Verschlüsselung, für ein langsames System geeignet
– AES-256-CBC starke Verschlüsselung, für ein schnelles System geeignet
Der letzte Schritt beim Host ist die Erstellung einer Verbindung für den Client.
Man wählt bei „Client Status und Kontrolle“ „Hinzufügen“ aus, wählt als Verbindungstyp „Host-zu-Netz Virtual Private Network (RoadWarrior)“ und bestätigt mit „Hinzufügen“.
Nun wird das Formular mit den entsprechenden Daten gefüllt. Dabei sind Felder die mit einem Sternchen markiert sind optional. Falls bei „PKCS12 Datei-Passwort“ ein Passwort gesetzt wird, muss der Client dieses Passwort beim Verbinden eingeben.
Abschließend wird mit „Speichern“ der Vorgang abgeschlossen.
Jetzt muss man das „Client-Paket“ herunterladen. Dieses Paket beinhaltet eine Konfigurations Datei für den Client sowie das entsprechende Zertifikat.
Konfiguration des Client
Auf dem Client muss die OpenVPN Software installiert sein.
Im Falle von Debian reicht ein Einfaches:
apt-get install openvpn
Nach der Installation muss das zuvor heruntergeladene „Client-Paket“ entpackt werden und die Dateien:
VERBINDUNGSNAME.ovpn
VERBINDUNGSNAME.p12
nach „/etc/openvpn“ hochgeladen werden. Die Datei „VERBINDUNGSNAME.ovpn“ sollte in „client.conf“ umbenannt werden.
Anschließend wird der OpenVPN über:
/etc/init.d/openvpn
Neugestartet.
Zusätzliches
Um das restliche Netzwerk vom Client aus zu erreichen, muss eine Rückroute erstellt werden.
10.28.16.0 – Netz-ID vom OpenVPN Netzwerk
172.8.1.11 – IPFire Green NIC
route add -net 10.28.16.0 netmask 255.255.255.0 dev green0 gw 172.8.1.11
iptables -t nat -A CUSTOMPOSTROUTING -o green0 -d 10.28.16.0/24 -j MASQUERADE
———————-
Vielen Dank an Pierre für das Howto