VPV Gateway - Virtuelles OpenVPN/L2TP Gateway ?

the_wawa

Cadet 4th Year
Registriert
Sep. 2011
Beiträge
81
Moin,
Ich will meinen ganzen (alle Clients) Internettraffic durch ein VPN routen.
Ich habe einen LoadBalencer welcher jenach Port/ZielIP/StartIP auswählt welches Gateway benutzt werden soll.

Ziel:
ein "VPN Gateway" aufsetzen, dass eingehenden Traffic durch eine VPN-Verbindung routet.
Lightweight, weil mehrere "VPN Gateway"s aufgesetzt werden sollen.

Gibt es da was fertiges am besten mit GUI und ConfigBackup? oder muss ich mir ein Linux mit vielen Interfaces selber konfigurieren??

vielleicht hat jemand eine Idee oder Tipp

Gruß
wawa
 
Zeichne mal einen aussagekräftigen Netzplan damit man verstehen kann was Du da haben willst
 
So ganz steig ich da auch nicht durch. Den gesamten Traffic willst du via VPN routen, dann aber scheinbar doch wieder verschiedene VPNs.

Hast du mehrere aktive VPN-Verbindungen?

Dein Load Balancing klingt nach einer normalen Routing Tabelle oder spezieller Policy Based Routing. Eine normale Routing Tabelle entscheidet ausschließlich anhand der Ziel-IP wohin geroutet wird. Bei PBR definierst du bestimmte Kriterien für Datenpakete (zB Ports) und anhand dieser Auswahl wird eine separate Routing Tabelle herangezogen. Beispielsweise alles an Port 12345 @ Gateway1 und alles an Port 23456 @ Gateway2.

Fortgeschrittene Router/Firewall-Systeme wie zB pfsense bieten teilweise solch eine Funktion. Hier wird erklärt wie das mit pfsense geht.
Bei EdgeRoutern von Ubiquiti muss man das vorwiegend über die Kommandozeile einrichten. So sieht das dann aus: Klick!


Grundsätzlich kann man PBR aber auch zu Fuß einrichten. Am schwierigsten ist es, den Traffic zuverlässig in Kategorien einzuordnen. Wenn zB eine Anwendung mehrere Ports verwendet und man einen vergisst, dann geht ein Teil des Traffics über VPN, der Rest über den Provider. Im schlimmsten Falle läuft die Anwendung dann nicht mehr ordnungsgemäß


Du solltest dir das gut überlegen und viel Zeit da reinstecken, wenn du das so wirklich durchziehen willst. Im Zweifelsfalle funktionieren Programme nicht mehr richtig oder aber man installiert zB ein neues Game und das wird dann fälschlicherweise über ein VPN ans andere Ende der Welt geroutet und wird langsam. Vor allem musst du dir einen Notfallplan überlegen. Was ist, wenn die VPNs down sind? Soll dann alles geblockt werden oder alternativ über den Provider gehen? Im ersten Fall ist dein Internet praktisch tot (zumindest die VPN-abhängigen Anwendungen), im zweiten Fall bist du unwissend plötzlich ohne VPN unterwegs. Welchen Weg man gehen will, muss man selbst wissen. Bei sensiblen Daten, die via VPN gehen sollen, wäre ein Block besser, wenn VPN nur nice2have und just4fun ist, kann das automatische Umschalten auf den Provider stressfreier sein.
 
Zuletzt bearbeitet:
Moin,
erstmal danke!
ich vereinfache das ganze einmal:

Ich möchte ein Gateway aufsetzen, dass all den ankommenden Traffic von bsw. eth0 nach tun0 (VPN interface) packt.

LAN - > VPN-Gateway -> VPN Tunnel -> VPN-Server -> INTERNET

mehr ist es wirklich nicht.

Ich hab mich heute mit pfSense mal wieder beschäftigt, hatte ich früher mal als Router aber dann doch zu Sophos Home gewechselt. Weil WebGui echt gut!
Zurück zu pfSense: Ich bekomme meine VPN Verbindungen nicht connected... wenn ich sie via Shell direkt starte (>openvpn ./myconfig.ovpn) geht alles... wenn ichs übers WebInterface versuche klappt nichts. Hab dann versucht meine Config vom WebInterface starten zulassen, kein erfolg. Direkt in die Config geguckt, sieht alles gut aus.
Glaubt mir ich hab das CA Zertifikat richtig eingestellt...

hab mir dann IPCop angeguckt, Gui kann keine openVPN net2net settings...

noch jemand eine Idee?

bin kurz davor mir wirklich alles selber einzurichten... aber ich hätte echt gerne was fürs Auge und zum Monitoring.

Gruß
wawa
 
Habe 0 Probleme mit pfsense und setzte es für diverse VPN Anbindungen ein.
Was sagt denn das log?
 
Moin,
OpenVPN log sagt:

