laenger
ACME Produkttester
Hello,
momentan scheitere ich an der Konfiguration eines VPN-Servers und bräuchte etwas Hilfe.
Anbei eine kleine Grafik, wie ich mir das vorgestellt habe.
Folgende Anforderungen sollen wenn möglich erfüllt werden:
Laptop 1 & 2 befinden sich in einem öffentlichen Netzwerk. Diese sollen per OpenVPN auf den Homeserver zugreifen (rote Linien), wobei fortan der gesamte Netzwerkverkehr über die gesicherte Leitung zum Servers laufen soll.
Es sollten nach außen hin so aussehen, als ob sich die Laptops im Heimnetzwerk befinden, von da aus diese ins Internet gehen um Webseiten, Internetbanking, eMail, etc. auf zu rufen.
Weiters sollen die beiden Laptops auf gemeinsame Freigaben der PCs 1 & 2 (z.B. Samba) und den Drucker im Heimnetzwerk zugreifen können (grüne Linien).
Daten zum Netzwerk:
Bei der Installation und Konfiguration von OpenVPN bin ich wie folgt vorgegangen:
Was funktioniert:
Es ist möglich sich per OpenVPN ins Heimnetzwerk zu verbinden. Von dort aus kann ich auf den Router und das Webinterface des Druckers zugreifen.
Was jedoch nicht funktioniert ist der Zugriff auf externe Webseiten im Internet.
Vielleicht ist das auch kompletter Mumpitz was ich da gemacht habe, bitte um kurzen Hinweis wenn dem so ist
Ich habe hier im Forum schon ein ähnliche Probleme gefunden, jedoch keine Lösung für meinen Fall...
Wie bringe ich den Server mit OpenVPN dazu Anfragen der Clients ans Internet weiterzuleiten?
Beste Grüße,
Laenger
momentan scheitere ich an der Konfiguration eines VPN-Servers und bräuchte etwas Hilfe.
Anbei eine kleine Grafik, wie ich mir das vorgestellt habe.
Folgende Anforderungen sollen wenn möglich erfüllt werden:
Laptop 1 & 2 befinden sich in einem öffentlichen Netzwerk. Diese sollen per OpenVPN auf den Homeserver zugreifen (rote Linien), wobei fortan der gesamte Netzwerkverkehr über die gesicherte Leitung zum Servers laufen soll.
Es sollten nach außen hin so aussehen, als ob sich die Laptops im Heimnetzwerk befinden, von da aus diese ins Internet gehen um Webseiten, Internetbanking, eMail, etc. auf zu rufen.
Weiters sollen die beiden Laptops auf gemeinsame Freigaben der PCs 1 & 2 (z.B. Samba) und den Drucker im Heimnetzwerk zugreifen können (grüne Linien).
Daten zum Netzwerk:
- Modem/Router: 192.168.0.1, Port 1194 udp/tcp ist offen
- Server: 192.168.0.30 FreeBSD 9.2-RELEASE mit OpenVPN 2.3.4, ist von außerhalb per DDNS erreichbar
- Laptop 1: 10.0.0.2 (kann variieren) Windows 7 mit OpenVPN
- Laptop 2: 10.0.0.3 (kann variieren) Linux mit OpenVPN und Gnome-Networkmanager
- PC 1: 192.168.0.20 Windows 7
- PC 2: 192.168.0.31 Linux mit Samba
- Drucker: 192.168.0.10
Bei der Installation und Konfiguration von OpenVPN bin ich wie folgt vorgegangen:
Zunächst wird OpenVPN mit den Standardoptionen installiert.
Um mehrere Instanzen von OpenVPN auf dem Server laufen zu lassen, beispielsweise auf verschiedenen Ports, wird das eigentliche Startscript verlinkt.
Jetzt wird Openvpn für den automatischen Start nach dem Booten des Servers konfiguriert.
Nun werden die Konfigurationsdateien für die Einrichtung des VPN-Servers kopiert, damit diese auch ein Update über die Portssammlung überleben.
Die Zertifikate für eine sichere Verbindung werden wie folgt erstellt.
Nun werden alle soeben erstellten Schlüssel an eine andere Stelle kopiert, um diese vor versehentlichen löschen zu schützen.
Jetzt kann mit der Konfiguration des Server begonnen werden.
Neustart um zu kontrollieren, ob die virtuelle Netzwerke und OpenVPN auch bei einem Reboot geladen werden.
Firewall ist keine aktiv.
# uname -rsim
# portmaster security/openvpn
FreeBSD 9.2-RELEASE-p7 amd64 GENERIC
# cd /usr/ports && make update# portmaster security/openvpn
Um mehrere Instanzen von OpenVPN auf dem Server laufen zu lassen, beispielsweise auf verschiedenen Ports, wird das eigentliche Startscript verlinkt.
# cd /usr/local/etc/rc.d
# ln -s openvpn openvpn_udptap1194
# ln -s openvpn openvpn_udptap1194
Jetzt wird Openvpn für den automatischen Start nach dem Booten des Servers konfiguriert.
# ee /etc/rc.conf
ifconfig_em0="up"
ifconfig_em1="up"
#cloned_interfaces="lagg0"
ifconfig_lagg0="laggproto failover laggport em0 laggport em1 SYNCDHCP"
ifconfig_tap0="up"
cloned_interfaces="lagg0 bridge0 tap0"
ifconfig_bridge0="addm lagg0 addm tap0 up"
openvpn_udptap1194_enable="YES"
openvpn_udptap1194_configfile="/usr/local/etc/openvpn/openvpn_udptap1194.conf"
openvpn_udptap1194_dir="/usr/local/etc/openvpn"
openvpn_udptap1194_if="tap"
gateway_enable="YES"
ifconfig_em1="up"
#cloned_interfaces="lagg0"
ifconfig_lagg0="laggproto failover laggport em0 laggport em1 SYNCDHCP"
ifconfig_tap0="up"
cloned_interfaces="lagg0 bridge0 tap0"
ifconfig_bridge0="addm lagg0 addm tap0 up"
openvpn_udptap1194_enable="YES"
openvpn_udptap1194_configfile="/usr/local/etc/openvpn/openvpn_udptap1194.conf"
openvpn_udptap1194_dir="/usr/local/etc/openvpn"
openvpn_udptap1194_if="tap"
gateway_enable="YES"
Nun werden die Konfigurationsdateien für die Einrichtung des VPN-Servers kopiert, damit diese auch ein Update über die Portssammlung überleben.
# mkdir /usr/local/etc/openvpn
# mkdir /var/log/openvpn
# cp -Rv /usr/local/share/easy-rsa /usr/local/etc/openvpn/
# mkdir /var/log/openvpn
# cp -Rv /usr/local/share/easy-rsa /usr/local/etc/openvpn/
Die Zertifikate für eine sichere Verbindung werden wie folgt erstellt.
# ee /usr/local/etc/openvpn/easy-rsa/vars
export KEY_SIZE=2048
export KEY_COUNTRY="AT"
export KEY_PROVINCE="Vorzimmer"
export KEY_CITY="Kasterl"
export KEY_ORG="Laenger GmbH & Co. KG"
export KEY_EMAIL="email@adresse.at"
export KEY_EMAIL=email@adresse.at
export KEY_CN=DDNS.SERVER.AT
export KEY_NAME=openvpn
export KEY_OU=Homeserver
export PKCS11_MODULE_PATH=changeme
export PKCS11_PIN=1234
export KEY_SIZE=2048
export KEY_COUNTRY="AT"
export KEY_PROVINCE="Vorzimmer"
export KEY_CITY="Kasterl"
export KEY_ORG="Laenger GmbH & Co. KG"
export KEY_EMAIL="email@adresse.at"
export KEY_EMAIL=email@adresse.at
export KEY_CN=DDNS.SERVER.AT
export KEY_NAME=openvpn
export KEY_OU=Homeserver
export PKCS11_MODULE_PATH=changeme
export PKCS11_PIN=1234
# cd /usr/local/etc/openvpn/easy-rsa
# . ./vars
# ./clean-all
# ./build-ca
# ./build-key-server server
# ./build-key-pass Laptop1
# ./build-key-pass Laptop2
# ./build-dh
# . ./vars
# ./clean-all
# ./build-ca
# ./build-key-server server
# ./build-key-pass Laptop1
# ./build-key-pass Laptop2
# ./build-dh
Nun werden alle soeben erstellten Schlüssel an eine andere Stelle kopiert, um diese vor versehentlichen löschen zu schützen.
# mkdir /usr/local/etc/openvpn/cert
# cp -v /usr/local/etc/openvpn/easy-rsa/keys/* /usr/local/etc/openvpn/cert/
# cp -v /usr/local/etc/openvpn/easy-rsa/keys/* /usr/local/etc/openvpn/cert/
Jetzt kann mit der Konfiguration des Server begonnen werden.
# cp -Rv /usr/local/share/examples/openvpn/sample-config-files /usr/local/etc/openvpn/
# cp /usr/local/etc/openvpn/sample-config-files/server.conf /usr/local/etc/openvpn/openvpn_udptap1194.conf
# ee /usr/local/etc/openvpn/openvpn_udptap1194.conf
;local a.b.c.d
port 1194
proto udp
dev tap0
ca /usr/local/etc/openvpn/cert/ca.crt
cert /usr/local/etc/openvpn/cert/server.crt
key /usr/local/etc/openvpn/cert/server.key
dh /usr/local/etc/openvpn/cert/dh2048.pem
;server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn_udptap1194_ipp.txt
server-bridge 192.168.0.30 255.255.255.0 192.168.0.200 192.168.0.210
push "redirect-gateway"
client-to-client
max-clients 5
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn_udptap1194-status.log
log-append /var/log/openvpn_udptap1194.log
# cp /usr/local/etc/openvpn/sample-config-files/server.conf /usr/local/etc/openvpn/openvpn_udptap1194.conf
# ee /usr/local/etc/openvpn/openvpn_udptap1194.conf
;local a.b.c.d
port 1194
proto udp
dev tap0
ca /usr/local/etc/openvpn/cert/ca.crt
cert /usr/local/etc/openvpn/cert/server.crt
key /usr/local/etc/openvpn/cert/server.key
dh /usr/local/etc/openvpn/cert/dh2048.pem
;server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn_udptap1194_ipp.txt
server-bridge 192.168.0.30 255.255.255.0 192.168.0.200 192.168.0.210
push "redirect-gateway"
client-to-client
max-clients 5
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn_udptap1194-status.log
log-append /var/log/openvpn_udptap1194.log
Neustart um zu kontrollieren, ob die virtuelle Netzwerke und OpenVPN auch bei einem Reboot geladen werden.
# shutdown -r now
Firewall ist keine aktiv.
# pfctl -d
Was funktioniert:
Es ist möglich sich per OpenVPN ins Heimnetzwerk zu verbinden. Von dort aus kann ich auf den Router und das Webinterface des Druckers zugreifen.
Was jedoch nicht funktioniert ist der Zugriff auf externe Webseiten im Internet.
Vielleicht ist das auch kompletter Mumpitz was ich da gemacht habe, bitte um kurzen Hinweis wenn dem so ist

Ich habe hier im Forum schon ein ähnliche Probleme gefunden, jedoch keine Lösung für meinen Fall...
http://wiki.bsdforen.de/howto:openvpn_als_tunnel_zum_eigenen_netzwerk
http://www.bsdforen.de/threads/internet-tunneln-mit-openvpn.16528/
http://www.bsdforen.de/threads/openvpn-bridge-aufbau-des-tunnels-geht-zugriff-auf-lan-nicht.27861/
http://www.bsdforen.de/threads/openvpn-einrichten-netzwerkbrücke.24886/
http://www.bsdforen.de/threads/internet-tunneln-mit-openvpn.16528/
http://www.bsdforen.de/threads/openvpn-bridge-aufbau-des-tunnels-geht-zugriff-auf-lan-nicht.27861/
http://www.bsdforen.de/threads/openvpn-einrichten-netzwerkbrücke.24886/
Wie bringe ich den Server mit OpenVPN dazu Anfragen der Clients ans Internet weiterzuleiten?
Beste Grüße,
Laenger
