OpenVPN läuft nicht über UDP

Das schwierige Thema VPN!
Post Reply
hablitzel
Posts: 5
Joined: August 22nd, 2017, 6:29 pm

OpenVPN läuft nicht über UDP

Post by hablitzel » August 22nd, 2017, 8:10 pm

Hallo zusammen,

ich nutze seit zwei Wochen IPFire 2.19 (x86_64) - Core Update 112 und habe jetzt das Problem, dass mein OpenVPN Netz über TCP problemlos läuft, nicht aber über UDP.
Wir haben einen Internetzugang mit statischen IP-Adressen. Für OpenVPN habe ich einen Alias auf dem roten Interface angelegt. Die "Standard-Adresse" des roten Interfaces ist xx.yy.zz.66, der Alias hat die Adresse xx.yy.zz.70.

Von einem Linux-Client sieht der Verbindungsaufbau so aus:

Code: Select all

Tue Aug 22 21:33:37 2017 OpenVPN 2.4.0 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Jun 22 2017
Tue Aug 22 21:33:37 2017 library versions: OpenSSL 1.0.2g  1 Mar 2016, LZO 2.08
Enter Private Key Password: *******************
Tue Aug 22 21:33:42 2017 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Tue Aug 22 21:33:42 2017 Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
Tue Aug 22 21:33:42 2017 Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
Tue Aug 22 21:33:42 2017 TCP/UDP: Preserving recently used remote address: [AF_INET]78.94.183.70:1194
Tue Aug 22 21:33:42 2017 Socket Buffers: R=[212992->212992] S=[212992->212992]
Tue Aug 22 21:33:42 2017 UDP link local: (not bound)
Tue Aug 22 21:33:42 2017 UDP link remote: [AF_INET]xx.yy.zz.70:1194
Tue Aug 22 21:34:42 2017 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Tue Aug 22 21:34:42 2017 TLS Error: TLS handshake failed
Tue Aug 22 21:34:42 2017 SIGUSR1[soft,tls-error] received, process restarting
Tue Aug 22 21:34:42 2017 Restart pause, 5 second(s)
Tue Aug 22 21:34:47 2017 Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
Tue Aug 22 21:34:47 2017 Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
Tue Aug 22 21:34:47 2017 TCP/UDP: Preserving recently used remote address: [AF_INET]78.94.183.70:1194
Tue Aug 22 21:34:47 2017 Socket Buffers: R=[212992->212992] S=[212992->212992]
Tue Aug 22 21:34:47 2017 UDP link local: (not bound)
Tue Aug 22 21:34:47 2017 UDP link remote: [AF_INET]xx.yy.zz.70:1194
^CTue Aug 22 21:34:51 2017 event_wait : Interrupted system call (code=4)
Tue Aug 22 21:34:51 2017 SIGINT[hard,] received, process exiting
Der Verbindungsaufbau sieht auf dem IPFire über UDP so aus:

Code: Select all

Aug 22 21:33:43 ipfire openvpnserver[6243]: 82.113.98.90:62977 TLS: Initial packet from [AF_INET]82.113.98.90:62977, sid=994914b1 bd21c5a6
Aug 22 21:34:43 ipfire openvpnserver[6243]: 82.113.98.90:62977 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Aug 22 21:34:43 ipfire openvpnserver[6243]: 82.113.98.90:62977 TLS Error: TLS handshake failed
Aug 22 21:34:43 ipfire openvpnserver[6243]: 82.113.98.90:62977 SIGUSR1[soft,tls-error] received, client-instance restarting
Aug 22 21:34:48 ipfire openvpnserver[6243]: 82.113.98.90:39659 TLS: Initial packet from [AF_INET]82.113.98.90:39659, sid=c6d0d731 e1d8c641
Es kommt also keine Verbindung zustande. Auf dem Client ist keine Firewall aktiv, die den Verkehr über UDP blocken würde.

Interessanterweise kommen aber diese Meldungen im Firewall-Log (ich habe Logging für alle Pakete an meinen Client aktiviert):

Code: Select all

