Actually, it’s an everything performance problem – a problem that’s all over the net, but no answers… forgive the length of this – there’s a lot here, but I want to make sure I covered everything in this case…
I have a CHR Router under VMWare (7.1.3), attached to gigabit fiber. Plenty of RAM, CPU never rises above 30%. VMXNet3 drivers. On the other end, I’m using a new RB5009 router. At another location, the same CHR connects to the new HEX series. The only difference between the two paths – one has a last mile of Comcast, the other Spectrum.
- A Mikrotik /tools/speedtest from the CHR on fiber to the HEX on Spectrum shows about TCP 120/35 down/up respectively for a 600/40 link. This is just raw transport - no tunnels
[list[A Mikrotik /tools/speedtest from the CHR on fiber to the RB5089 on Comcast shows TCP 100/7 down/up for a 1Gb/40M link. Again raw transport./list]
- The CHR to Hex on Spectrum shows a UDP speedtest of 583 down/35 up
- The CHR to RB5089 on Comcast shows UDP speedtest of 300/9 Mbs
So far, we can see Comcast is having issues – but of course, this is Cocmast, so I’m holding it wrong. There network is never broken. But even the Spectrum link seems odd.
Now, if we add GRE, no encruption
- CHR to Hex on Spectrum gets about 150/35 GRE
- CHR to 5009 on Comcast gets 80/5
I’ve adjusted the GRE MTU to 1280, TCP msg clamping, allow fastpath. Packet loss is around 1% max.
YET…
If I use any of the VPN services, NordVPN, etc. over the same routers (no GRE obviously), they get nearly link speed. So, I tried setting up Wireguard and OpenVPN, and they were even worse due to the encryption overhead! I am clearly missing something! I even tried SSTP thinking it couldn’t possibly get any worse – I was wrong.
On the wireguard issue – For a site-to-site Mikrotik wireguard tunnel, what should allowed IPs be set to for the following:
-----(Internet)—CHR(BGP)–199.181.204.0/24—CHR(WiregaurdR1)----tunnel-over-net–5089–199.182.204.128/26
I thought[/i AllowedIPs on the CHR should be 199.181.204.128/26 and on the 5009 it should be 0.0.0.0/0 right? That doesn’t actually work though…]