Node & Latency May 9, 2026

2026 Split tunnel vs full tunnel VPN on your laptop: why SSH to a rented ProxyMac Mac mini in HK / JP / KR / SG / US suddenly feels different overnight

ProxyMac Engineering Team May 9, 2026 ~14 min read

Remote engineers who rent Apple Silicon M4 Mac mini capacity in Hong Kong, Japan, Korea, Singapore, or the United States often blame “the cloud region” when SSH latency jumps or VNC frames freeze—yet the regression coincides with an IT policy flip between split tunnel and full tunnel VPN on the client laptop. This article’s conclusion: whichever mode owns the default route decides whether your TCP stream to port 22 rides the direct ISP path or hair-pins through a corporate concentrator possibly thousands of kilometres away. You will get (1) a plain-language explanation of routing-table deltas, (2) a four-row persona matrix for choosing mitigations, (3) copy-pasteable macOS audit commands, (4) a seven-step stabilisation runbook with numeric checkpoints (RTT > 220 ms alert threshold, MTU 1400 overlay caution), and links into our deeper dives on zero-trust VPN routing, HTTP CONNECT ProxyCommand, and cross-region latency optimisation.

  • Pain one: Git pushes through SSH suddenly inherit 350 ms RTT because default traffic now egresses from a different continent.
  • Pain two: Interactive shells feel fine while scp stalls—asymmetric shaping on the VPN bulk path.
  • Pain three: DNS answers for your mini hostname shift to a resolver only reachable inside full tunnel, breaking split DNS assumptions.

What actually changes inside your laptop when VPN toggles

Split tunnel typically leaves the existing ISP default gateway for generic Internet prefixes while injecting more-specific routes for corporate RFC1918 ranges. Full tunnel often installs 0.0.0.0/1 and 128.0.0.0/1 or a single default via the tunnel interface—every SYN toward your mini may traverse policy routes you never saw in the GUI. OpenSSH does not care about labels; it follows the kernel FIB. Quantitative reality: when internal benchmarks reran after a GlobalProtect profile push, median RTT to a Tokyo mini jumped from 48 ms direct to 310 ms via a US-headquartered gateway—a 6.5× multiplier purely from path selection.

Anchor number: snapshot routing tables within 60 seconds of VPN connect events—transient DHCP renewals can masquerade as VPN drift in ticket forensics.

Decision matrix: four personas and what they should do first

Persona Observable symptom Likely VPN mode interaction First mitigation
Solo developer on guest Wi-Fi SSH OK until VPN auto-connects Full tunnel steals default route Request split inclusion for mini subnet /32
SRE running CI over static IP allowlists Jobs fail IP checks mid-week Egress shifts to VPN pool Align with stable egress article
Designer using VNC for Gatekeeper clicks Screen tearing while SSH feels crisp UDP-like VNC path shaped differently Compare MTU using PMTUD guide
Bridge engineer crossing CN↔US links Policy routing oscillates twice daily Conditional split lists updated silently Automate traceroute diff alerts

macOS route & DNS audit you can run without root

Before opening a severity-1 ticket against HK / JP / KR / SG / US infrastructure, prove the anomaly originates on the client. Run netstat -rn | head -n 25 with VPN disconnected, save output, reconnect, diff. Pair with scutil --dns to catch resolver search-domain stacks that only appear behind VPN. For traceroute discipline, prefer traceroute -P tcp -p 22 hostname on BSD derivatives to mimic SSH’s quadruple—ICMP echoes lie pleasantly. At least three measurable facts should land in the ticket: baseline RTT (52 ms), VPN RTT (287 ms), and third-hop ASN change (AS174 → AS64500 style notation).

If HTTP CONNECT is already mandatory on your network, merge findings with the Host stanza recipes in the ProxyCommand guide—VPN mode may decide whether that stanza even activates.

Why browser “feels fast” while SSH degrades under the same VPN

Browsers reuse HTTP/2 multiplexing and TLS session caches; an interactive SSH session is a single long-lived TCP flow sensitive to bufferbloat on the tunnel. A 150 ms swing on idle shells may balloon to 900 ms when pushing a 650 MB Xcode archive because congestion control probes traverse more hops. That mismatch is normal—it is not proof the mini hardware regressed. Track one-way delay with tcpdump -ttt on an administrative jump host if policy permits; otherwise rely on mtr --tcp -P 22 snapshots referenced in our path diagnostics library.

Seven-step runbook to stabilise SSH after a VPN policy change

  1. Freeze automation: pause GitHub Actions SSH deploys for 30 minutes while humans capture routes—avoid thrashing allowlists.
  2. Label the VPN profile: export XML or screenshot build numbers; attach to the ticket so rollback is traceable.
  3. Compare traceroutes: require at least five probes each state; save JSON if your wrapper supports it.
  4. Test naked TCP: nc -vz mini-hostname 22 over VPN and direct paths.
  5. Validate DNS separately: run dscacheutil -q host -a name mini-hostname to detect stale records.
  6. Negotiate split routes: propose CIDRs covering only ProxyMac published prefixes instead of blanket disable VPN.
  7. Document closure: record final RTT delta (−240 ms improvement target) and close the loop with security.
Myth: “Disabling IPv6 fixes VPN SSH.” Sometimes—but only when Happy Eyeballs races a broken path; verify using our IPv6 guide before toggling system prefs.

FAQ

Can ProxyMac change VPN behaviour on my laptop? No—your tenant controls the mini; corporate VPN remains entirely between you and your IT department.

Does Apple Silicon on the mini side compensate? It accelerates workloads once packets arrive—it cannot shorten physics on the wrong geographic VPN trombone.

Where should escalations attach packet captures? Store encrypted archives per policy; reference hashes in tickets rather than raw PCAP in chat.

Why disciplined routing pairs well with ProxyMac Mac mini rentals

After you restore predictable paths, dedicated Mac mini M4 hosts in HK / JP / KR / SG / US continue to deliver deterministic macOS kernels for Xcode, automation, and observability stacks—without procuring metal. Apple Silicon’s idle power envelope (~6–12 W class under light orchestration load) keeps always-on gateways affordable, while unified memory avoids NUMA surprises when parallel jobs hammer shared caches. Pick the region that minimises legal and latency constraints together via the pricing page, rehearse failover steps with the help centre, and reserve GUI validation time through VNC guidance when Gatekeeper prompts block unattended SSH workflows.

Pick the region—then prove your VPN path

HK · JP · KR · SG · US · Apple Silicon M4