Aug 22 21:33:43 ipfire kernel: OUTGOINGFW IN= OUT=red0 SRC=xx.yy.zz.66 DST=82.113.98.90 LEN=126 TOS=0x00 PREC=0x00 TTL=64 ID=29045 DF PROTO=UDP SPT=1194 DPT=62977 LEN=106 
Aug 22 21:33:45 ipfire kernel: OUTGOINGFW IN= OUT=red0 SRC=xx.yy.zz.66 DST=82.113.98.90 LEN=114 TOS=0x00 PREC=0x00 TTL=64 ID=29625 DF PROTO=UDP SPT=1194 DPT=62977 LEN=94 
Aug 22 21:33:45 ipfire kernel: OUTGOINGFW IN= OUT=red0 SRC=xx.yy.zz.66 DST=82.113.98.90 LEN=122 TOS=0x00 PREC=0x00 TTL=64 ID=29646 DF PROTO=UDP SPT=1194 DPT=62977 LEN=102 
Aug 22 21:33:49 ipfire kernel: OUTGOINGFW IN= OUT=red0 SRC=xx.yy.zz.66 DST=82.113.98.90 LEN=126 TOS=0x00 PREC=0x00 TTL=64 ID=29824 DF PROTO=UDP SPT=1194 DPT=62977 LEN=106 
Aug 22 21:33:57 ipfire kernel: OUTGOINGFW IN= OUT=red0 SRC=xx.yy.zz.66 DST=82.113.98.90 LEN=126 TOS=0x00 PREC=0x00 TTL=64 ID=32007 DF PROTO=UDP SPT=1194 DPT=62977 LEN=106 
Aug 22 21:34:13 ipfire kernel: OUTGOINGFW IN= OUT=red0 SRC=xx.yy.zz.66 DST=82.113.98.90 LEN=114 TOS=0x00 PREC=0x00 TTL=64 ID=36606 DF PROTO=UDP SPT=1194 DPT=62977 LEN=94 
Aug 22 21:34:13 ipfire kernel: OUTGOINGFW IN= OUT=red0 SRC=xx.yy.zz.66 DST=82.113.98.90 LEN=122 TOS=0x00 PREC=0x00 TTL=64 ID=36699 DF PROTO=UDP SPT=1194 DPT=62977 LEN=102 
Ich verstehe jetzt nicht, warum der IPFire jetzt an meinen Client UDP-Pakete von Port 1194 von der Adresse xx.yy.zz.66 verschickt. Das müsste meiner Meinung nach von Adresse xx.yy.zz.70 passieren. Muss ich hier noch irgendwelche NAT-Regeln erstellen, damit das klappt? Ich dachte eigentlich, dass IPFire das von selbst macht. Bei TCP vermute ich, dass das so ist, weil da der Verbindungsaufbau klappt.


Während ich das alles geschrieben habe, ist mir noch was eingefallen. Ich habe beim Client jetzt in der Konfig die "erste" IP-Adresse des roten Interfaces angegeben, also xx.yy.zz.66. Dann klappt alles wunderbar über UDP.

Ich glaube, dass ich irgendwas Grundsätzliches noch nicht verstanden habe. Kann mir da jemand auf die Sprünge helfen?

Viele Grüße, Jens

hablitzel
Posts: 5
Joined: August 22nd, 2017, 6:29 pm

Re: OpenVPN läuft nicht über UDP

Post by hablitzel » September 7th, 2017, 9:21 am

Hat keiner eine Idee?

Alorotom
Posts: 241
Joined: March 30th, 2015, 6:56 am

Re: OpenVPN läuft nicht über UDP

Post by Alorotom » September 8th, 2017, 5:45 am

Hallo Jens,
wozu der Alias .70 auf RED?
Gruß
Alorotom
Image
Image
Image

hablitzel
Posts: 5
Joined: August 22nd, 2017, 6:29 pm

Re: OpenVPN läuft nicht über UDP

Post by hablitzel » September 13th, 2017, 9:43 pm

Hallo Alorotom,
ich möchte die IP-Adresse .70 für das VPN nutzen. Oder verstehe ich die Frage jetzt nicht?
Viele Grüße, Jens

fredym
Posts: 206
Joined: November 14th, 2016, 2:45 pm

Re: OpenVPN läuft nicht über UDP

Post by fredym » September 14th, 2017, 5:47 pm

hablitzel wrote:
September 13th, 2017, 9:43 pm
Hallo Alorotom,
ich möchte die IP-Adresse .70 für das VPN nutzen. Oder verstehe ich die Frage jetzt nicht?
Viele Grüße, Jens
Offensichtlich nicht wirklich ;-)
Das Problem ist recht einfach... ehmmm... warum schickst du
- ausgehend auf x.x.x.66
- und reinkommend auf x.x.x.70 ?

Aus dem Bauch (genauere Infos lieferst du nicht) ... da läuft beim Routing "ein Rad im Dreck".

auch

Code: Select all

