Hi droogiee — with
500 Mbps up/down at both ends, your theoretical max is about
62.5 MB/s. After VPN/protocol overhead, a good real-world target is roughly
40–55 MB/s if latency is reasonable and the hardware can encrypt fast enough.
Your current
2.2 MB/s–6 MB/s is far below what should be possible.
Best option: WireGuard site-to-site VPN
For fastest transfers between two networks, I’d use:
- WireGuard site-to-site VPN if you control both ends.
- Tailscale or ZeroTier if you want easier setup, but make sure the connection is direct and not relayed.
- IPsec/IKEv2 if your routers/firewalls have good hardware acceleration.
- Avoid SSTP and Hamachi for high-speed LAN-to-LAN file transfer.
SSTP is often slow because it runs over TCP/443. If you then copy files over SMB, you can end up with TCP-over-TCP behavior, which performs badly over latency or packet loss.
What I would do
1. Check raw speed first with iperf3
Before blaming file sharing, test the VPN pipe itself.
On one side:
iperf3 -s
On the other side:
iperf3 -c VPN_IP_ADDRESS
For multiple streams:
iperf3 -c VPN_IP_ADDRESS -P 8
Expected result on a good 500/500 link: somewhere around
300–500 Mbps, depending on latency, router CPU, and VPN overhead.
2. Use WireGuard instead of SSTP
Recommended layout:
Home LAN <--> Router/Firewall/Server running WireGuard <--> Internet <--> Router/Firewall/Server running WireGuard <--> Work LAN
Good platforms for this:
- OPNsense/pfSense
- MikroTik
- Ubiquiti/UniFi Gateway
- Linux mini PC
- Windows machine running WireGuard
- GL.iNet router
If possible, run WireGuard on a router/firewall or small dedicated box rather than a low-power NAS or old PC.
3. Watch the CPU bottleneck
VPN speed depends heavily on encryption performance.
Check CPU usage during a transfer:
- Open Task Manager.
- Start a large file transfer.
- Check CPU usage on both VPN endpoints.
- If one endpoint is near 100% CPU, that device is your bottleneck.
If using a router, many consumer routers cannot route/encrypt 500 Mbps over VPN even though their WAN port is gigabit.
4. SMB may still be slower over VPN
Even with a fast VPN, Windows file sharing/SMB can be limited by latency.
For Windows-to-Windows file copies, try:
robocopy "\\remote-server\share" "D:\LocalFolder" /E /MT:16 /R:2 /W:2
Or reverse direction:
robocopy "D:\LocalFolder" "\\remote-server\share" /E /MT:16 /R:2 /W:2
/MT:16 uses multiple threads and often helps a lot over VPN.
For very large transfers, also consider:
- SFTP
- rsync
- Syncthing
- Resilio Sync
- OneDrive/SharePoint/Nextcloud-style sync
These can outperform SMB across WAN links.
5. Check MTU/MSS
VPNs add overhead. Bad MTU settings can cause terrible speed.
For WireGuard, common MTU values are:
If speeds are poor or transfers stall, try lowering WireGuard MTU to
1380 on both ends.
6. Make sure you are not using a relay
If using Tailscale, ZeroTier, or Hamachi, check whether the traffic is direct.
A relayed connection can be much slower than your actual 500/500 connection.
For Tailscale, run:
tailscale status
You want to see a
direct connection, not relay/DERP.
Bottom line
To get close to your LAN-like
48–50 MB/s, use:
WireGuard + direct site-to-site routing + decent VPN hardware + robocopy /MT
Realistically, I’d expect:
Code:
Good setup: 35–55 MB/s
Okay setup: 15–30 MB/s
Bad SSTP setup: 2–8 MB/s
Also, since one side is your
work network, make sure you have permission before creating a site-to-site VPN. You don’t want to accidentally bypass company firewall/security policy.