Trage VPN verbinding tussen Ubiquity USG 3P en OPNsense

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • ddkiller0900
  • Registratie: Juli 2001
  • Laatst online: 30-05 07:40
Ik probeer al enige tijd een stabiele en snelle Site-to-Site VPN verbinding op te zetten tussen mijn Ubiquity USG 3P en een OPNsense firewall in een datacenter van Hetzner. De verbinding is er, maar de snelheid is om van te huilen. Gemiddeld haal ik 10 Mbit down / 1 Mbit up.

Specs internet verbinding thuis: 500 Mbit down / 30 Mbit up (Telenet Klik)

Setup in het datacenter:

Dedicated server met daarop KVM / QEMU als hypervisor:
  • AMD Ryzen 5 3600 6-Core Processor
  • 64 GB RAM
  • 1 TB SSD
  • 1 NIC Intel I210
OPNsense draait daar op als een VM:
  • 8 vCPU
  • 8 GB RAM
  • 100 GB virtio disk
  • 1 NIC bridged (virtio)
  • 5 NICs macvtap (virtio)
  • OPNsense 23.7.8-amd64
  • FreeBSD 13.2-RELEASE-p5
Deze dedicated server is verbonden met nog een andere dedicated server via een vswitch.
Hierdoor dient de MTU van de interfaces op 1400 te staan.

Verbinding getest met iperf naar het publieke ip van de dedicated server:

code:
1
2
3
4
5
6
7
8
9
------------------------------------------------------------
Client connecting to x.x.x.x, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  1] local x.x.x.x port 49666 connected with x.x.x.x port 5001 (full-duplex)
[ ID] Interval       Transfer     Bandwidth
[  1] 0.0000-10.0485 sec  13.0 MBytes  10.9 Mbits/sec
[ *1] 0.0000-10.2252 sec   217 MBytes   178 Mbits/sec
[SUM] 0.0000-10.2252 sec   230 MBytes   188 Mbits/sec


Verbinding getest met iperf naar het ip adres binnen de VPN range:

code:
1
2
3
4
5
6
7
8
9
------------------------------------------------------------
Client connecting to 192.168.5.254, TCP port 7621
TCP window size: 45.0 KByte (default)
------------------------------------------------------------
[  1] local 192.168.10.175 port 56924 connected with 192.168.5.254 port 7621 (full-duplex)
[ ID] Interval       Transfer     Bandwidth
[  1] 0.0000-10.1179 sec  10.5 MBytes  8.71 Mbits/sec
[ *1] 0.0000-10.4132 sec  1.00 Bytes  0.768 bits/sec
[SUM] 0.0000-10.4132 sec  10.5 MBytes  8.46 Mbits/sec


Wanneer ik binnen OPNsense de verbinding tussen de VMs test haal ik een snelheid van ongeveer 2,5 Gbit.
Alleen de verbindingen richting de VM die in de VPN IP reeks zitten halen een heel lage snelheid.

Wat heb ik al geprobeerd?
Eerst dacht ik dat de encryptie de boosdoener was en dat de USG 3P daar moeite mee had, maar zelfs met AES-256-CBC haal ik exact dezelfde snelheid.

Op de OPNsense staat het volgende uitgeschakeld (wordt ook aanbevolen):
  • Hardware CRC
  • Hardware TSO
  • Hardware LRO
De MTU van de interface die gebruikt wordt voor de OpenVPN verbinding heb ik aangepast naar 1300 met een Mssfix van 1260. Dezelfde instellingen gebruik in op de Ubiquity USG 3P.

Ik heb ook al verschillende instellingen aangepast in de Tuneables van OPNsense waarbij ik onderstaande website als richtlijn heb gebruikt, helaas zonder resultaat.

https://binaryimpulse.com/2022/11/opnsense-performance-tuning-for-multi-gigabit-internet/

Zowel de OPNsense als Ubiquity USG 3P zijn volledig up-to-date.

