fw876 / helloworld

GNU General Public License v3.0
3.52k stars 2.62k forks source link

ssr-plus禁用国内网站的ipv6解析,但没有禁用海外网站的ipv6解析,这算bug吗? #1470

Open Jinnrry opened 1 month ago

Jinnrry commented 1 month ago

背景:我梯子服务器没有ipv6,我使用docker pull拉镜像的时候发现下载没有走代理。进一步排查后是因为docker.io域名解析结果有ipv6,下载的时候优先使用ipv6,从而导致没有走代理。

问题分析:

目前helloworld项目已经引入了chinadns-ng作为dns服务器,我看chinadns-ng的启动命令为

/var/etc/ssrplus/bin/chinadns-ng -l 5333 -4 china -p 3 -c 114.114.114.114 -t 127.0.0.1#5335 -N -f

其中-N表示禁用ipv6,于是我使用 nslookup docker.io 127.0.0.1:5333 测试,返回结果中没有ipv6解析结果。

但是openwrt使用dnsmasq管理53端口,而dnsmasq配置为GFW域名通过dns2tcp去查询海外dns,非GFW域名使用chinadns-ng查询。dns2tcp的查询结果是没有禁用ipv6的,chinadns是禁用ipv6的,这样最终就导致国内域名没有ipv6,反而海外域名有ipv6。