抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

最近在Arch Linux上使用V2rayA访问ChatGPT,老是出现”{“error”:{“code”:”unsupported_country_region_territory”,”message”:”Country, region, or territory not supported”,”param”:null,”type”:”request_forbidden”}}”代码,不能正常登录,后来换节点、换VPN厂商、打开V2rayA全局也不能正常登录,Windows客户端可以正常登录ChatGPT。后来通过排查发现即使使用全局VPN,DNS解析服务显示也是国内IP,因此是V2rayA可能是本身的设置引起了DNS发生了泄露(可以通过WebRTC、或者AstrillVPN泄露检测检查)。

所以无法访问的原因,简单来说就是ChatGPT通过检测请求端DNS,当发现DNS属于禁止国家时,ChatGPT的访问就会被禁止,解决方法是换一个DNS,国内似乎不能直接访问Google DNS,因此这里我使用自己搭建的DNS,可以查看上一篇文章

配置v2rayA设置

这里我主要展示一下如何配置v2rayA,避免DNS泄露。

进入v2rayA设置,需要把”透明代理”修改为”system tun”,
图片加载失败
图片加载失败
重点是”防止DNS污染”,需要修改为自定义配置,配置如下:

1
2
3
# 这里的IP地址是DNS服务器的IP地址,必须可以直连
172.207.214.35->direct
172.207.214.35->proxy

另外需要注意,配置完这个设置,需要关闭网络的ipv6,否则还是有可能导致DNS泄露。

替代方案

另外一种修改DNS的方法就是直接在系统中修改DNS,Windows可以在控制面版中修改DNS,Linux可以通过修改/etc/resolv.conf文件,修改为如下内容:

1
nameserver 172.207.214.35

这种方法适用于任何系统可能的DNS泄露。缺点是这里配置的DNS的地址是国外IP,不开代理的情况下网页解析会变慢。

总结

不论哪种方法,这里的原理都是通过连接国外服务器,国外服务器帮助连接Google DNS,然后把解析到的网页IP地址返回到本地。

评论



Powered by Hexo | Theme keep Volantis

本站总访问量 总访客数 🌎