Verder zie ik een hoop connects en disconnect in de logs.
Via een wireshark capture zie ik tijdens het kopiëren van een groot bestand verschillende keren retransmits omdat er packets verloren gaan.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2023-11-18T15:24:34 Notice  openvpn_server2 MANAGEMENT: Client disconnected 
2023-11-18T15:24:34 Notice  openvpn_server2 MANAGEMENT: CMD 'quit'  
2023-11-18T15:24:33 Notice  openvpn_server2 MANAGEMENT: CMD 'status 2'  
2023-11-18T15:24:33 Notice  openvpn_server2 MANAGEMENT: Client connected from /var/etc/openvpn/server2.sock 
2023-11-18T15:23:30 Notice  openvpn_server2 MANAGEMENT: Client disconnected 
2023-11-18T15:23:30 Notice  openvpn_server2 MANAGEMENT: CMD 'quit'  
2023-11-18T15:23:29 Notice  openvpn_server2 MANAGEMENT: CMD 'status 2'  
2023-11-18T15:23:29 Notice  openvpn_server2 MANAGEMENT: Client connected from /var/etc/openvpn/server2.sock 
2023-11-18T15:22:25 Notice  openvpn_server2 MANAGEMENT: Client disconnected 
2023-11-18T15:22:25 Notice  openvpn_server2 MANAGEMENT: CMD 'quit'  
2023-11-18T15:22:25 Notice  openvpn_server2 MANAGEMENT: CMD 'status 2'  
2023-11-18T15:22:25 Notice  openvpn_server2 MANAGEMENT: Client connected from /var/etc/openvpn/server2.sock 
2023-11-18T15:21:21 Notice  openvpn_server2 MANAGEMENT: Client disconnected 
2023-11-18T15:21:21 Notice  openvpn_server2 MANAGEMENT: CMD 'quit'  
2023-11-18T15:21:21 Notice  openvpn_server2 MANAGEMENT: CMD 'status 2'  
2023-11-18T15:21:20 Notice  openvpn_server2 MANAGEMENT: Client connected from /var/etc/openvpn/server2.sock


Aangezien dit iets met netwerken te maken heeft heb ik het in dit topic geplaatst.
Is er iemand die mij een beetje in de goede richting kan sturen?

Alle reacties


Acties:
  • 0 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Nu online
Je weet dat een USG traag is met OpenVPN en dat evt SSL offload meestal beperkt is tot SHA1?

Acties:
  • 0 Henk 'm!

  • valkenier
  • Registratie: Maart 2000
  • Laatst online: 06-06 22:47
Welke ISP ligtt eronder?

Acties:
  • 0 Henk 'm!

  • ddkiller0900
  • Registratie: Juli 2001
  • Laatst online: 30-05 07:40
@_JGC_ Ik weet dat het niet de snelste router is, maar ik heb deze VPN setup ook al getest op mijn laptop. Daarom denk ik dat het probleem eerder op de OPNsense firewall aanwezig is. Wat is jouw ervaring met Max snelheden met een USG 3P? Weet je toevallig een goed alternatief (ca 100 euro) dat ik in mijn thuis setup kan toevoegen dat enkel en alleen de VPN regelt, mocht blijken dat ik geen hogere snelheid dan 10 Mbit / 1 Mbit voor elkaar krijg?

@valkenier Geen idee welke ISP hetzner gebruikt voor zijn verbindingen. Maar ik ervaar het probleem alleen met de VPN verbinding. De rest is aanvaardbaar.

[ Voor 7% gewijzigd door ddkiller0900 op 18-11-2023 17:01 ]


Acties:
  • +1 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Nu online
De USG3P is onderhuids gewoon een Edgerouter Lite 3 poorts. Die laatste heb ik site2site VPNs met AES128-SHA1 gehad met regelmatige rekey om toch iets van veiligheid te houden. Snelheden zaten rond de 100Mbit, wat destijds voldoende was.
Weet niet of je ipsec offload in de controller aan kunt zetten of via SSH op de router zelf, maar dat kan je online wel vinden denk ik.

MTU niet teveel mee klooien, dat zoeken FreeBSD en linux zelf wel uit.

OpenVPN op een USG3P gaat volledig in software zonder enige encryptie offloading.

