Skip to content

fix: Zscaler and Cloudflare WARP not detected in CGNAT IP range#8

Merged
GeiserX merged 1 commit intomainfrom
fix/zscaler-cgnat-detection
Feb 24, 2026
Merged

fix: Zscaler and Cloudflare WARP not detected in CGNAT IP range#8
GeiserX merged 1 commit intomainfrom
fix/zscaler-cgnat-detection

Conversation

@GeiserX
Copy link
Owner

@GeiserX GeiserX commented Feb 24, 2026

Summary

Zscaler uses 100.64.x.x IPs (CGNAT range), same as Tailscale. The IP validation treated the entire 100.64.0.0/10 range as Tailscale-only, calling isTailscaleExitNodeActive() which returned false -- rejecting the Zscaler interface as valid=false.

The Cloudflare WARP fallback check (100.96-111) was also dead code since it's a subset of the CGNAT range that already returned before reaching it.

Fix: Pass the process-detection hint into isCorporateVPNIP(). When a known non-Tailscale VPN process is running (Zscaler, WARP, Check Point, etc.), trust it for CGNAT IPs. Only fall back to Tailscale exit-node check when no specific VPN process was detected.

Closes #7

Test plan

  • Zscaler with 100.64.x.x IP is now detected (valid=true)
  • Cloudflare WARP with 100.96.x.x IP is detected
  • Tailscale mesh (no exit node) still correctly ignored
  • Tailscale with exit node still detected
  • Standard corporate VPN IPs (10.x, 172.16-31.x) unaffected

Zscaler uses 100.64.x.x which falls in the CGNAT range (100.64.0.0/10).
This range was treated as Tailscale-only, so isCorporateVPNIP() called
isTailscaleExitNodeActive() which returned false, rejecting the interface.

The Cloudflare WARP check (100.96-111) was also dead code since it's a
subset of the CGNAT range that returned before reaching it.

Fix: pass the process-detection hint into isCorporateVPNIP. When a known
non-Tailscale VPN is running, trust it for CGNAT IPs. Only fall back to
Tailscale exit-node check when no other VPN process is detected.

Closes #7
@GeiserX GeiserX merged commit 1d73f49 into main Feb 24, 2026
2 checks passed
@GeiserX GeiserX mentioned this pull request Feb 24, 2026
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: zScaler is not detected

1 participant