OpenVPN und Freetz, wie stricke ich mein eigenes VPN: Unterschied zwischen den Versionen

Aus Zebradem WIKI
Zur Navigation springenZur Suche springen
Teufelchen (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(27 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:
<center><big><span style="color:#B5B5B5;">'''''Das Board mit Freiheiten'''''</span></big></center>
<center><big><span style="color:#B5B5B5;">'''''Das Board mit Freiheiten'''''</span></big></center>
<font color=white></font>
<font color=white></font>
----
----
<br>
<br>
<div style="margin: 0px 20px 15pt 15pt; border: 2px solid rgb(223, 223, 223); padding: 0em 1em 1em; background-color:#303140; border: 1px solid #000000;">
<div style="margin: 0px 20px 15pt 15pt; border: 2px solid rgb(223, 223, 223); padding: 0em 1em 1em; background-color:#303140; border: 1px solid #000000;">
<br />
<br/>
{{Navi-Sektion}}
{{Navi-Freetz-Sektion}}




Freetz@OpenVPN
== <center><big>'''OpenVPN@Freetz''' </big></center> ==


Howto für OpenVPN mit Server@Freetz und Client@Windows. Damit ein "echtes" VPN gestrickt werden kann erkläre ich hier das ganze mit Zertifikaten zur Authentifizierung.
[[Datei:Header sicherheit vpn.jpg]]


Es geht auch mit Key-Auhtentification, allerdings kann dann immer nur ein CLient auf den Server connecten. Mit Zertifikaten können beliebig viele VPN CLients gleichzeitig verbunden werden.


Alle Befehle gebe ich per SSH Konsole ein, Files werden per SSH/WinSCP kopiert und editiert. Darauf gehe ich hier nicht weiter ein. Wer damit Probleme hat wird hier im Freetz/FAQ Bereich fündig.
<big>'''Howto für OpenVPN mit Server@Freetz und Client@Windows''' </big>




Benötigt:


Image für Fritzbox mit OpenVPN
Damit ein "echtes" VPN gestrickt werden kann erkläre ich hier das ganze mit Zertifikaten zur Authentifizierung.
OpenVPN Client für Windows, z.B. SecurepointSSLVPN_RC3


Zum erstellen der Zertifikate für Server und Clients hab ich mir auf meinem Debian Server zusäzlich OpenVPN installiert:
Es geht auch mit Key-Auhtentification, allerdings kann dann immer nur ein Client auf den Server connecten. Mit Zertifikaten können beliebig viele VPN CLients gleichzeitig verbunden werden.


Als "root" am Server angemeldet folgendes in der Konsole ausführen:
Alle Befehle gebe ich per SSH Konsole ein, Files werden per SSH/WinSCP kopiert und editiert. Darauf gehe ich hier nicht weiter ein. Wer damit Probleme hat wird im Freetz/FAQ Bereich fündig.


apt-get install openvpn openssl


Wenn alles installiert ist, mit WinSCP folgenden Ordner erstellen:
Benötigt:


[CODE]/etc/openvpn[/CODE]
Image für Fritzbox mit OpenVPN
OpenVPN Client für Windows, z.B. SecurepointSSLVPN_RC3


Mit WinSCP wechseln nach [CODE]/usr/share/doc/openvpn/examples[/CODE]
Zum erstellen der Zertifikate für Server und Clients hab ich mir auf meinem Debian Server zusäzlich OpenVPN installiert:
Ordner "easy-rsa" nach [CODE]/etc/openvpn[/CODE] kopieren.


Wechseln nach:
Als "root" am Server angemeldet folgendes in der Konsole ausführen:
apt-get install openvpn openssl


[CODE]/etc/openvpn/easy-rsa/2.0[/CODE]


Hier den Ordner  "keys" anlegen.
Wenn alles installiert ist, mit WinSCP folgenden Ordner erstellen:
  /etc/openvpn


Dann die Datei "vars" wie folgt editieren:


[CODE]# easy-rsa parameter settings
Mit WinSCP wechseln nach
/usr/share/doc/openvpn/examples


# NOTE: If you installed from an RPM,
# don't edit this file in place in
# /usr/share/openvpn/easy-rsa --
# instead, you should copy the whole
# easy-rsa directory to another location
# (such as /etc/openvpn) so that your
# edits will not be wiped out by a future
# OpenVPN package upgrade.


# This variable should point to
Ordner "easy-rsa" kopieren nach
# the top level of the easy-rsa
/etc/openvpn
# tree.
export EASY_RSA="`pwd`"


#
# This variable should point to
# the requested executables
#
export OPENSSL="openssl"
export PKCS11TOOL="pkcs11-tool"
export GREP="grep"


Wechseln nach:
/etc/openvpn/easy-rsa/2.0


# This variable should point to
Hier den Ordner "keys" anlegen.
# the openssl.cnf file included
# with easy-rsa.
export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`


# Edit this variable to point to
Dann die Datei "vars" wie folgt editieren:
# your soon-to-be-created key
# directory.
#
# WARNING: clean-all will do
# a rm -rf on this directory
# so make sure you define
# it correctly!
export KEY_DIR="$EASY_RSA/[B][COLOR="#FF0000"]keys[/COLOR][/B]"


# Issue rm -rf warning
<div style="margin: 0; margin-top:10px; margin-right:10px; border: 4px solid #ffffff; padding: 0em 1em 1em 1em; background-color:#1B1C2D; align:right;">
echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR
# easy-rsa parameter settings
# NOTE: If you installed from an RPM,
# don't edit this file in place in
# /usr/share/openvpn/easy-rsa --
# instead, you should copy the whole
# easy-rsa directory to another location
# (such as /etc/openvpn) so that your
# edits will not be wiped out by a future
# OpenVPN package upgrade.
# This variable should point to
# the top level of the easy-rsa
# tree.
export EASY_RSA="`pwd`"
#
# This variable should point to
# the requested executables
#
export OPENSSL="openssl"
export PKCS11TOOL="pkcs11-tool"
export GREP="grep"
# This variable should point to
# the openssl.cnf file included
# with easy-rsa.
export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`
# Edit this variable to point to
# your soon-to-be-created key
# directory.
#
# WARNING: clean-all will do
# a rm -rf on this directory
# so make sure you define
# it correctly!
export KEY_DIR="$EASY_RSA/<span style="color:#FF3030">keys</span>"
# Issue rm -rf warning
echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR  
# PKCS11 fixes
export PKCS11_MODULE_PATH="dummy"
export PKCS11_PIN="dummy"
# Increase this to 2048 if you
# are paranoid.  This will slow
# down TLS negotiation performance
# as well as the one-time DH parms
# generation process.
export KEY_SIZE=1024
# In how many days should the root CA key expire?
export CA_EXPIRE=3650
# In how many days should certificates expire?
export KEY_EXPIRE=3650
# These are the default values for fields
# which will be placed in the certificate.
# Don't leave any of these fields blank.
export KEY_COUNTRY="<span style="color:#FF3030">DE</span>"
export KEY_PROVINCE="<span style="color:#FF3030">ZD</span>"
export KEY_CITY="<span style="color:#FF3030">ZDTOWN</span>"
export KEY_ORG="<span style="color:#FF3030">Zebradem</span>"
export KEY_EMAIL="<span style="color:#FF3030">[email protected]</span>"
export OPENVPN=openvpn
</div>


# PKCS11 fixes
export PKCS11_MODULE_PATH="dummy"
export PKCS11_PIN="dummy"


# Increase this to 2048 if you
Nun geht es an das erstellen der Zertifikate.
# are paranoid.  This will slow
Wenn man in der Konsole beim erstellen etwas eingeben muss, kann man einfach immer "ENTER" drücken.
# down TLS negotiation performance
# as well as the one-time DH parms
# generation process.
export KEY_SIZE=1024
 
# In how many days should the root CA key expire?
export CA_EXPIRE=3650
 
# In how many days should certificates expire?
export KEY_EXPIRE=3650
 
# These are the default values for fields
# which will be placed in the certificate.
# Don't leave any of these fields blank.
export KEY_COUNTRY="[B][COLOR="#FF0000"]DE[/COLOR][/B]"
export KEY_PROVINCE="[B][COLOR="#FF0000"]ZD[/COLOR][/B]"
export KEY_CITY="[B][COLOR="#FF0000"]ZDTOWN[/COLOR][/B]"
export KEY_ORG="[COLOR="#FF0000"][B]Zebradem[/B][/COLOR]"
export KEY_EMAIL="[B][COLOR="#FF0000"]Freetz@Zebradem.com[/COLOR][/B]"
 
export OPENVPN=openvpn[/CODE]


<span style="color:#FF3030">Ausnahme:
Wenn gefragt wird, ob Client-Zertifikate signiert werden sollen --> mit "y" (yes) bestätigen!! </span>


Nun geht es an das erstellen der Zertifikate.
Wenn man in der Konsole beim erstellen etwas eingeben muss, kann man einfach immer "[COLOR="#FFFFE0"][B]ENTER[/B][/COLOR]" drücken.
[COLOR="#FF0000"][B]Ausnahme[/B][/COLOR]: Wenn gefragt wird, ob Clientzertifikate Signiert werden sollen --> mit "[B][COLOR="#FFFFE0"]y[/COLOR][/B]" (yes) bestätigen!!


In der Konsole wechsel nach
In der Konsole wechsel nach
[CODE]/etc/openvpn/easy-rsa/2.0[/CODE]
/etc/openvpn/easy-rsa/2.0




vars einlesen und die CA initialisieren:
vars einlesen und die CA initialisieren:
****************************************
. ./vars
./clean-all ## ACHTUNG!! löscht Inhalt von Keys Verzeichnis, nur beim ersten mal ausführen !!


[CODE]. ./vars
 
./clean-all ## ACHTUNG!! löscht Inhalt von Keys Verzeichnis, nur beim ersten mal ausführen !![/CODE]
Wenn man zu einem späteren Zeitpunkt ein Client-Zertifikat erstellen möchte, muss vorher immer
. ./vars
ausgeführt werden!




CA-Key und CA-Cert erzeugen:
CA-Key und CA-Cert erzeugen:
****************************
./build-ca
 
[CODE]./build-ca[/CODE]
 




Diffie-Hellman Parameter erzeugen:
Diffie-Hellman Parameter erzeugen:
**********************************
./build-dh
 
[CODE]./build-dh[/CODE]
 




Erzeugen von Server-Schlüsselpaar direkt von der CA:
Erzeugen von Server-Schlüsselpaar direkt von der CA:
****************************************************
./build-key-server server
 
[CODE]./build-key-server server[/CODE]
 




Erzeugen eines Client-Schlüsselpaars (ohne Passwort), für  
Erzeugen eines Client-Schlüsselpaars (ohne Passwort), für  
jeden CLient eindeutigen Namen oder aufsteigende Nummer angeben:
jeden Client eindeutigen Namen oder aufsteigende Nummer angeben:
****************************************************************
./build-key client01
 
[CODE]./build-key client01[/CODE]




[COLOR="#FFFFE0"]Zertifikate liegen nun in "/etc/openvpn/easy-rsa/2.0/keys"
Zertifikate liegen nun in "/etc/openvpn/easy-rsa/2.0/keys"
[/COLOR]




Wenn man Clientzertifikate mit Passwortschutz erstellen möchte:
Wenn man Client-Zertifikate mit Passwortschutz erstellen möchte:
***************************************************************
./build-key-pass client01
 
[CODE]./build-key-pass client01
[/CODE]




Für Client benötigte Zertifikate und Dateien:
Für Client benötigte Zertifikate und Dateien:
[COLOR="#FFFFE0"]
ca.crt
ca.crt
client01.crt
client01.crt
client01.key
client01.key[/COLOR]
 
 
Die 3 Dateien für den Client auf einen USB-Stick oder Client-Rechner kopieren.
Die 3 Dateien für den Client auf einen USB-Stick oder Client-Rechner kopieren.




Für Server benötigte Zertifikate und Dateien:
Für Server benötigte Zertifikate und Dateien:
ca.crt
server.crt
server.key
dh1024.pem


[COLOR="#FFFFE0"]ca.crt
server.crt
server.key
dh1024.pem
[/COLOR]


Nun gehts in Freetz weiter :)
Nun gehts in Freetz weiter :)
Zeile 193: Zeile 194:


OpenVPN Einstellungen öffnen, Optionen wie folgt setzen:
OpenVPN Einstellungen öffnen, Optionen wie folgt setzen:
[x] Automatisch
[x] Server
[x] UDP
[x] Brücke(TAP)
Port: 1194
[x] Zertifikate
Cipher: Blowfish


[x] Automatisch
Lokale IP-Adresse: 10.8.0.1 (Dies wird die virtuelle IP vom Server, kann natürlich auch eine andere IP sein)
[x] Server
Netzmaske: 255.255.255.0
[x] UDP
DHCP-Range: 10.8.0.150 10.8.0.160 (Je nach bedarf der virtuelle IP Bereich für Clients)
[x] Brücke(TAP)
Lokales Netz: 192.168.178.0 255.255.255.0 (Tatsächlicher IP Bereich des LAN hinter dem Server, das von außen erreichbar sein soll)
Port: 1194
[x] Zertifikate
Cipher: Blowfish


Lokale IP-Adresse: [COLOR="#FFFFE0"]10.8.0.1[/COLOR] (Dies wird die virtuelle IP vom Server)
[x] Erweiterte CLientkonfiguration (nicht unbedingt nötig, aber so wird es eine Runde Sache)
Netzmaske: [COLOR="#FFFFE0"]255.255.255.0[/COLOR]
DHCP-Range: [COLOR="#FFFFE0"]10.8.0.150 10.8.0.160[/COLOR] (Je nach bedarf der virtuelle IP Bereich für Clients)
Lokales Netz: [COLOR="#FFFFE0"]192.168.178.0 255.255.255.0[/COLOR] (Tatsächlicher IP Bereich des LAN, das von außen erreichbar sein soll)


