软件是 clash-verge(clash for win 也试过,问题同样),访问某个国内域名时:
curl -v https://chatgpt.chenm.xyz
* Uses proxy env variable no_proxy == 'localhost,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16'
* Uses proxy env variable https_proxy == 'http://172.26.0.1:7890'
* Trying 172.26.0.1:7890...
* Connected to 172.26.0.1 (172.26.0.1) port 7890
* CONNECT tunnel: HTTP/1.1 negotiated
* allocate connect buffer
* Establish HTTP proxy tunnel to chatgpt.chenm.xyz:443
> CONNECT chatgpt.chenm.xyz:443 HTTP/1.1
> Host: chatgpt.chenm.xyz:443
> User-Agent: curl/8.9.0
> Proxy-Connection: Keep-Alive
* Recv failure: Connection reset by peer
* closing connection #0
clash 对应这个网卡的请求没有任何日志,反而有一个本地(127.0.0.1)日志跟随出现
[TCP] connected lAddr=127.0.0.1:55258 rAddr=stnd-avpg.crsi.symantec.com:443 mode=rule rule=Match() proxy=xxxxxx
改成 global ,direct 的情况下,也是对应这个网卡没有任何请求日志,确有个本地日志跟随
[TCP] connected lAddr=127.0.0.1:55102 rAddr=stnd-avpg.crsi.symantec.com:443 mode=global
如果请求次数多了,偶尔会有个不一样的报错
curl -v https://chatgpt.chenm.xyz
* Uses proxy env variable no_proxy == 'localhost,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16'
* Uses proxy env variable https_proxy == 'http://172.26.0.1:7890'
* Trying 172.26.0.1:7890...
* Connected to 172.26.0.1 (172.26.0.1) port 7890
* CONNECT tunnel: HTTP/1.1 negotiated
* allocate connect buffer
* Establish HTTP proxy tunnel to chatgpt.chenm.xyz:443
> CONNECT chatgpt.chenm.xyz:443 HTTP/1.1
> Host: chatgpt.chenm.xyz:443
> User-Agent: curl/8.9.0
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 200 Connection established
<
* CONNECT phase completed
* CONNECT tunnel established, response 200
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: none
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to chatgpt.chenm.xyz:443
* closing connection #0
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to chatgpt.chenm.xyz:443
此时 clah 日志打印正常
[TCP] connected lAddr=172.26.9.33:51702 rAddr=chatgpt.chenm.xyz:443 mode=rule rule=Domain(chatgpt.chenm.xyz) proxy=DIRECT
只是这台电脑特有的问题,非常之困惑,如何解决呢?
1
defaw 103 天前
出现这种情况的时候走 http 代理了没有,没走就是 dns 污染。
不走 http 代理,走了 tun 且没开 sni 识别的情况下,clash 会查不到你连接的 ip(也就是 dns 污染返回的错误 ip)对应的域名,因为你的 dns 请求没有经过 clash 。 至于为什么 dns 没有经过 clash ,一种可能的原因: 部分路由器的 ipv6 的 dns 下发策略有问题,就算你在 win11 上给 ipv6 设置静态地址,你还是会收到路由器下发的 dns 地址,同时 win 的 dns 优先走 ipv6 ,导致 windows 一直在用路由器下发的 dns 服务器,路由器下发的 dns 实际上就是家宽 isp 下发的,基本都有污染。要验证这种情况,打开终端执行下 nslookup google.com ,会显示你用了哪个 dns 服务器。 |
2
chen0520 OP @defaw
``` ;; Got recursion not available from 172.26.0.1 Server: 172.26.0.1 Address: 172.26.0.1#53 Non-authoritative answer: Name: google.com Address: 142.251.43.14 ``` 为啥只有这一台机器,而且只这个域名有问题呢? |
3
defaw 103 天前
你在用旁路由吗,meta 核心作旁路由的话,拦截不到 ipv6 的 dns 查询
|
4
om2mo 103 天前
你装了赛门铁克防火墙
|