1. MTU Size: The Usual Suspect
If your VPN drops every couple of minutes, especially during file transfers or large downloads, I'd bet on MTU issues first. I've seen this in every VPN client — OpenVPN, WireGuard, Cisco AnyConnect — and on both Windows and macOS.
The problem is simple. Your VPN tunnel wraps each packet in extra headers. If your physical interface uses the default 1500-byte MTU, the extra overhead pushes packets over the limit. They get fragmented or dropped. The VPN connection looks fine until it hits a bigger packet, then it just dies.
You'll often see this when browsing works but email attachments or video calls fail. Or the VPN drops during a large FTP transfer — classic sign.
The fix is to lower the MTU on the VPN interface. Most VPN clients let you set this. For OpenVPN, add this to your config:
tun-mtu 1400
mssfix 1360For WireGuard, it's in the [Interface] section:
MTU = 1380Start at 1400 and go down in increments of 20 until the connection stabilizes. Also, don't forget the physical interface. On Windows, run this in an elevated command prompt:
netsh interface ipv4 show subinterfaces
netsh interface ipv4 set subinterface "Ethernet" mtu=1400 store=persistentChange "Ethernet" to your actual adapter name. On macOS, you'd use ifconfig but honestly, changing MTU on the VPN config is usually enough.
One caveat — if your VPN uses UDP (most do), you can also try lowering the MTU on the VPN server side. But that's rarer, and you usually don't control the server. Start with the client.
2. NIC Power Management: The Sneaky Killer
Windows loves to "save power" by turning off your network adapter. It's a terrible idea for VPN stability. The adapter goes to sleep for a split second, the tunnel breaks, and you're back to reconnecting.
This is especially common on laptops. I've seen it on Dell XPS, Lenovo ThinkPads, and HP EliteBooks — all with the default power settings. The VPN drops at random times with no pattern, often when the machine has been idle for a few minutes.
Here's how to fix it:
- Right-click the Start button, select Device Manager.
- Expand Network adapters, find your WiFi or Ethernet adapter (e.g., Intel Wi-Fi 6 AX200).
- Right-click, select Properties.
- Go to the Power Management tab.
- Uncheck "Allow the computer to turn off this device to save power."
- Click OK.
Do this for every network adapter you have, including virtual ones (like TAP-Windows Adapter V9 from OpenVPN). I also set the wireless adapter's power saving mode to Maximum Performance in the advanced properties, but that's optional.
A quick test — if your VPN drops when the screen locks or after a few minutes of no activity, it's almost certainly this. Also, check your power plan. Go to Control Panel > Power Options > Edit plan settings > Change advanced power settings. Look for "Wireless Adapter Settings" and set it to Maximum Performance.
This fix alone solved the issue for about 60% of my clients. It's shocking how many people never check this.
3. DNS Leaks and Bad DNS Servers
Sometimes the VPN connection stays up, but your traffic goes through your ISP's DNS instead of the VPN's. That causes delays, and if the DNS server is flaky, it looks like the VPN is dropping.
In other cases, the VPN client uses your local DNS for name resolution before the tunnel is fully established, and then the connection fails on a timeout.
Start by checking what DNS servers you're actually using while connected to the VPN. On Windows, run ipconfig /all and look at the DNS servers for the VPN adapter. If you see your ISP's IP (like 192.168.1.1 or 10.0.0.1), that's your problem.
Set the DNS to a reliable public resolver — I prefer Cloudflare's 1.1.1.1, but Google's 8.8.8.8 works too. You can do this in the VPN client settings if it allows. For OpenVPN, add to the config:
dhcp-option DNS 1.1.1.1
dhcp-option DNS 1.0.0.1For Windows, you can also set it on the adapter manually:
netsh interface ip set dns name="Ethernet" static 1.1.1.1Replace "Ethernet" with the VPN adapter name (usually "TAP-Windows Adapter V9" or "WireGuard Tunnel").
Also, clear your DNS cache after changing. ipconfig /flushdns.
One more thing — if you're using a VPN client that has a "DNS leak protection" option, turn it on. It forces all DNS queries through the tunnel. That's a quick and dirty fix, but it doesn't help if the VPN client itself is misconfigured.
I've seen this issue on corporate setups where the internal DNS is only reachable through the VPN. If the VPN drops for a second, DNS fails, and then apps throw errors that look like a disconnect. Fix the DNS and you fix the perceived issue.
Quick-Reference Summary
| Cause | Symptom | Fix |
|---|---|---|
| MTU too high | Drops during large transfers or video calls | Lower MTU on VPN interface (e.g., 1400) |
| NIC power management | Drops after idle periods or on laptops | Disable power saving on network adapter |
| Bad DNS settings | Drops when browsing, but connection appears up | Set DNS to 1.1.1.1 or 8.8.8.8 in VPN config |
That's the meat of it. Try these in order. Nine times out of ten, it's the MTU or the power management. Don't bother reinstalling your VPN client — that rarely helps. And if you're on a company VPN, you might not be able to change these settings. Then talk to your IT department and send them this article.