最近在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 | # 这里的IP地址是DNS服务器的IP地址,必须可以直连 |
另外需要注意,配置完这个设置,需要关闭网络的ipv6,否则还是有可能导致DNS泄露。