[x] Erweiterte CLientkonfiguration (nicht unbedingt nötig, aber so wird es eine Runde Sache)
Client01 | 10.8.0.150 | 192.168.88.0 255.255.255.0  (Name des Client/Zertifikat | Fest zugewiesene VPN IP für Client | Zuletzt das echte Netz/LAN des Client mit Subnet)
 
Client01 | [COLOR="#FFFFE0"]10.8.0.150[/COLOR] | [COLOR="#FFFFE0"]192.168.88.0 255.255.255.0[/COLOR] (Zuletzt wieder das echte LAN des Client)
Client02 | 10.8.0.151 | 192.168.55.0 255.255.255.0
 
Client02 | [COLOR="#FFFFE0"]10.8.0.151[/COLOR] | [COLOR="#FFFFE0"]192.168.55.0 255.255.255.0[/COLOR]
Client03 | 10.8.0.152 | 192.168.33.0 255.255.255.0
 
Client03 | [COLOR="#FFFFE0"]10.8.0.152[/COLOR] | [COLOR="#FFFFE0"]192.168.33.0 255.255.255.0[/COLOR]




Falls die Clients sich auch sehen sollen:
Falls die Clients sich auch sehen sollen:


[x] Client-zu-Client
[x] Client-zu-Client


Anzahl der Maximalen CLients angeben.
Anzahl der Maximalen Clients angeben.


