惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Security Latest
Security Latest
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
N
Netflix TechBlog - Medium
GbyAI
GbyAI
云风的 BLOG
云风的 BLOG
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
宝玉的分享
宝玉的分享
博客园 - 【当耐特】
C
Cyber Attacks, Cyber Crime and Cyber Security
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Threat Research - Cisco Blogs
NISL@THU
NISL@THU
Spread Privacy
Spread Privacy
P
Proofpoint News Feed
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MyScale Blog
MyScale Blog
T
Tor Project blog
P
Proofpoint News Feed
C
CERT Recently Published Vulnerability Notes
P
Privacy & Cybersecurity Law Blog
MongoDB | Blog
MongoDB | Blog
Simon Willison's Weblog
Simon Willison's Weblog
C
Cybersecurity and Infrastructure Security Agency CISA
L
LINUX DO - 热门话题
小众软件
小众软件
G
GRAHAM CLULEY
P
Privacy International News Feed
AWS News Blog
AWS News Blog
Know Your Adversary
Know Your Adversary
P
Palo Alto Networks Blog
人人都是产品经理
人人都是产品经理
S
Schneier on Security
Scott Helme
Scott Helme
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog RSS Feed
T
The Exploit Database - CXSecurity.com
Recent Announcements
Recent Announcements
E
Exploit-DB.com RSS Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
U
Unit 42
The Register - Security
The Register - Security
S
Securelist
Martin Fowler
Martin Fowler
Project Zero
Project Zero
大猫的无限游戏
大猫的无限游戏
Cisco Talos Blog
Cisco Talos Blog

博客园_首页