Acties:
  • 0 Henk 'm!

  • valkenier
  • Registratie: Maart 2000
  • Laatst online: 06-06 22:47
@ddkiller0900 Ik bedoel niet de Hetzner ISP, maar de jouwe. Ziggo Connectboxen zijn berucht omdat ze zich verslikken in VPN verbindingen.

Acties:
  • 0 Henk 'm!

  • iworx
  • Registratie: Juli 2001
  • Laatst online: 06-06 15:57
valkenier schreef op zondag 19 november 2023 @ 08:47:
@ddkiller0900 Ik bedoel niet de Hetzner ISP, maar de jouwe. Ziggo Connectboxen zijn berucht omdat ze zich verslikken in VPN verbindingen.
Dat gaat Telenet zijn. Ik zit hier met een Telenet One abo (1000/50) maar met een modem in bridge en OPNSense > OPNSense cloud server bij Hetzner en ik haal vlot 800 down over een wireguard site tot site VPN. Mijn opzet heb ik bewust anders gemaakt. Mijn dedicated server(s) zitten achter die Hetzner Cloud server met daarachter hun private network tot aan de servers. Deze zijn niet public exposed.

Trage bandbreedte tijdens VPN is in eerste plaats een CPU of offload gegeven en OpenVPN is .. ou(d|t).

This space intentionally left blank.


Acties:
  • 0 Henk 'm!

  • ddkiller0900
  • Registratie: Juli 2001
  • Laatst online: 30-05 07:40
Het gaat hier inderdaad om Telenet, staat trouwens in de OP.

@iworx Wat is jouw beweegreden om de dedicated servers achter de cloud servers te zetten via een private netwerk?
En op wat voor hardware draait jouw OPNsense thuis? Ik heb hier nog wat oude servers staan, maar dat lijkt mij wat overkill naar stroomverbruik toe. En een raspberry pi 4 (die ik hier ook nog heb liggen) is niet geschikt voor OPNsense vanwege de arm architectuur. Wat ik wel kan doen is de raspberry pi gebruiken voor de VPN, als die daar krachtig genoeg voor is uiteraard.

Zelf wil ik alleen gebruik maken van de dedicated servers en heb daar naast het IPv6 subnet enkele IPv4 ip adressen aangekocht zodat ik verschillende VMs kan draaien waar een publiek IP adres voor nodig is. Misschien is het wel interessant om eens wireguard te proberen in plaats van OpenVPN. Ik verwacht eerlijk gezegd niet veel performance winst aangezien de zwakste schakel nog steeds die USG 3P is.

[ Voor 6% gewijzigd door ddkiller0900 op 19-11-2023 16:25 . Reden: Extra info toegevoegd ]


Acties:
  • 0 Henk 'm!

  • jadjong
  • Registratie: Juli 2001
  • Nu online
ddkiller0900 schreef op zaterdag 18 november 2023 @ 15:30:

Wanneer ik binnen OPNsense de verbinding tussen de VMs test haal ik een snelheid van ongeveer 2,5 Gbit.
Alleen de verbindingen richting de VM die in de VPN IP reeks zitten halen een heel lage snelheid.
Kan je dit op een andere manier uitleggen? Ik heb moeite met het begrijpen wat VM's binnen OpenVPN zijn en wat je bedoelt met VM in de VPN IP reeks. Vanaf waar start je dan de Iperf tests?

Acties:
  • 0 Henk 'm!

  • ddkiller0900
  • Registratie: Juli 2001
  • Laatst online: 30-05 07:40
jadjong schreef op zondag 19 november 2023 @ 17:32:
[...]

Kan je dit op een andere manier uitleggen? Ik heb moeite met het begrijpen wat VM's binnen OpenVPN zijn en wat je bedoelt met VM in de VPN IP reeks. Vanaf waar start je dan de Iperf tests?
Nu ik de tekst nalees, leest het inderdaad niet zo lekker.
Misschien is het handiger om uit te leggen wat ik wil bereiken.