DNS Server: [COLOR="#FFFFE0"]10.8.0.1[/COLOR]
DNS Server: 10.8.0.1


Den Rest so lassen wie er ist und speichern.
Den Rest so lassen wie er ist und speichern.


Mit WinSCP die folgenden Dateien öffnen und jeweils den gesamten Inhalt an genannte Stelle kopieren:
Mit WinSCP die folgenden Dateien öffnen und jeweils den gesamten Inhalt an genannte Stelle der OpenVPN Einstellung kopieren:
 
server.crt       --> Box Cert (übernehmen)
server.crt   --> Box Cert (übernehmen)
ca.crt           --> CA Cert  (übernehmen)
ca.crt   --> CA Cert  (übernehmen)
dh1024.pem       --> DH Param (übernehmen)
dh1024.pem --> DH Param (übernehmen)
server.key       --> Private Key (übernehmen)
server.key   --> Private Key (übernehmen)


Unter OpenVPN/CRL einfach einmal "Übernehmen" drücken, damit eine leere Datei erzeugt wird. Sonst startet OpenVPN nicht!
Unter OpenVPN/CRL einfach einmal "Übernehmen" drücken, damit eine leere Datei erzeugt wird. Sonst startet OpenVPN nicht!
Zeile 238: Zeile 237:
AVM-Firewall Settings:
AVM-Firewall Settings:


[COLOR="#FFFFE0"]lowinput sowie highoutput gleich einstellen[/COLOR]:
lowinput sowie highoutput gleich einstellen:
   
  Quelle             --> any
Quelle --> any
Ziel               --> any
Ziel         --> any
Protokoll           --> UDP
Protokoll   --> UDP
Start- und End-Port --> 1194
Start- und End-Port --> 1194
Aktion             --> permit
Aktion       --> permit
(übernehmen)
(übernehmen)




Port Forwarding:
Port Forwarding:
 
Protokoll --> UDP
Protokoll --> UDP
Ziel      --> Fritz!Box
Ziel       --> Fritz!Box
Quell Port --> 1194
Quell Port --> 1194
Ziel Port  --> 1194
Ziel Port  --> 1194
(übernehmen)
(übernehmen)


Fritzbox neu starten.
Fritzbox neu starten.
Zeile 264: Zeile 261:


VPN Client starten, neue Konfig anlegen:
VPN Client starten, neue Konfig anlegen:
Name
IP des Server (DynDns Adresse)
Root CA = ca.crt
Zertifikat = client01.crt
Schlüssel = client01.key
[x] Server Zertifikat
[ ] Auth user/pass (Haken entfernen!)


Name
Rest so lassen, "Next" und "Finish" drücken.
IP des Server (DynDns Adresse)
 
Neu erstellte Konfig mit rechter Maustaste anklicken --> Editieren wählen
Root CA = ca.crt
Zertifikat = client01.crt
"DEV" von "tun" auf "tap" umstellen, "OK" klicken.
Schlüssel = client01.key
[x] Server Zertifikat
 
[ ] Auth user/pass (Haken entfernen!)
 
Rest so lassen, "Next" und "Finish" drücken.
 
Neu erstellte Konfig mit rechter Maustaste anklicken --> Editieren wählen
 
"DEV" von "tun" auf "tap" umstellen, "OK" klicken.


Wenn dies alles erledigt ist, am besten mal eine Sicherung der Freetz Settings sowie ein Export der Client-VPN-
Wenn dies alles erledigt ist, am besten mal eine Sicherung der Freetz Settings sowie ein Export der Client-VPN-
Zeile 290: Zeile 284:


Regedit auf Client-Rechner starten.
Regedit auf Client-Rechner starten.
HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Services\ Tcpip\ Parameters
Eintrag "IPEnableRouter" Wert auf 1 setzen.
Rechner neu starten.


[COLOR="#FFFFE0"]HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Services\ Tcpip\ Parameters[/COLOR]
Gateway der übrigen Rechner im Client LAN auf die IP des Client Rechner setzen.


Eintrag "[COLOR="#FFFFE0"]IPEnableRouter[/COLOR]" Wert auf[COLOR="#FFFFE0"] 1[/COLOR] setzen.
Nun sollte man schön hin und her Pingen können...


Rechner neu starten.
== Wichtige Links  ==
*[[Freetz|Zurück zu Freetz]]
*[[Hauptseite|Zurück zu Hauptseite]]


Gateway der übrigen Rechner im CLient LAN auf die IP des Client Rechner setzen.


Nun sollte man schön hin und her Pingen können...
[[Category:Fritzbox]]
[[Category:Sitemap]]
[[Category:Netzwerk]]

Aktuelle Version vom 17. März 2012, 19:15 Uhr


Das Board mit Freiheiten





Zebradem Fritzbox Wiki >> OpenVPN und Freetz, wie stricke ich mein eigenes VPN Magyar, Nederlands, Italiano, English
Community Modelle Freetz Fritzbox Tipps & Tricks

Einführung Freetz Pakete Freetz Addons Freetz Tipps Freetz chroot Freetz Images Freetz Faqs


OpenVPN@Freetz


Howto für OpenVPN mit Server@Freetz und Client@Windows


Damit ein "echtes" VPN gestrickt werden kann erkläre ich hier das ganze mit Zertifikaten zur Authentifizierung.