SourceGenerator之扑风捉影 NVIDIA H200/H20 DeepSeek-V4-Pro 部署指南、压测性能与稳定性调优建议 当 CGO 遇见 Zig:一种更优雅的折腾方式,对比 GCC 后端 【译】在 Visual Studio 中完全掌控您的悬浮窗口 关于对wso2和keycloak的token交换的调研 内存化系统设计 SonnetDB:.NET 生态下的高性能嵌入式时序数据库 数据仓库笔记 第六篇:PSA 层 SCD2 处理方式 汇川 PLC 跨网段通信,看完就会 - 隐图智能 DBLens for PostgreSQL 正式发布|把 PostgreSQL 开发与管理带进 AI + Agent 时代 - DBLens数据库开发工具 Obsidian CLI 来了 C# .NET 周刊|2026年4月1期 【OpenClaw】通过 Nanobot 源码学习架构---(10)Heartbeat C# 视频录制监控系统 从 AMBA 协议看 Valid-Ready 到 Credit-based 流控机制 计算与判定:P、NP、NP-hard 和 NP-complete 问题 深度学习进阶(十二)可变形池化 deformable RS RoI Pooling 8 年前的老代码 + 20 刀 AI token = 我的第一款独立产品 Redis-Hash型与List型操作命令 - NE_STOP Qwen3.6-27B 等九款本地模型的测试结果 windows装gitlab服务器 有监督 vs 全自主:两种 Agent 范式,你选对了吗? 🔥 在线学习算力平台推荐-Hyper.AI 从 1 到 2:让 OpenClaw Agent 接管 QQ 的硬核指南_发布版 - yangyiBL 广数 CNC 跨平台采集:状态、坐标、刀补、宏变量等读取,支持980tdi、986gs、988ta、980tb3i、980mdi、980tc3、980tdc等等 Spread.NET V19版本正式发布 linux宝塔面板使用API自动部署更新文件 Day 0 部署:昇腾 910B DeepSeek-V4 部署指南与压测表现 上周热点回顾(4.20-4.26) - 博客园团队 FastAPI 文件上传避坑全指南:分块存盘、类型校验与安全兜底 前端视角下的 Java 聊聊Mybatis-Plus中的10个坑! DeepSeek V4模型的Agent能力实测 AI开发-python-LangGraph框架(3-33-LangGraph多分枝实战) 深入 Open Agent SDK(三):MCP 集成实战——让 Agent 连接万物 并发编程系列(二)—— store, load 与 RMW 使用 PHP TrueAsync 改造 Laravel 协程异步化的可行路径 transformer进阶之路:#1 整体概述 一套可落地的 .NET 8 微服务/分布式工程实践 C# 原生编码智能体运行时 SharpClawCode 动动嘴就能建模?Blender全流程部署AI建模插件教程 | 零门槛实现AI驱动3D创作 大模型推理引擎中的 Beam Search:工程挑战、主流实现与 SGLang 深度优化 AI时代的To B PMF,还成立吗? Java string的源码感悟 - 记忆环游记 FastAPI + Pydantic 模型终极实战手册:从能跑就行到固若金汤,这些技巧你一定用得上 OpenClaw vs Hermes Agent DeepSeek V4 vs Claude 编程实战测评(λ 到希尔伯特证明翻译) - 方而静 插头 DP 学习笔记 10、FileInputStream和RandomAccessFile的源码分析和使用方法详细分析(windows操作系统,JDK8) 线上问题定位神器:Arthas,已接入MCP AI+Web3D:我让AI写了一年Three.js,结果它连一个内网白屏都修不了 从 Notion 到 Obsidian 安装nessus(使用Kali Linux) 嵌入式-常见简单通信协议介绍 uniapp中使用uview-plus spring cloud项目中,在bootstrap.yml中指定了active的profile,结果不生效 AI编程实战:Claude Code + IDEA 的沉浸式编程方案 MySQL 性能调优完全指南:从硬件到 SQL,一篇吃透 如何让多个动画“齐步走”? Open Agent SDK (Swift):用原生 Swift 构建 AI Agent 应用 Vue 3 组件通信,别只会用 Props 和 Emits 了,你想知道的都在这里 Claude Code 开始 SharpIDE: 基于 .NET 与 Godot 引擎的跨平台开源 IDE Laravel + Vue 免费可商用 PHP 管理后台 CatchAdmin V5.3.0 发布:支持 AI Agent 开发 “驾驭工程”已过时? JiuwenClaw AgentTeam开启“协同工程”全新范式 AES侧信道攻击 HP LaserJet M14-M17 在Debian下无法打印 - 145a Python 潮流周刊#148:用大模型寻找 Python C 扩展漏洞 LangChain框架-Model Python 获取美股盘前盘后数据:yfinance 的坑与解法 容器化部署Prometheus普罗米修斯 我的VB Coding之路 - AI编码实战演进 SMC(静态分析) CVE-2023-1773 深度复现:从 REIM 回调未授权到信呼 OA 配置文件代码注入 syslog日志查看器GUI图形界面,支持Windows/Linux/Macos开箱即用 Processing 的 sketch.properties 机制以及主程序与文件夹解耦的具体细节 复杂度的均摊分析法 P1469 找筷子 题解 再次感谢梁文锋和DeepSeekV4,历史性的一天! 邪修卡常:动态bitset 【后端开发】(含图解与实例)乐观锁、悲观锁和分布式锁,做项目时到底该怎么选? SharpDbg 与 netcoredbg 深度对比分析 卡帕西的LLM Wiki跑不通真实知识库! iNeuOS工业互联网操作系统无缝集成视觉分析(iNeuOS_Vision_Detect) Maui Blazor 在 macOS 上 video 元素无法全屏的修复方法 做了个Claude Code CLI 电子宠物:程序员的实体监工代码搭子 26-4-24日志 - Ghost-Face 一款Python语言Django框架DDD脚手架,助你快速搭建项目 《Vibe Coding自救指南:从AI乱写代码到规范施工的完整路线图》 【OpenClaw】通过 Nanobot 源码学习架构---(9)周期性执行 FastAPI + SQLAlchemy 2.0 通用CRUD操作手册 —— 从同步到异步,一次讲透 牛鞭效应webApp实验室:从动态仿真到供应链波动机制的认知 纪念使用了3年的Deepin系统 Codex 接入 DeepSeek API 完整配置文档 主定理的进阶:Akra–Bazzi 定理 - Ofnoname AI Agent 与普通 AI 助手的区别是什么? 深度学习进阶(十一)Position-Sensitive RoI Pooling 太魔幻了!SpaceX官宣600 亿美元收购Agent编程的鼻祖Cursor Redis--简介及配置文件详解 Git WorkTree 是什么?凭什么能让 AI 编程效率翻倍?
开了 TUN 模式还是直连?90% 的人都踩过这个坑
freephp · 2026-04-12 · via 博客园_首页