Aug 22 21:33:43 ipfire kernel: OUTGOINGFW IN= OUT=red0 SRC=xx.yy.zz.66 DST=82.113.98.90 LEN=126 TOS=0x00 PREC=0x00 TTL=64 ID=29045 DF PROTO=UDP SPT=1194 DPT=62977 LEN=106 
SRC schreibst du x.66, wenn du x.70 wirklich willst, musst du das so einstellen.
Alternativ: hau doch einfach der Rest auf x.70 raus und benutze x.66 für VPN .
(Wenn du das sauber eingerichtet hast, haben sich auch andere Probleme erledigt)


Oder gibt es einen nachvollziehbaren (technischen) Grund, warum der normale Traffic x.66 verwenden muß ?

Wie du wohl selber gemerkt hast reicht die Definition eines Alias allein nicht. (Alias: nicht gelesen ? nicht verstanden?).
Optimalerweise richtig testen, mit einem anderen/unabhängigen Zugang, der eine direkt IP hat ( UMTS usw. fällt da fast aus)

Fred

Alorotom
Posts: 241
Joined: March 30th, 2015, 6:56 am

Re: OpenVPN läuft nicht über UDP

Post by Alorotom » September 15th, 2017, 10:09 am

Hallo Jens,
hablitzel wrote:
September 13th, 2017, 9:43 pm
ich möchte die IP-Adresse .70 für das VPN nutzen. Oder verstehe ich die Frage jetzt nicht?
Besteht eine technische Notwendigkeit? Was möchtest Du mit dem Alias erreichen? Denk an KIS - keep it simple.
Wenn Du nicht gerade vor hast, mehrere openVPN-Server zu betreiben und jeden davon über seine jeweilige Alias-IP von außen erreichbar zu machen, dann kann ich nicht nachvollziehen, wozu das mit den Alias-IP für openVPN gut sein soll.

Mit Alias meinst Du "Netzwerk - Aliase" aus dem WUI?
D.h., Du hast eine Range von statischen öffentlichen IP-Adressen?

Hier steht im Wiki etwas zum Thema Alias in Bezug auf die DMZ. Vielleicht ist das irgendwie nützlich für Dein Ansinnen. Insbesondere der Part, der sich mit der Forward-Rule der Alias IP in die DMZ befasst.

Gruß
Alorotom
Image
Image
Image

hablitzel
Posts: 5
Joined: August 22nd, 2017, 6:29 pm

Re: OpenVPN läuft nicht über UDP

Post by hablitzel » September 18th, 2017, 8:00 pm

fredym wrote:
September 14th, 2017, 5:47 pm

Offensichtlich nicht wirklich ;-)
Das Problem ist recht einfach... ehmmm... warum schickst du
- ausgehend auf x.x.x.66
- und reinkommend auf x.x.x.70 ?
Wenn ich im Web-Interface bei "Lokaler VPN Hostname/IP:" die x.x.x.70 angebe, bin ich davon ausgegangen, dass IPFire dafür sorgt, dass der Verkehr ein- und ausgehend auf dieser Adresse läuft. Wissentlich habe ich da gar nichts händisch konfiguriert, weil ich davon ausgegangen bin, dass IPFire sich darum kümmert.
Aus dem Bauch (genauere Infos lieferst du nicht) ... da läuft beim Routing "ein Rad im Dreck".

auch

Code: Select all

Aug 22 21:33:43 ipfire kernel: OUTGOINGFW IN= OUT=red0 SRC=xx.yy.zz.66 DST=82.113.98.90 LEN=126 TOS=0x00 PREC=0x00 TTL=64 ID=29045 DF PROTO=UDP SPT=1194 DPT=62977 LEN=106 
SRC schreibst du x.66, wenn du x.70 wirklich willst, musst du das so einstellen.
Alternativ: hau doch einfach der Rest auf x.70 raus und benutze x.66 für VPN .
(Wenn du das sauber eingerichtet hast, haben sich auch andere Probleme erledigt)
Was muss ich denn einstellen, außer dem, was ich oben bei "Lokaler VPN Hostname/IP:" einstelle? Es ist doch komisch, dass das Ganze mit TCP einwandfrei funktioniert, ohne dass ich etwas zusätzlich konfiguriere, und bei UDP nicht. Das kann für mein Dafürhalten nicht am Routing liegen, denn dann müsste es in beiden Fällen schief gehen.
Oder gibt es einen nachvollziehbaren (technischen) Grund, warum der normale Traffic x.66 verwenden muß ?
Technisch nicht, nachvollziehbar vielleicht schon. Ich hätte es gerne so, dass ich den normalen Traffic vom VPN trenne. Da es mit TCP klappt, verstehe ich nicht, warum es mit UDP nicht geht.
Wie du wohl selber gemerkt hast reicht die Definition eines Alias allein nicht. (Alias: nicht gelesen ? nicht verstanden?).
Sowohl gelesen als auch verstanden. Das Ganze klappt ja auch für Mail- und WWW-Server. Nur OpenVPN über UDP geht halt nicht wie gewünscht. Das es mit TPC klappt, kann es doch irgendwie nicht sein, dass es an der Definition des Alias liegt.
Optimalerweise richtig testen, mit einem anderen/unabhängigen Zugang, der eine direkt IP hat ( UMTS usw. fällt da fast aus)
Es ist doch in der Regel so, dass ein RoadWarrior eine wechselnde IP-Adresse hat. Das ist aus meiner Sicht zumindest der normale Use-Case. Deshalb teste ich das auch in dem Umfeld. Welchen Vorteil hätte eine weitere statische IP-Adresse beim Testen aus deiner Sicht?