Es geht auch mit Key-Auhtentification, allerdings kann dann immer nur ein Client auf den Server connecten. Mit Zertifikaten können beliebig viele VPN CLients gleichzeitig verbunden werden.

Alle Befehle gebe ich per SSH Konsole ein, Files werden per SSH/WinSCP kopiert und editiert. Darauf gehe ich hier nicht weiter ein. Wer damit Probleme hat wird im Freetz/FAQ Bereich fündig.


Benötigt:

Image für Fritzbox mit OpenVPN
OpenVPN Client für Windows, z.B. SecurepointSSLVPN_RC3

Zum erstellen der Zertifikate für Server und Clients hab ich mir auf meinem Debian Server zusäzlich OpenVPN installiert:

Als "root" am Server angemeldet folgendes in der Konsole ausführen:

apt-get install openvpn openssl


Wenn alles installiert ist, mit WinSCP folgenden Ordner erstellen:

/etc/openvpn


Mit WinSCP wechseln nach

/usr/share/doc/openvpn/examples


Ordner "easy-rsa" kopieren nach

/etc/openvpn 


Wechseln nach:

/etc/openvpn/easy-rsa/2.0

Hier den Ordner "keys" anlegen.

Dann die Datei "vars" wie folgt editieren:

# easy-rsa parameter settings

# NOTE: If you installed from an RPM,
# don't edit this file in place in
# /usr/share/openvpn/easy-rsa --
# instead, you should copy the whole
# easy-rsa directory to another location
# (such as /etc/openvpn) so that your
# edits will not be wiped out by a future
# OpenVPN package upgrade.

# This variable should point to
# the top level of the easy-rsa
# tree.
export EASY_RSA="`pwd`"

#
# This variable should point to
# the requested executables
#
export OPENSSL="openssl"
export PKCS11TOOL="pkcs11-tool"
export GREP="grep"


