Site to site IPv6 wireguard vpn has very slow upload speed when using GL.iNet Flint 2 as a client but using WG app on iPhone connected to same network gets good speed

Hello everyone,

I'm completely stumped by a WireGuard speed issue. My router-as-client setup has a >10x slower upload speed compared to using the WireGuard app on my phone. Download speeds are Ok on the router but better on the phone.

Here is my setup:

  • Site B (Server - Kathmandu)

    • Router: GL.iNet Slate (AXT1800) running as a WireGuard server.
    • ISP: 150 Mbps (Up/Down) Symmetrical.
    • Network: The ISP uses CGNAT, so I am using an IPv6-only DDNS endpoint for the server. The router is in Native IPv6 mode and is fully reachable.
  • Site A (Client - Ohio)

    • ISP: Spectrum (600 Mbps Down / 22 Mbps Up)
    • Router: GL.iNet Flint 2 (MT6000) running as a WireGuard client.
    • Network: The Flint 2 is connected via Ethernet (1Gbps link) to the main Spectrum router (Double NAT).
    • IPv6: I've enabled IPv6 on the Flint 2 to connect to the server.


The Problem

I've run two tests, and the results are night and day.

Test 1: Router-as-Client (The "Slow Upload" Test)

  1. I connect my iPhone via Wi-Fi to my Flint 2 (Client Router).
  2. The Flint 2 is running its WireGuard client, connected to the Site B server.
  3. Speed Test Result: Download is Ok (~72 Mbps), but the Upload speed is unusable: ~0.9 Mbps.

Test 2: Phone-as-Client (The "Good" Control Test)

  1. I connect my iPhone via Wi-Fi directly to my main Spectrum router.
  2. I open the WireGuard app on my phone and connect to the exact same Site B server (using the same IPv6 endpoint).
  3. Speed Test Result: ~92.6 Mbps Download / ~9 Mbps Upload. (Latency is ~374ms, which is expected).

My Goal: I need the Flint 2 (Test 1) to get the same speeds that my iPhone gets directly (Test 2).


What I've Already Tried (With No Success):

  • MTU: I tried setting the MTU on both the client (Flint 2) and server (Slate) from 1420 down to 1320. The abysmal upload speed did not change. (My iPhone test worked perfectly with the default 1420 MTU).
  • IPv6 Mode: On the Flint 2, I have tried both Native and Passthrough IPv6 modes. Neither fixed the upload speed.
  • Double NAT (DMZ): I put the Flint 2 in the Spectrum router's DMZ (with a reserved IP). This did not fix the upload speed.
  • Physical Link: The Flint 2 is connected to the Spectrum router at 1000 Mbps full duplex.

What could possibly be throttling the upload speed of a powerful Flint 2 router, when a simple iPhone app on the exact same network can get 10x the speed?

I am completely stuck and would appreciate any ideas. Thank you!

1 Like

UPDATE: I found the solution.

The problem was Network Acceleration on the Flint 2 (MT6000).

On the Flint 2's "Network Acceleration" page, there is a clear warning that the feature can conflict with several functions, including "VPN with IPv6."

My entire setup is a "VPN with IPv6" (a WireGuard client connecting to an IPv6-only DDNS endpoint).

The Fix (For Anyone with This Problem)

  1. Log in to the Flint 2 (MT6000).
  2. Go to NETWORK > Network Acceleration.
  3. Disable the "Enable" toggle.
  4. Click Apply.
  5. Reboot the router.

The Result

After I did this, my speeds matched with my iPhone speed tests.

Upload: 92 Mbps
Download: 9 Mbps

1 Like

Follow up question:

Site B ISP provides 150 Mbps (Up/Down) and Site A ISP provides 600 Mbps down and 22 Mbps up.

Does the Slate AX (AXT1800) have a similar acceleration that could be bottlenecking my server speed? Should I be getting close to 150 Mbps for download and close to 22 Mbps for upload if I disable hardware acceleration on the Slate too somehow?

I can't find a "Network Acceleration" toggle in the main GL.iNet UI (v4.8.2) for Slate. Does this router not have it, or is it located somewhere else (like LuCI)?

Has anyone tried disabling it, and did it improve your server's VPN throughput?

Thanks!

Hi,

Slate AX does not support network acceleration, so the speed issue is likely unrelated to that feature.


We recommand to measure the actual throughput between Slate AX and Flint 2 via SSHing into the router , installing and using iperf3:

opkg update && opkg install iperf3

# On the server side
iperf3 -s

# On the client side
# TCP 
# Upload test
iperf3 -c [IPv6 address]

# Download test
iperf3 -c [IPv6 address] -R

# UDP 
# Upload test
iperf3 -c [IPv6 address] --udp-counters-64bit

# Download test
iperf3 -c [IPv6 address] -R --udp-counters-64bit

Please note we need to open the port TCP/UDP 5201 for iperf3 on server side.

In general, speeds tend to drop significantly when traffic crosses regions, oceans, or different ISPs.