最近在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洩露。