记录一次网络排查

起因是用 UniVPN 访问公司内网,同时开着 Clash 的 TUN 模式,Clash 的却没有捕捉到 Chrome 的连接,而只能看到 UniVPN 发起的连接。于是想查查原因。

路由表

1
netstat -rn

会看到以下输出:

解释一下

  • Destination 都是网段,1/7 表示 1.0.0.0/7
  • Gateway 是下一跳网关
  • Flags 代表状态
  • Netif 代表网卡,en0 是默认网卡,utunxxx 是用户态虚拟网卡
  • Expire 标注网关是否过期(?)

untun1024 是 Clash 创建的虚拟网卡,utun7 是 UniVPN 创建的虚拟网卡。

整个流程如下:

  1. Chrome 访问公司内网,DNS 解析后得到 10.10.xxx 的 ip 地址(我在 Clash 中配置了公司域名跳过 fake-ip 解析),匹配上图走 utun7 的规则,于是 Chrome 把数据明文发给 utun7 由它发出。DNS解析这一步是不是也被 UniVPN 接管?不是发到公网去解析吧
  2. UniVPN 把数据包加密,与公司服务器建立连接,目标 ip 为 114.xxx,这个流量又被 Clash 接管

所以 Clash 才看不到 Chrome 发起的连接。

网络知识++ ^_^

Clash 的 TUN 模式

上图的走 utun1024 的流量下一跳的网关都换成了 198.18.0.1,讲讲这个。

因为 Clash 的 fake-ip 模式,Clash 会开启一个本地的 DNS 服务,这个 DNS 就被绑定到 198.18.0.1(看来 DNS 解析是路由表建立之前的事情)。


记录一次网络排查
https://wtx17.github.io/2026/09/17/记录一次网络排查/
作者
wtx
发布于
2026年9月17日
更新于
2026年11月6日
许可协议