logo NodeSeekbeta

一次由思源笔记引发的代理断网排查记录

最近在公司遇到一个非常糟心的事,电脑开着代理一段时间之后会没网,最开始一直不知道原因, 连网线和WiFi都一样, 开始连接没什么问题, 过一段时间之后就开始连不上代理, 浏览器搜索就报错:

你尚未连接
代理服务器可能有问题,或地址不正确。
ERR_PROXY_CONNECTION_FAILED

奇怪的是,

  • 我在家里面就不存在这个问题
  • 在公司不开代理, 网络基本正常
  • 在公司开代理, 过一会就断了,报上面的错,codex啥的经常断连
  • 每次断了, 我切换到公司另一个WiFi, 又能好一段时间
  • 过一会又坏了, 我就又得切WiFi

我要气死了, 一直以为是公司网的问题, 真的怒了, 困扰了我两周了这个问题, 尝试了各种办法都解决不了, 甚至试过连手机热点, 也无济于事

后来经过不断排查找日志以及让codex帮忙, 最终发现 真正的罪魁祸首是 思源笔记的后台进程 SiYuan-Kernel.exe​ 大量占用 TCP 连接,导致 Windows 短端口耗尽,最终让浏览器连本机代理失败

现象

浏览器报错是:

ERR_PROXY_CONNECTION_FAILED

最开始,确认是不是公司WiFi断网

测试公司WiFi网关和公网 IP:

Pinging 192.168.2.1 with 32 bytes of data:
Packets: Sent = 20, Received = 20, Lost = 0 (0% loss)
Minimum = 1ms, Maximum = 3ms, Average = 1ms

公网 DNS 测试也正常:

Pinging 223.5.5.5 with 32 bytes of data:
Packets: Sent = 20, Received = 20, Lost = 0 (0% loss)
Minimum = 21ms, Maximum = 37ms, Average = 23ms

这说明公司WiFi本身并不是完全断网

但代理偶发失败:

proxy 6: 000/0.006336/Failed to connect to www.baidu.com port 443 via 127.0.0.1 after 6 ms: Could not connect to server

失败的不是远程代理服务器,而是本机代理链路

之后叫codex帮我看一下日志(我不知道在哪看)

关键的日志来自 Windows Tcpip 事件

系统日志里出现多次 TCP/IP 端口耗尽警告:

2026/7/6 8:49:28  Tcpip  4231
有关从全局 TCP 端口空间分配一个短端口号的请求失败,因为所有此类端口都在使用中

还有:

2026/7/6 9:03:32  Tcpip  4227
TCP/IP 无法建立传出连接,因为选定的本地终结点最近用于连接到相同的远程终结点
当以高速率打开和关闭传出连接时,会导致所有可用的本地端口被使用

以及 UDP 端口耗尽:

2026/7/6 14:31:42  Tcpip  4266
有关从全局 UDP 端口空间分配一个短端口号的请求失败,因为所有此类端口都在使用中

这基本解释了为什么 Chrome 会连不上 127.0.0.1:7890

因为连接本机代理也需要分配本地临时端口
如果 Windows 临时端口池被耗尽,即使目标是 127.0.0.1,也可能失败

然后查看一下端口动态范围

执行:

netsh int ipv4 show dynamicport tcp
netsh int ipv4 show dynamicport udp

结果:

Protocol tcp Dynamic Port Range
---------------------------------
Start Port      : 1024
Number of Ports : 13977

Protocol udp Dynamic Port Range
---------------------------------
Start Port      : 49152
Number of Ports : 16384

TCP 动态端口范围是:

1024 - 15000

总共只有 13977 个端口

正常 Windows 默认 TCP 动态端口范围通常是从 49152 开始,数量 16384
我这台机器的 TCP 动态端口范围明显被改过,端口池偏小

为啥被改了我也不知道, 我对这东西没有啥研究

找到占用连接最多的进程

到这一步差不多知道是什么原因了, 其实也不太知道, 但是codex分析着就是因为被占用了, 于是乎找他要了个命令, 查看占用端口最多的进程

统计 TCP 连接数:

$rows = netstat -ano -p tcp | Select-String '^\s*TCP' | ForEach-Object {
  $parts = ($_ -split '\s+') | Where-Object { $_ }
  if ($parts.Count -ge 5) {
    [pscustomobject]@{
      Local  = $parts[1]
      Remote = $parts[2]
      State  = $parts[3]
      PID    = $parts[-1]
    }
  }
}

$rows |
  Group-Object PID |
  Sort-Object Count -Descending |
  Select-Object -First 20

结果非常夸张:

PID    Count  Process
-----  -----  ----------------
21320  13874  SiYuan-Kernel

也就是说,SiYuan-Kernel.exe 一度占用了 13874 条 TCP 连接

而当前 TCP 动态端口池总共才 13977
这几乎就是把端口池吃满了

节选:

192.168.2.181:4176  101.132.62.140:443  ESTABLISHED  21320
192.168.2.181:4177  101.132.62.140:443  ESTABLISHED  21320
192.168.2.181:4178  101.132.62.140:443  ESTABLISHED  21320
192.168.2.181:4179  101.132.62.140:443  ESTABLISHED  21320
192.168.2.181:4180  101.132.62.140:443  ESTABLISHED  21320
...
192.168.2.181:10991 101.132.62.140:443  ESTABLISHED  21320
192.168.2.181:10992 101.132.62.140:443  ESTABLISHED  21320
192.168.2.181:10993 101.132.62.140:443  ESTABLISHED  21320

后面发现原因, 101.132.62.140这个东西指向的好像是硅基流动的ip, 思源笔记新上一个功能我配置了个嵌入模型, 结果地址写错了导致的应该是

为什么切WiFi会临时恢复?

问codex, 他给的解释是这样的

image

为什么家里没事?

想了一下确实有迹可循, 给我自己都气笑了, 因为想让自己养成勤看笔记勤记笔记的习惯, 思源笔记设置成了开机自启动, 但是在家里的时候,因为要打游戏, 所以会把没用的后台清掉, 所以一会家就会把思源笔记关掉 😅

这次由思源笔记引发的血案就结束了, 刚刚给思源笔记更新之后也没遇到过这个问题了 , 困扰了我两周的问题就至此结束了

12
  • 话说站里可以AICG吗?

  • 我想快点升二级啊啊啊啊啊

  • 我也在用siyuan,为什么siyuan会有这么多tcp连接

  • 这种问题,曾经在好多个软件上看到过

  • @自动驾驶的龙珠 #3
    我现在的怀疑这样的,
    他的新版本有一个功能,可以添加嵌入模型进行索引, 我添加的时候没注意路径把硅基流动嵌入模型的完整路径写上去了, 导致他一直失败,

    目前怀疑是这个原因导致的, 昨天更新了一下, 然后把路径重新写了一下 就没这个问题了

  • @EthanArcher #4
    第一次踩这个坑, 困扰了我两周, 怀疑过公司的网 怀疑过自己的电脑 就是没怀疑过思源笔记

  • 原来我回复自己也是有鸡腿的吗
    这样会不会挨举报啊 违规吗

  • 竟然还有这样的坑,属实有点意想不到了……现在感觉很多软件都不是很稳定,可能因为都在 Vibe Coding,哈哈,当然以前就算不是 AI 写也是有这么多 bug

  • 感谢分享,以后遇到同样的症状我就有方向去排查了

  • 这个算bug吗,报告一下作者呢

12

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有63469位seeker

🎉欢迎新用户🎉