Vroeger draaide ik enkele VMs bij mij thuis op een server als hobby project.
Onder andere Plex, DHCP, DNS, ...
Deze VMs wil ik nu op een dedicated server draaien en bereikbaar maken met behulp van een site-to-site VPN die op een Ubiquity USG 3P wordt opgezet.

Op de dedicated server(s) gebruik ik KVM voor virtualisatie waarbij ik gebruik maak van verschillende VLANs. Eén van deze VLANs wil ik via mijn site-to-site verbinding beschikbaar maken zodat daar Plex en nog wat andere VMs in draaien.

OPNsense is een VM die op een dedicated server draait en heeft een interface in ieder VLAN. Daar vindt dan ook de routering plaats. Op deze OPNsense draait ook OpenVPN (AES128 met SHA1).
Wanneer ik iperf test tussen de verschillende VLANs haal ik een snelheid van 2,5 Gbit. Alleen het VLAN dat ik beschikbaar maak via de VPN is ontzettend traag vanuit zowel mijn thuis als vanuit de overige VLANs.

Ik hoop dat dit duidelijker is en anders geef ik graag extra uitleg.

Acties:
  • +1 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Nu online
Nogmaals, de USG doet alleen offload op ipsec, niet op OpenVPN. OpenVPN draait volledig op de CPU.

Acties:
  • 0 Henk 'm!

  • jadjong
  • Registratie: Juli 2001
  • Nu online
ddkiller0900 schreef op zondag 19 november 2023 @ 20:00:
Alleen het VLAN dat ik beschikbaar maak via de VPN is ontzettend traag vanuit zowel mijn thuis als vanuit de overige VLANs.

Ik hoop dat dit duidelijker is en anders geef ik graag extra uitleg.
Ik snap hem nu denk ik.

VLAN A 192.168.1.x
VLAN B 192.168.2.x
VLAN C 192.168.3.x
VLAN D 192.168.4.x
VLAN E 192.168.5.x (die wil je thuis bereiken)

Heb je hier nog een extra subnet voor VPN clients of krijgt die Edgerouter ook een adres toegewezen uit het subnet van VLAN E?

Acties:
  • +1 Henk 'm!

  • ddkiller0900
  • Registratie: Juli 2001
  • Laatst online: 30-05 07:40
@_JGC_ Dat snap ik, maar ik ben benieuwd naar ervaringen van anderen aangezien de throughput echt laag is. Is het normaal dat ik maar max 1 Mbit down haal? Jouw antwoord geeft mij nog steeds geen inzichten in wat ik kan / mag verwachten.

@jadjong Ik gebruik nog een apart subnet voor de VPN clients. De reden daarvoor is dat ik wellicht in de toekomst nog andere netwerken beschikbaar wil maken richting thuis.

@laurens0619 Dat heb ik gedaan, dan haal ik min of meer normale snelheden. Zie in de OP de snelheid zonder VPN.

[ Voor 41% gewijzigd door ddkiller0900 op 19-11-2023 20:26 ]


Acties:
  • 0 Henk 'm!

  • laurens0619
  • Registratie: Mei 2002
  • Laatst online: 12:54
Ik zou eerst een een iperf opzetten tussen beide locaties (liefst op vpn poort), dan weet je wat je transit/peering doet

CISSP! Drop your encryption keys!


Acties:
  • 0 Henk 'm!

  • iworx
  • Registratie: Juli 2001
  • Laatst online: 06-06 15:57
ddkiller0900 schreef op zondag 19 november 2023 @ 14:38:
Het gaat hier inderdaad om Telenet, staat trouwens in de OP.

@iworx Wat is jouw beweegreden om de dedicated servers achter de cloud servers te zetten via een private netwerk?
En op wat voor hardware draait jouw OPNsense thuis? Ik heb hier nog wat oude servers staan, maar dat lijkt mij wat overkill naar stroomverbruik toe. En een raspberry pi 4 (die ik hier ook nog heb liggen) is niet geschikt voor OPNsense vanwege de arm architectuur. Wat ik wel kan doen is de raspberry pi gebruiken voor de VPN, als die daar krachtig genoeg voor is uiteraard.

