在 AI 辅助研发常态化的今天,许多开发者(如使用 Antigravity IDE、Cursor、Copilot 等工具)需要依赖代理工具的 TUN 模式(虚拟网卡) 来保证 AI 流式传输与 Google / OAuth 账号鉴权顺畅无阻。
然而,当开启 TUN 模式后去连接公司的企业级 VPN(如 Windows 原生 IKEv2/L2TP 等)时,常常会遇到非常让人头疼的“双网冲突”现象:
- VPN 刚点连接显示“已连接”,但几秒钟内就自动断开(连上即秒断);
- 断开问题解决后,连上 VPN 却发现外网和 AI 代理全线瘫痪,只剩公司内网能用;
- 内网 IP(如数据库)能连通,但企业内部域名(如 GitLab
code.huanyu.com、企业门户portal.huanyu.com)却全部打不开。
本文以寰宇公司的企业网络环境为例,深入剖析这三大核心冲突的底层技术机制,并提供经实战验证的完整解决方案及一键配置脚本。
一、双网冲突的三大底层根因剖析
1. 冲突一:IKEv2 UDP 心跳报文被劫持(导致“连上即秒断”)
企业 IKEv2 VPN 依赖 UDP 500(IKE 协商) 与 UDP 4500(NAT-T / ESP) 端口与公网 VPN 服务器保持通信,并且在握手后会周期性发送 DPD(Dead Peer Detection 心跳保活包)。
当 Clash 开启 TUN 模式且未做特殊排除时,Clash 的虚拟网卡(wintun)会抓取系统发出的出站 UDP 流量。发往企业 VPN 服务器的 UDP 500/4500 心跳包被捕获并进行了 NAT 转发篡改,导致企业 VPN 服务器收不到合法的保活心跳,判定对端异常,从而在数秒内主动挂断连接。
2. 冲突二:默认网关被 VPN 霸占(导致“外网与 AI 瞬间断网”)
Windows 自带的 VPN 客户端默认勾选了 “在远程网络上使用默认网关”。 一旦拨通 VPN,Windows 会将系统的全局默认网关(0.0.0.0/0)强制指向 VPN 虚拟网卡,把所有外网流量全部塞给企业内网服务器。由于企业 VPN 无法访问境外网络,导致 Google 认证、AI 助手和常规外网瞬间断网,整台电脑只剩企业内网 IP 能通。
3. 冲突三:内网 DNS 劫持(导致“IP 能通但域名打不开”)
企业内部专属域名(如 code.huanyu.com、portal.huanyu.com)只能由企业 VPN 下发的私有 DNS 服务器(如 10.18.x.x)解析。
而 Clash TUN 模式默认接管了系统的全局 DNS 请求,强制向公共 DNS(如 8.8.8.8、223.5.5.5)去查询这些内部域名。公网 DNS 根本不存在这些记录(返回 Non-existent domain),造成了 “直连 IP 正常,但域名和 Git 提交全线瘫痪”。
二、三步落地完整实操
第一步:Clash Verge 配置 TUN 排除(彻底解决 VPN 秒断)
核心原理:告诉 Clash TUN 驱动,发往企业 VPN 服务器公网 IP 以及内网网段的数据包一律原样放行,严禁拦截。
- 打开 Clash Verge,进入左侧 「设置」。
- 找到 「虚拟网卡模式」,点击文字右侧的 设置齿轮 ⚙️。
- 在弹出的窗口中配置以下关键参数:
- 严格路由 (Strict Route):
开启(防止 Clash 抢占其他物理/虚拟网卡的专用路由) - 自动选择流量出口接口:
开启 - TUN 模式堆栈:推荐选择
System或Mixed - 排除自定义网段 (Bypass):添加企业 VPN 服务器的真实公网 IP(例如
123.60.100.11/32等)及内网网段:text123.60.100.11/32 123.60.100.12/32 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
- 严格路由 (Strict Route):
- 点击右下角 「保存」。
- 在设置页将 「虚拟网卡模式」 开关 先关掉,再重新打开,使排除路由生效。
第二步:启用 VPN 拆分隧道(彻底解决外网与 AI 断网)
核心原理:剥夺企业 VPN 对“全局外网网关”的统治权,仅允许 VPN 接管企业内网私有网段(10.x / 172.x)。
方式 A:一键批处理脚本(推荐)
在桌面新建文件 一键配置VPN拆分隧道.bat,右键以管理员身份运行(或双击运行):
@echo off
chcp 65001 >nul
title 一键配置 VPN 拆分隧道 (解决内外网冲突)
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
)
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
powershell -NoProfile -ExecutionPolicy Bypass -Command ^
"Get-VpnConnection | ForEach-Object {" ^
" Write-Host ('正在配置: ' + $_.Name) -ForegroundColor Cyan;" ^
" Set-VpnConnection -Name $_.Name -SplitTunneling $true;" ^
" Add-VpnConnectionRoute -ConnectionName $_.Name -DestinationPrefix '10.0.0.0/8' -ErrorAction SilentlyContinue;" ^
" Add-VpnConnectionRoute -ConnectionName $_.Name -DestinationPrefix '172.16.0.0/12' -ErrorAction SilentlyContinue;" ^
" Add-VpnConnectionRoute -ConnectionName $_.Name -DestinationPrefix '192.168.0.0/16' -ErrorAction SilentlyContinue;" ^
"};" ^
"Write-Host '[成功] VPN 拆分隧道已配置完成!' -ForegroundColor Green;"
pause方式 B:PowerShell 手动执行
以管理员身份打开 PowerShell 执行:
Get-VpnConnection | ForEach-Object {
Set-VpnConnection -Name $_.Name -SplitTunneling $true
Add-VpnConnectionRoute -ConnectionName $_.Name -DestinationPrefix "10.0.0.0/8" -ErrorAction SilentlyContinue
Add-VpnConnectionRoute -ConnectionName $_.Name -DestinationPrefix "172.16.0.0/12" -ErrorAction SilentlyContinue
}第三步:Clash Verge 配置企业私有 DNS 分流(解决域名打不开)
核心原理:通过 Clash Verge 的全局扩展覆写(Merge),让所有包含企业域名的查询强制交由 系统/VPN 下发的内网 DNS(system) 解析。
- 打开 Clash Verge,点击左侧菜单的 「订阅」。
- 找到 「全局扩展覆写配置」 卡片,鼠标右键 ➔「编辑文件」。
- 清空原有内容,写入以下 YAML 配置:
# 1. 遇到企业内网私有域名,强制使用系统/VPN 下发的内网 DNS 解析
dns:
nameserver-policy:
"*.huanyu.com": "system"
"*.huanyucloud.com": "system"
"code.huanyu.com": "system"
"portal.huanyu.com": "system"
# 2. 将企业域名直连规则置顶,避免走代理节点
prepend-rules:
- DOMAIN-SUFFIX,huanyu.com,DIRECT
- DOMAIN-SUFFIX,huanyucloud.com,DIRECT
- DOMAIN-KEYWORD,huanyu,DIRECT- 点击右下角 「保存」。
- 回到左侧 「设置」 页面,将 「虚拟网卡模式」 开关 先关后开一次 重新加载生效。
三、日常使用习惯与顺序
- 初始化阶段(只需做一次): 按照上述三步配置好 Clash Verge 并运行一次批处理脚本。
- 日常开发阶段(顺序完全随意):
- 开机后 Clash Verge 保持常开(TUN 模式开启),顺畅使用 AI 编码。
- 需要联调测试、查数据库、推代码时,随时点击连接 VPN。
- 联调结束想断开 VPN 就断开,AI 和外网完全不受任何影响,永不掉线。
四、最终效果验证
| 测试项 | 访问目标 | 路由路径 | 实际表现 |
|---|---|---|---|
| AI 编码助力 | Antigravity IDE / Google 认证 | Clash TUN ➔ 海外代理节点 | 实时补全、AI 对话秒响应,登录不掉线 |
| VPN 稳定性 | 企业 IKEv2 DPD 链路 | 物理网卡 Bypass 直连 | VPN 全天稳定连接,永不秒断 |
| 外网连通性 | Google / GitHub / 公网 | Clash TUN ➔ 代理直连分流 | 连上 VPN 后外网依然高速畅通 |
| Git 代码协同 | code.huanyu.com | 内网 DNS ➔ VPN 直连 | git pull / git push 顺畅拉取推送 |
| 内部管理系统 | https://portal.huanyu.com | 内网 DNS ➔ VPN 直连 | 企业门户、OA 网页秒开 |
| 数据库直连 | 10.88.x.x:3306 | VPN 拆分隧道直连 | 本地服务测试、Navicat 秒连 |
五、总结
双网同联的底层逻辑在于 “三大权力明确分治”:
- 防秒断:通过 TUN Bypass 排除企业 VPN 服务器公网 IP,保护 UDP 500/4500 心跳报文;
- 保外网:通过 Split Tunneling(拆分隧道) 剥夺 VPN 的全局默认网关霸权;
- 通域名:通过 Nameserver Policy 将内部域名精准放行给企业专属内网 DNS。
从此告别来回反复开关 VPN 与代理的痛点,打造极致丝滑的现代 AI 研发环境。