# This variable should point to
# the openssl.cnf file included
# with easy-rsa.
export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`

# Edit this variable to point to
# your soon-to-be-created key
# directory.
#
# WARNING: clean-all will do
# a rm -rf on this directory
# so make sure you define
# it correctly!
export KEY_DIR="$EASY_RSA/keys"

# Issue rm -rf warning
echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR 

# PKCS11 fixes
export PKCS11_MODULE_PATH="dummy"
export PKCS11_PIN="dummy" 

# Increase this to 2048 if you
# are paranoid.  This will slow
# down TLS negotiation performance
# as well as the one-time DH parms
# generation process.
export KEY_SIZE=1024

# In how many days should the root CA key expire?
export CA_EXPIRE=3650

# In how many days should certificates expire?
export KEY_EXPIRE=3650

# These are the default values for fields
# which will be placed in the certificate.
# Don't leave any of these fields blank.
export KEY_COUNTRY="DE"
export KEY_PROVINCE="ZD"
export KEY_CITY="ZDTOWN"
export KEY_ORG="Zebradem"
export KEY_EMAIL="[email protected]"

export OPENVPN=openvpn


Nun geht es an das erstellen der Zertifikate. Wenn man in der Konsole beim erstellen etwas eingeben muss, kann man einfach immer "ENTER" drücken.

Ausnahme: 
Wenn gefragt wird, ob Client-Zertifikate signiert werden sollen --> mit "y" (yes) bestätigen!!  


In der Konsole wechsel nach

/etc/openvpn/easy-rsa/2.0


vars einlesen und die CA initialisieren:

. ./vars
./clean-all ## ACHTUNG!! löscht Inhalt von Keys Verzeichnis, nur beim ersten mal ausführen !!


Wenn man zu einem späteren Zeitpunkt ein Client-Zertifikat erstellen möchte, muss vorher immer

. ./vars

ausgeführt werden!


CA-Key und CA-Cert erzeugen:

./build-ca


Diffie-Hellman Parameter erzeugen:

./build-dh


Erzeugen von Server-Schlüsselpaar direkt von der CA:

./build-key-server server


Erzeugen eines Client-Schlüsselpaars (ohne Passwort), für jeden Client eindeutigen Namen oder aufsteigende Nummer angeben:

./build-key client01


Zertifikate liegen nun in "/etc/openvpn/easy-rsa/2.0/keys"


Wenn man Client-Zertifikate mit Passwortschutz erstellen möchte:

./build-key-pass client01


Für Client benötigte Zertifikate und Dateien:

ca.crt
client01.crt
client01.key

Die 3 Dateien für den Client auf einen USB-Stick oder Client-Rechner kopieren.


Für Server benötigte Zertifikate und Dateien:

ca.crt
server.crt
server.key
dh1024.pem


Nun gehts in Freetz weiter :)


OpenVPN Einstellungen öffnen, Optionen wie folgt setzen:

[x] Automatisch
[x] Server
[x] UDP
[x] Brücke(TAP)
Port: 1194
[x] Zertifikate
Cipher: Blowfish
Lokale IP-Adresse:	10.8.0.1 (Dies wird die virtuelle IP vom Server, kann natürlich auch eine andere IP sein)
Netzmaske: 		255.255.255.0
DHCP-Range:		10.8.0.150 10.8.0.160 (Je nach bedarf der virtuelle IP Bereich für Clients)
Lokales Netz: 		192.168.178.0 255.255.255.0 (Tatsächlicher IP Bereich des LAN hinter dem Server, das von außen erreichbar sein soll)
[x] Erweiterte CLientkonfiguration (nicht unbedingt nötig, aber so wird es eine Runde Sache)
Client01 | 10.8.0.150 | 192.168.88.0 255.255.255.0  (Name des Client/Zertifikat | Fest zugewiesene VPN IP für Client | Zuletzt das echte Netz/LAN des Client mit Subnet)

Client02 | 10.8.0.151 | 192.168.55.0 255.255.255.0

Client03 | 10.8.0.152 | 192.168.33.0 255.255.255.0


Falls die Clients sich auch sehen sollen:

[x] Client-zu-Client
Anzahl der Maximalen Clients angeben.
DNS Server: 10.8.0.1

Den Rest so lassen wie er ist und speichern.

Mit WinSCP die folgenden Dateien öffnen und jeweils den gesamten Inhalt an genannte Stelle der OpenVPN Einstellung kopieren:

server.crt        --> Box Cert (übernehmen)
ca.crt            --> CA Cert  (übernehmen)
dh1024.pem        --> DH Param (übernehmen)
server.key        --> Private Key (übernehmen)

Unter OpenVPN/CRL einfach einmal "Übernehmen" drücken, damit eine leere Datei erzeugt wird. Sonst startet OpenVPN nicht!


AVM-Firewall Settings:

lowinput sowie highoutput gleich einstellen:

Quelle              --> any
Ziel                --> any
Protokoll           --> UDP
Start- und End-Port --> 1194
Aktion              --> permit

(übernehmen)


Port Forwarding:

Protokoll  --> UDP
Ziel       --> Fritz!Box
Quell Port --> 1194
Ziel Port  --> 1194
(übernehmen)

Fritzbox neu starten.


Weiter auf Client Rechner:

SecurepointSSLVPN_RC3 installieren.

VPN Client starten, neue Konfig anlegen:

Name
IP des Server (DynDns Adresse)
Root CA = ca.crt
Zertifikat = client01.crt
Schlüssel = client01.key
[x] Server Zertifikat
[ ] Auth user/pass (Haken entfernen!)
Rest so lassen, "Next" und "Finish" drücken.

Neu erstellte Konfig mit rechter Maustaste anklicken --> Editieren wählen

"DEV" von "tun" auf "tap" umstellen, "OK" klicken.

Wenn dies alles erledigt ist, am besten mal eine Sicherung der Freetz Settings sowie ein Export der Client-VPN-

Settings durchführen. War ja nun auch genug Arbeit ;)


Wenn man einen anderen Router als Client zum VPN Server verbindet, sollten beide LANs untereinander ereichbar sein. Wenn ein PC den Client darstellt, gibt es noch folgenden Trick:

Regedit auf Client-Rechner starten.

HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Services\ Tcpip\ Parameters

Eintrag "IPEnableRouter" Wert auf 1 setzen.

Rechner neu starten.

Gateway der übrigen Rechner im Client LAN auf die IP des Client Rechner setzen.

Nun sollte man schön hin und her Pingen können...

Wichtige Links