Code:
Aug 9 23:54:51	openvpn[1166]: WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Aug 9 23:54:51	openvpn[1166]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Aug 9 23:54:51	openvpn[1166]: Re-using SSL/TLS context
Aug 9 23:54:51	openvpn[1166]: LZO compression initialized
Aug 9 23:54:51	openvpn[1166]: Control Channel MTU parms [ L:1592 D:168 EF:68 EB:0 ET:0 EL:3 ]
Aug 9 23:54:51	openvpn[1166]: Socket Buffers: R=[65228->65536] S=[65228->65536]
Aug 9 23:54:51	openvpn[1166]: Data Channel MTU parms [ L:1592 D:1450 EF:60 EB:143 ET:32 EL:3 AF:3/1 ]
Aug 9 23:54:51	openvpn[1166]: Local Options String: 'V4,dev-type tun,link-mtu 1592,tun-mtu 1532,proto TCPv4_CLIENT,comp-lzo,keydir 1,cipher AES-128-CBC,auth SHA1,keysize 128,tls-auth,key-method 2,tls-client'
Aug 9 23:54:51	openvpn[1166]: Expected Remote Options String: 'V4,dev-type tun,link-mtu 1592,tun-mtu 1532,proto TCPv4_SERVER,comp-lzo,keydir 0,cipher AES-128-CBC,auth SHA1,keysize 128,tls-auth,key-method 2,tls-server'
Aug 9 23:54:51	openvpn[1166]: Local Options hash (VER=V4): '73a58edd'
Aug 9 23:54:51	openvpn[1166]: Expected Remote Options hash (VER=V4): '99a77f44'
Aug 9 23:54:51	openvpn[1166]: Attempting to establish TCP connection with [AF_INET]#SERVER IP#:443 [nonblock]
Aug 9 23:54:52	openvpn[1166]: TCP connection established with [AF_INET]#SERVER IP#:443
Aug 9 23:54:52	openvpn[1166]: TCPv4_CLIENT link local: [undef]
Aug 9 23:54:52	openvpn[1166]: TCPv4_CLIENT link remote: [AF_INET]#SERVER IP#:443
Aug 9 23:54:52	openvpn[1166]: TCPv4_CLIENT WRITE [42] to [AF_INET]#SERVER IP#:443: P_CONTROL_HARD_RESET_CLIENT_V2 kid=0 pid=[ #1 ] [ ] pid=0 DATA len=0
Aug 9 23:54:52	openvpn[1166]: Connection reset, restarting [0]
Aug 9 23:54:52	openvpn[1166]: TCP/UDP: Closing socket
Aug 9 23:54:52	openvpn[1166]: SIGUSR1[soft,connection-reset] received, process restarting
Aug 9 23:54:52	openvpn[1166]: Restart pause, 5 second(s)

Ich glaube Zeile 16 sagt irgendwas...
soll ich mal den LogLevel hoch stellen?

Gruß
 
Tip#1:
Nimm UDP, nicht TCP. Ein TCP-VPN-Tunnel erzeugt zum Teil massiven Overhead. TCP ist Verbindungsorientiert, also mit Handshake, etc. Wenn kein ACK vom Gegenüber kommt, wird das Paket nochmal gesendet. Soweit so gut, wenn du nu aber eine TCP-Anwendung über den TCP-Tunnel laufen lässt, hast du doppeltes Handshake. Vermeintlich schnelle UDP-Verbindungen, denen Handshakes egal sind, bekommen plötzlich unnötigerweise ein Handshake.
Sofern du nicht durch äußere Gegebenheiten dazu gezwungen bist, TCP zu nehmen, nimm UDP.

Tip#2:
Beim Erstellen der Zertifikate kann man das Serverzertifikat explizit als Server kennzeichnen. (nsCertType=Server). Stellt man nun in der Client-Config "ns-cert-type server" ein, verbindet sich der Client NUR mit einem von der CA signierten Server-Zertifikat her. Hintergrund: Man-In-The-Middle. Wenn einer dein Notebook klaut oder sonstwie an das Zertifikat kommt, kann er damit einen Server erstellen und du merkst gar nicht, dass du plötzlich auf einen fremden PC VPNst. (siehe Zeile 1)

Zum eigentlichen Problem: Es sieht so aus als wenn gar keine richtige Verbindung zustande kommt. In Zeile 13 wird die zugrundeliegende TCP-Verbindung hergestellt, aber danach scheint nix mehr zu kommen. Normalerweise müsste da der Austausch der Zertifikate stattfinden. Überprüfe nochmal die Firewall ob sie ausgehenden/eingehenden Traffic ungehindert durchlässt oder nicht.


Mit der GUI von pfSense kenne ich mich nicht aus. Wenn lakekeman Bescheid weiß, hat er vielleicht einen Tip warum es über die GUI nicht klappt. Evtl. Rechte in der GUI? Über die Konsole scheint es ja zu gehen..
 
Zuletzt bearbeitet:
Zurück
Oben