hablitzel
Posts: 5
Joined: August 22nd, 2017, 6:29 pm

Re: OpenVPN läuft nicht über UDP

Post by hablitzel » September 18th, 2017, 8:04 pm

Hallo Alorotom,
Alorotom wrote:
September 15th, 2017, 10:09 am
Hallo Jens,
hablitzel wrote:
September 13th, 2017, 9:43 pm
ich möchte die IP-Adresse .70 für das VPN nutzen. Oder verstehe ich die Frage jetzt nicht?
Besteht eine technische Notwendigkeit? Was möchtest Du mit dem Alias erreichen? Denk an KIS - keep it simple.
Wenn Du nicht gerade vor hast, mehrere openVPN-Server zu betreiben und jeden davon über seine jeweilige Alias-IP von außen erreichbar zu machen, dann kann ich nicht nachvollziehen, wozu das mit den Alias-IP für openVPN gut sein soll.
Notwendig ist es nicht unbedingt, aber mich wundert, dass es über TCP klappt, aber nicht über UDP.
Mit Alias meinst Du "Netzwerk - Aliase" aus dem WUI?
D.h., Du hast eine Range von statischen öffentlichen IP-Adressen?
Ja genau, ich habe ein Subnetz mit 13 (nutzbaren) statischen IP-Adressen.
Hier steht im Wiki etwas zum Thema Alias in Bezug auf die DMZ. Vielleicht ist das irgendwie nützlich für Dein Ansinnen. Insbesondere der Part, der sich mit der Forward-Rule der Alias IP in die DMZ befasst.
Das werde ich mir mal ansehen. Danke für den Tipp.

VG, Jens

fredym
Posts: 206
Joined: November 14th, 2016, 2:45 pm

Re: OpenVPN läuft nicht über UDP

Post by fredym » September 19th, 2017, 5:41 pm

hablitzel wrote:
September 18th, 2017, 8:00 pm

Es ist doch in der Regel so, dass ein RoadWarrior eine wechselnde IP-Adresse hat. Das ist aus meiner Sicht zumindest der normale Use-Case. Deshalb teste ich das auch in dem Umfeld. Welchen Vorteil hätte eine weitere statische IP-Adresse beim Testen aus deiner Sicht?
erstens:
https://glossar.hs-augsburg.de/Untersch ... en_TCP/UDP
das hätte ein Blick genügt.
War auch Treffer 1 oder 2 bei der Suche .

Zweitens: stelle einfach sicher, dass beim Test die der Netzwerkkarte zugeweisenen Quell-IP auch in allen Paketen als Quell-IP übertragen wird.

Dann kannst du dir leidlich sicher sein sein, dass unterwegs nix "umgerubelt" wird.

drittens: IMHO ist es "wurscht" ob openVPN mit TCP oder UDP Paketen läuft, UDP ist manchmal schneller und manchmal dafür auch instabiler.
Ich musste im Laufe der Zeit einige auf TCP umstellen zugunsten eines sicheren Betriebes.
Ähnliche Strecken (sprich gleiche Standorte, gleiche Provider, nur andere Leitungen) waren auch nicht wirklich schneller mit UDP.

Also: du hast in B und M jeweils zwei Arcor/Vodafone DSL-Zugänge an einem (Büro)Standort, einer tut UDP der wzeite tut TCP ...aber Unterschiede sind nicht wirklich zu merken, und warum ? ein DSL für n-2-n der zweite als RW-Einwahl, mit dem Versuch den Traffic etwas zu verteilen.

Ds ist grundsätzlich so geblieben auch mit dem (späteren) Übergang zu SDSL und mehrern IPs. Die IPs waren mir egal...wichtig ist die Datenrate :)

Fred

Post Reply

Who is online

Users browsing this forum: Baidu [Spider] and 2 guests