网络问题是做技术绕不开的三座大山之一,而且往往排第一。所以遇到tun模式失效,我们该怎么火速解决呢?


先说结论

根本原因只有一个:代理客户端没有系统级权限,TUN 虚拟网卡压根没创建成功。

解决方法也只有一个:安装服务模式(Service Mode)

设置 → 服务模式 → 安装 → 重启客户端 → 重新开启 TUN

就这一步。下面的内容是帮你搞清楚为什么,以及怎么确认问题真的修好了。


你以为开了 TUN,其实没有

很多人的状态是这样的:

  • 全局模式 ✅ 打开了
  • TUN 模式 ✅ 打开了
  • 终端跑一下 curl ipinfo.io,IP 还是国内的

直觉反应是配置有问题,或者客户端 bug。

其实不是。UI 上的开关只是个开关,背后的 TUN 网卡根本没建起来。


怎么确认 TUN 没生效

第一招:看路由表

netstat -rn | grep default

有问题的输出长这样:

default   192.168.3.1   UGScg   en0
default   fe80::%utun0  UGcIg   utun0
default   fe80::%utun1  UGcIg   utun1

看到没有——IPv4 的 default 路由指向的是 en0,也就是你的物理网卡。utun 接口全部是 fe80:: 开头的 IPv6 地址,跟代理一点关系没有。

正常接管后应该是这样:

default   198.18.0.1   UGScg   utunX   ← IPv4 走 TUN 虚拟网卡
default   192.168.3.1  UGScg   en0

第二招:看有没有 198.18 地址

ifconfig | grep -B1 "198.18"

没有任何输出 = TUN 网卡不存在。

代理客户端正常创建 TUN 网卡后,会有一个 utun 接口持有 198.18.0.1 这个地址。如果找不到,说明客户端根本没有成功创建这张虚拟网卡。

那些 utun0utun1utun2……全是 macOS 系统自己的,跟你的代理客户端无关。


为什么会这样

macOS 管得很严。

向系统路由表写条目、创建虚拟网卡,都需要管理员级别的系统权限。

普通应用进程没有这个权限。客户端 UI 可以显示"TUN 已开启",但实际的系统操作全部失败了——静默失败,没有任何报错提示。


解决方法:装服务模式

服务模式会把客户端的核心组件注册为系统服务,以足够高的权限运行,才能真正操作路由表和网卡。

步骤:

  1. 打开 *** Verge
  2. 进「设置」
  3. 找「服务模式(Service Mode)」,点安装
  4. 系统会弹出授权窗口,输入管理员密码
  5. 安装完成后,完全退出客户端(Cmd+Q,不是关窗口)
  6. 重新启动,开启 TUN

装完之后验证一下:

# 看 TUN 网卡有没有建起来
ifconfig | grep -B1 "198.18"

# 看 IPv4 默认路由是不是走 utun 了
netstat -rn | grep "^default.*utun"

# 最终验证
curl ipinfo.io

如果 ifconfig 里出现了 inet 198.18.0.1 的 utun 接口,路由表里 IPv4 default 指向 utun,就说明完全修好了。


还有几个附带问题

TUN 配置不对

服务模式装好了,也别忘了检查 TUN 的配置文件,有两个字段最容易漏:

tun:
  enable: true
  stack: system
  auto-route: true              # 漏了这个,路由表不会写入
  auto-detect-interface: true   # 漏了这个,网卡出口识别不了
  inet4-address: 198.18.0.1/16
  dns-hijack:
    - any:53

auto-route: true 是最常见的漏填项。没有它,即使 TUN 网卡创建成功,IPv4 流量也不会走进去。

DNS 泄漏

流量走了 TUN,但 DNS 查询没被接管,一样会暴露真实位置:

scutil --dns | grep nameserver

正常情况下应该能看到 198.18.0.2(*** 的虚拟 DNS 地址),如果还是运营商的 DNS 就说明 DNS 没被劫持,需要检查 dns-hijack 配置。

终端环境变量干扰

有时候终端里设了代理相关的环境变量,会干扰测试结果:

env | grep -i proxy

如果有输出,先清掉再测:

unset ALL_PROXY HTTP_PROXY HTTPS_PROXY
curl ipinfo.io

一句话总结

TUN 模式不生效,99% 是没装服务模式。装好、重启、重开 TUN,三步搞定。配置文件记得加 auto-route: true