Zelf wil ik alleen gebruik maken van de dedicated servers en heb daar naast het IPv6 subnet enkele IPv4 ip adressen aangekocht zodat ik verschillende VMs kan draaien waar een publiek IP adres voor nodig is. Misschien is het wel interessant om eens wireguard te proberen in plaats van OpenVPN. Ik verwacht eerlijk gezegd niet veel performance winst aangezien de zwakste schakel nog steeds die USG 3P is.
Mijn IPs zitten op de firewall - zo kan ik wisselen van host wanneer ik wil. Nu hangen ze bij jou vast aan de server. Niemand heeft er zaken mee wat er op die dozen draait .. laat ze maar tegen de FW babbelen :)

Ik heb eerst op een kleine i7 NUC gedraaid en sinds kort geupgrade naar een DEC740 van OPNsense zelf.

Kijk eens of je je VPN niet kan termineren achter de USG?

This space intentionally left blank.


Acties:
  • 0 Henk 'm!

  • ddkiller0900
  • Registratie: Juli 2001
  • Laatst online: 30-05 07:40
iworx schreef op zondag 19 november 2023 @ 20:25:
[...]


Mijn IPs zitten op de firewall - zo kan ik wisselen van host wanneer ik wil. Nu hangen ze bij jou vast aan de server. Niemand heeft er zaken mee wat er op die dozen draait .. laat ze maar tegen de FW babbelen :)

Ik heb eerst op een kleine i7 NUC gedraaid en sinds kort geupgrade naar een DEC740 van OPNsense zelf.

Kijk eens of je je VPN niet kan termineren achter de USG?
Aha duidelijk. Dus OPNsense draait op een VM van hun cloudomgeving.

Ik zal eens wat opzoekwerk doen over die DEC740.

Zou een raspberry pi 4 snel genoeg zijn voor de VPN? Zal mij daar deze week eens mee bezig houden.

Acties:
  • 0 Henk 'm!

  • jadjong
  • Registratie: Juli 2001
  • Nu online
Ik zou het probleem op delen.

CPU monitoren van zowel de Edgerouter als de remote router wanneer je vanaf thuis iets met Iperf doet.
Thuis een VM aanslingeren met OPNsense zodat de Edgerouter even tot rust kan komen.
Die VM op een laptop draaien zodat je ook vanaf een andere internetverbinding met een andere router er tussen kan testen.

Je hebt effectief twee problemen; intern verkeer naar VLAN E is traag & extern verkeer naar VLAN E is traag. Dat kan met elkaar te maken hebben, maar ook niet. :P

Is die Iperf in je eerste post naar het IP van de VPN gateway of een IP in VLAN E?

Acties:
  • 0 Henk 'm!

  • ddkiller0900
  • Registratie: Juli 2001
  • Laatst online: 30-05 07:40
jadjong schreef op zondag 19 november 2023 @ 20:57:
Ik zou het probleem op delen.

CPU monitoren van zowel de Edgerouter als de remote router wanneer je vanaf thuis iets met Iperf doet.
Thuis een VM aanslingeren met OPNsense zodat de Edgerouter even tot rust kan komen.
Die VM op een laptop draaien zodat je ook vanaf een andere internetverbinding met een andere router er tussen kan testen.

Je hebt effectief twee problemen; intern verkeer naar VLAN E is traag & extern verkeer naar VLAN E is traag. Dat kan met elkaar te maken hebben, maar ook niet. :P

Is die Iperf in je eerste post naar het IP van de VPN gateway of een IP in VLAN E?
OPNsense op een VM testen vanaf mijn laptop was sowieso mijn volgende stap om te kijken hoe dat performed.

Die Iperf is naar het IP van de VPN gateway. Ik zet binnen OPNsense bij interface diagnostics een iperf sessie op. Dan krijg je het eerste resultaat zoals in mijn OP staat. Ik heb het ook al eens rechtstreeks getest naar VMs in verschillende remote subnets. De snelheid van thuis naar de VMs is dan overal even traag (tweede resultaat). Alleen op de OPNsense zelf lijkt verkeer overal goed te gaan, behalve naar het subnet dat ik remote beschikbaar maak voor de VPN.
Pagina: 1