OpenVPN routing Probleme für Telefonanlage
Hallo zusammen,
ich hoffe, ihr könnt mir weiterhelfen. Alles googeln, Anleitungen, MANs etc und und und haben mir nicht weiterhelfen können.
Ich sitze seit 2 Tagen vor dem Problem und komme einfach nicht weiter.
Grundsätzlich geht es um folgendes:
Es sollen 2 IP-Telefone (Auerswald Compact 1400 IP) an eine Compact 5000R angebunden werden. Die Anlage selber steht an Standort A und die Telefone an den Standorten B und C.
Dies soll über ein VPN realisiert werden. Im Netzwerk der Telefonanlage läuft ein Raspberry Pi, der als VPN-Server fungieren soll. Als Programm soll OpenVPN zum Einsatz kommen. Der OpenVPN-Server soll hierfür auch lediglich eine festgelegte IP-Range vergeben (max. 10 IPs).
Folgendes ist mir bis jetzt in einer Testumgebung mit einem Server 2012 (sozusagen als Raspi-Ersatz zum testen) und einem Win10-Client gelungen.
OpenVPN-Server läuft und eine Verbindung vom Win10-Client ist auch möglich. Routing funktioniert soweit auch. Das habe ich per Remotezugriff auf den WinServer mit seiner eigenen lokalen IP ausm RZ getestet. Allerdings komme ich dann nicht weiter. Wenn ich eine andere IP(z.B. die Web-Oberfläche des Gateways) aus dem Subnetz des Servers aufrufe ist diese nicht erreichbar. Sie ist nicht mal mehr vom Server selber aus erreichbar solange der VPN-Server läuft. Beende ich den Server, ist die oben genannte IP wieder erreichbar. Ich denke, dass ich irgendwo in den gepushten Routen einen Fehler habe. Allerdings finde ich den nicht.
So sieht mein Szenario im Moment aus:
Testserver (als VM im RZ hinter Firewall mit IP 192.168.1.1):
Windows Server 2012 R2 (Firewall aktiviert, Ports aufgemacht)
IP: 192.168.1.200 255.255.255.0
Gateway: 192.168.1.1
OpenVPN Server (Konfig poste ich weiter unten)
Der Server ist natürlich über eine öffentliche IP erreichbar, die hier im Moment aber unerheblich ist.
Testclient (hinter Fritz!Box):
Windows 10 (Firewall aktiviert)
IP: 192.168.0.16 255.255.255.0
Gateway 192.168.0.1
OpenVPN Client (Konfig auch weiter unten)
Telefonzentrale (diese soll dann angebunden werden)
IP: 192.168.33.xx 255.255.255.0
Gateway: 192.168.33.254
Raspberry Pi (soll reell als VPN-Server dienenO)
IP: 192.168.33.xx+1 255.255.2550
Gateway: 192.168.33.254
Im Router in der Zentrale kann ich leider kein VPN hinterlegen, da hier schon eine feste IP-Route zu einem weiteren RZ hinterlegt ist. Diese Route stellt aber für das Vorgehen keine Einbussen dar.
Folgende configs habe ich schon.
Serverkonfig.ovpn:
Client-CCD (im passenden Ordner und korrekter Dateiname)
Clientconfig.ovpn:
IP-Forwarding ist auf den Systemen aktiviert. Wie das dann im Telefon ausschaut, kann ich noch nicht sagen. Die Software des Compact 1400 IP basiert auf Android. Aber da wird mir sicherlich der Auerswald-Support helfen.
Wie oben schon geschrieben. Die Verbindung an und für sich geht. Ich kann vom Client aus per Remote auf die lokale IP des Servers zugreifen (der ja eig hinter ner Firewall mit ner öffentlichen IP liegt). Die IP des OpenVPN-Servers ist mir relativ latte. Läuft der VPN-Server kann ich nicht auf die Firewall im RZ (192.168.1.1) zugreifen, ist er beendet, kann ich darauf zugreifen.
Wenn ihr mir hier weiterhelfen könntet, wäre das super. Ich komme echt nicht mehr weiter.
Viele Grüße,
Dominik
ich hoffe, ihr könnt mir weiterhelfen. Alles googeln, Anleitungen, MANs etc und und und haben mir nicht weiterhelfen können.
Ich sitze seit 2 Tagen vor dem Problem und komme einfach nicht weiter.
Grundsätzlich geht es um folgendes:
Es sollen 2 IP-Telefone (Auerswald Compact 1400 IP) an eine Compact 5000R angebunden werden. Die Anlage selber steht an Standort A und die Telefone an den Standorten B und C.
Dies soll über ein VPN realisiert werden. Im Netzwerk der Telefonanlage läuft ein Raspberry Pi, der als VPN-Server fungieren soll. Als Programm soll OpenVPN zum Einsatz kommen. Der OpenVPN-Server soll hierfür auch lediglich eine festgelegte IP-Range vergeben (max. 10 IPs).
Folgendes ist mir bis jetzt in einer Testumgebung mit einem Server 2012 (sozusagen als Raspi-Ersatz zum testen) und einem Win10-Client gelungen.
OpenVPN-Server läuft und eine Verbindung vom Win10-Client ist auch möglich. Routing funktioniert soweit auch. Das habe ich per Remotezugriff auf den WinServer mit seiner eigenen lokalen IP ausm RZ getestet. Allerdings komme ich dann nicht weiter. Wenn ich eine andere IP(z.B. die Web-Oberfläche des Gateways) aus dem Subnetz des Servers aufrufe ist diese nicht erreichbar. Sie ist nicht mal mehr vom Server selber aus erreichbar solange der VPN-Server läuft. Beende ich den Server, ist die oben genannte IP wieder erreichbar. Ich denke, dass ich irgendwo in den gepushten Routen einen Fehler habe. Allerdings finde ich den nicht.
So sieht mein Szenario im Moment aus:
Testserver (als VM im RZ hinter Firewall mit IP 192.168.1.1):
Windows Server 2012 R2 (Firewall aktiviert, Ports aufgemacht)
IP: 192.168.1.200 255.255.255.0
Gateway: 192.168.1.1
OpenVPN Server (Konfig poste ich weiter unten)
Der Server ist natürlich über eine öffentliche IP erreichbar, die hier im Moment aber unerheblich ist.
Testclient (hinter Fritz!Box):
Windows 10 (Firewall aktiviert)
IP: 192.168.0.16 255.255.255.0
Gateway 192.168.0.1
OpenVPN Client (Konfig auch weiter unten)
Telefonzentrale (diese soll dann angebunden werden)
IP: 192.168.33.xx 255.255.255.0
Gateway: 192.168.33.254
Raspberry Pi (soll reell als VPN-Server dienenO)
IP: 192.168.33.xx+1 255.255.2550
Gateway: 192.168.33.254
Im Router in der Zentrale kann ich leider kein VPN hinterlegen, da hier schon eine feste IP-Route zu einem weiteren RZ hinterlegt ist. Diese Route stellt aber für das Vorgehen keine Einbussen dar.
Folgende configs habe ich schon.
Serverkonfig.ovpn:
local 192.168.1.200
port 10447
proto tcp
dev tun
ca "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\server.crt"
key "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\server.key" # This file should be kept secret
dh "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\dh1024.pem"
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.1.0 255.255.255.0"
push "route 10.8.0.0 255.255.255.0"
route 192.168.1.0 255.255.255.0
client-config-dir ccd
client-to-client
keepalive 10 120
cipher AES-128-CBC # AES
comp-lzo
max-clients 10
persist-key
persist-tun
status openvpn-status.log
verb 3
Client-CCD (im passenden Ordner und korrekter Dateiname)
push "route 192.168.1.0 255.255.255.0"
push "route 10.8.0.0 255.255.255.0"
route 192.168.1.0 255.255.255.0
iroute 192.168.0.0 255.255.255.0
Clientconfig.ovpn:
ip-win32 dynamic
client
dev tun
dev-node "Testserver"
proto tcp
remote my-server-ip 10447
resolv-retry infinite
nobind
persist-key
persist-tun
ca "C:\\Program Files (x86)\\Sophos\\Sophos SSL VPN Client\\config\\testserver\\ca.crt"
cert "C:\\Program Files (x86)\\Sophos\\Sophos SSL VPN Client\\config\\testserver\\testphone.crt"
key "C:\\Program Files (x86)\\Sophos\\Sophos SSL VPN Client\\config\\testserver\\testphone.key"
ns-cert-type server
cipher AES-128-CBC
comp-lzo
route-delay 4
verb 3
tls-remote server
IP-Forwarding ist auf den Systemen aktiviert. Wie das dann im Telefon ausschaut, kann ich noch nicht sagen. Die Software des Compact 1400 IP basiert auf Android. Aber da wird mir sicherlich der Auerswald-Support helfen.
Wie oben schon geschrieben. Die Verbindung an und für sich geht. Ich kann vom Client aus per Remote auf die lokale IP des Servers zugreifen (der ja eig hinter ner Firewall mit ner öffentlichen IP liegt). Die IP des OpenVPN-Servers ist mir relativ latte. Läuft der VPN-Server kann ich nicht auf die Firewall im RZ (192.168.1.1) zugreifen, ist er beendet, kann ich darauf zugreifen.
Wenn ihr mir hier weiterhelfen könntet, wäre das super. Ich komme echt nicht mehr weiter.
Viele Grüße,
Dominik
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 297575
Url: https://administrator.de/contentid/297575
Ausgedruckt am: 19.11.2024 um 23:11 Uhr
4 Kommentare
Neuester Kommentar
OK, soweit ist dein Vorhaben kein Problem und leicht umsetzbar. Die Vorgehensweise ist generell richtig.
Du solltest dich an das hiesige OpenVPN Tutorial halten was einen groben Gesmatüberblick über die Konfig gibt:
OpenVPN Server installieren auf pfSense Firewall, Mikrotik. DD-WRT oder GL.inet Router
Die VPN Konfig ist bei OpenVPN immer gleich, plattformübergreifend.
Wenn du dir daraufhin einmal deine Server Konfig ansiehst erkennst du auch gleich deinen ersten Kardinalsfehler !!
Das push "route 10.8.0.0 255.255.255.0" Kommando ist Blödsinn !
Das ist das OVPN interne netzwerk und muss logischerweise NICHT in die Routing Tabelle der Clients übertragen werden !
Muss also entfernt werden.
Daraus folgt dann ebenso das route 192.168.1.0 255.255.255.0. Auch überflüssiger Unsinn, denn mit dem Push Kommando zuvor propagierst du das ja schon in die Routing Tabelle der einwählenden Clients.
Kann man übrigens auch immer kontrollieren mit route print /Win) oder netstat -rn
Entsprechend falsch sind natürlich dann auch die Routen der Client CCD !
Der nächste Kardinalsfehler ist TCP Enkapsulierung zu verwenden. Das ist erheblich kontraproduktiv und auch OVPN rät dringenst davon ab, da es zu massiven Performanceeinbußen und MTU bzw. MSS Problemen kommen kann. Hier solltest du dringenst auf UDP umstellen !
Abgesehen davon sollte man keine IANA Ports verwenden wenn man über öffentliche Netze geht. Wenn du also einen anderen Standard Port verwenden willst nimm die sog. Ephemeral Ports die dazu empfohlen werden ! (49152 bis 65535)
Nochwas wichtiges zum Routing:
Vergiss nicht das sowohl auf Client und auch Serverseite deine Komponenten HINTER einem NAT Router stehen ! Beim Server also entsprechendes Port Forwarding eingerichtet werden muss.
Viel wichtiger ist aber die Tatsache das ALLE Endgeräte in diesen Netzen vermutlich den entsprechenden Router als Default Gateway haben !
Gerade am OVPN Servernetz das auch die Telefonanlage beherbergt muss hier zwingend eine statische Route in das interne OVPN Netz auf dem Internet Router eingerichtet werden ala:
Zielnetz: 10.8.0.0 Maske: 255.255.255.0, Gateway: 192.168.33.xx+1
Das ist erforderlich, da 10.8.0.0er IP Pakete ja an den OVPN Server geroutet werden müssen.
Im Grunde machst du ja eine LAN zu LAN Kopplung aller 3 Standorte. Du bräuchtest also eigentlich 3 Raspberry Pis die das realisieren.
Vermutlich machst du also auch beim VPN Design noch einen Denkfehler ?!
http://jankarres.de/2013/05/raspberry-pi-openvpn-vpn-server-installiere ...
Du solltest dich an das hiesige OpenVPN Tutorial halten was einen groben Gesmatüberblick über die Konfig gibt:
OpenVPN Server installieren auf pfSense Firewall, Mikrotik. DD-WRT oder GL.inet Router
Die VPN Konfig ist bei OpenVPN immer gleich, plattformübergreifend.
Wenn du dir daraufhin einmal deine Server Konfig ansiehst erkennst du auch gleich deinen ersten Kardinalsfehler !!
Das push "route 10.8.0.0 255.255.255.0" Kommando ist Blödsinn !
Das ist das OVPN interne netzwerk und muss logischerweise NICHT in die Routing Tabelle der Clients übertragen werden !
Muss also entfernt werden.
Daraus folgt dann ebenso das route 192.168.1.0 255.255.255.0. Auch überflüssiger Unsinn, denn mit dem Push Kommando zuvor propagierst du das ja schon in die Routing Tabelle der einwählenden Clients.
Kann man übrigens auch immer kontrollieren mit route print /Win) oder netstat -rn
Entsprechend falsch sind natürlich dann auch die Routen der Client CCD !
Der nächste Kardinalsfehler ist TCP Enkapsulierung zu verwenden. Das ist erheblich kontraproduktiv und auch OVPN rät dringenst davon ab, da es zu massiven Performanceeinbußen und MTU bzw. MSS Problemen kommen kann. Hier solltest du dringenst auf UDP umstellen !
Abgesehen davon sollte man keine IANA Ports verwenden wenn man über öffentliche Netze geht. Wenn du also einen anderen Standard Port verwenden willst nimm die sog. Ephemeral Ports die dazu empfohlen werden ! (49152 bis 65535)
Nochwas wichtiges zum Routing:
Vergiss nicht das sowohl auf Client und auch Serverseite deine Komponenten HINTER einem NAT Router stehen ! Beim Server also entsprechendes Port Forwarding eingerichtet werden muss.
Viel wichtiger ist aber die Tatsache das ALLE Endgeräte in diesen Netzen vermutlich den entsprechenden Router als Default Gateway haben !
Gerade am OVPN Servernetz das auch die Telefonanlage beherbergt muss hier zwingend eine statische Route in das interne OVPN Netz auf dem Internet Router eingerichtet werden ala:
Zielnetz: 10.8.0.0 Maske: 255.255.255.0, Gateway: 192.168.33.xx+1
Das ist erforderlich, da 10.8.0.0er IP Pakete ja an den OVPN Server geroutet werden müssen.
Im Grunde machst du ja eine LAN zu LAN Kopplung aller 3 Standorte. Du bräuchtest also eigentlich 3 Raspberry Pis die das realisieren.
Vermutlich machst du also auch beim VPN Design noch einen Denkfehler ?!
http://jankarres.de/2013/05/raspberry-pi-openvpn-vpn-server-installiere ...
1. Sehe ich das richtig, dass ich in der statischen Route als Gateway grundsätzlich den OpenVPN-Server angebe (-n muss)???
Nein, das siehst du falsch ! Es betrifft ausschliesslich nur Routen im VPN2. Ich verstehe nicht genau, weshalb ich 3 Raspberrys benötige.
Du musst doch 3 Standorte vernetzen, oder ??Die IP-Telefone von Auerswald können mit OpenVPN umgehen
Ohh, cool. Das war mir nicht bekannt ! Die haben also einen OpenVPN Client schon gleich mit an Bord ???Wie komfortabel ! Dann benötigst du natürlich nur einen einzigen RasPi, klar !
könnte ich Doch in den jeweiligen Routern (Speedports) bei den Mitarbeitern ebenso wieder Routen setzen, oder?
Zeigt leider deine Unkenntniss...sorry.Jeder netzwerker weiss das Speedport Schrottrouter keine statischen Routen supporten.
Aber mal ganz abgesehen davon hat das erstens rein gar nichts mit Routen zu tun und zweitens sind die Telefone ja VPN Clients, die öffnen eine ganz normale SSL Session auf den RasPi OVPN Server. Da muss man rein gar nix mehr machen.
Hauptsache ist einzig nur das die Ziel IP des RasPi OVPN Servers für die Clients erreichbar ist. Nicht mehr und nicht weniger...
3. Ich würde gerne die IP-Adressvergabe auf max. 10 IPs beschränken.
Wie bzw. wo willst du das ?? Im internen OVPN Netzwerk für die Clients ??ifconfig ist natürlich mal wieder Blödsinn, denn das ist die IP Adresse des LAN Ports.
Du machst das ganz einfach in der server.conf Datei des OVPN Servers:
server 10.8.0.0 255.255.255.248 = lässt nur 6 IP Adressen auf den Clients zu
server 10.8.0.0 255.255.255.240 = lässt nur 14 IP Adressen auf den Clients zu