-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关于谷歌等不能正常访问的ip双栈选择策略? #360
Comments
路由器上运行mtr -4 -T google.com,延迟1ms,看起来mtr的tcp流量走的是shadowsocks。但是测速选择tcp 80后,依然同时返回v4 和 v6地址,不知道是不是smartdns的tcp走的直连。。。 |
bind已支持禁用IPV6解析。 |
@pymumu bind 一刀切感觉太暴力了 某些场景下 ipv6 还是 快于 ipv4 的 不如在新功能 domain-rules 上加 force-AAAA-SOA 吧 |
已经加上了啊,如果是lean版本,自行修改luci,或者关闭第二dns 然后好像很诡异的失效了,昨天我测试的时候还好好的,只返回 V4 地址,ipv6 测试 也会显示无法解析,玩了一天不知道啥原因居然无效了 |
@pymumu 我觉得 domain-rules 的功能已经和 address、nameserver 重合了,可以考虑整合一下。否者用户心智上可能比较麻烦 保留 bind、server、domain、[ip/set]-list 四个概念足以
可以考虑实现服务内的限量、限时列表,减少对外部 ipset 模块的依赖,并实现添加指令
另外 有没有发现多条 server 指令会产生一些二义性,会导致程序需要做一些合并功能的操作,如果再抽一层出来,将功能加载在服务器组上 那就没这些麻烦了
以上,会不会更清晰、更好玩一些:) |
address, nameserver, ipset, server等都是继承自dnsmasq的,这个大家都比较熟悉了,容易理解,并且在配置转换上也比较容易。 至于domain-rules部分功能和上述重复,这个就是设计成这样的,因为如果一个域名,如果要配置多个参数,那么就用domain-rules,一条记录,否则就用address,nameserver等,这样方便管理。 所以,配置格式不会有大的变化,也不会再搞一套配置。 至于host,host其实是很难维护管理的,因为host并不包含子域名,这些都会导致host体积过大,且处理上不高效。host都是早期的IP、主机维护方法。 grep -v '^\s*$\|^\s*\#' hosts | awk '{if ($1 ~/0.0.0.0/){printf "address /%s/#\n", $2}else if( $1 ~/:/){printf "address /%s/[%s]\n", $2, $1} else {printf "address /%s/%s\n", $2, $1}}' 所以,host不会支持。 |
domain-rules /google.com/ -address #6 -nameserver foreign |
问题现象
启用双栈优选,访问谷歌等V4 V6等均不能ping通的网址,同时返回V4 V6地址
运行环境
padavan路由器,路由器运行shadowsocks,开启路由自身代理
中国移动
重现步骤
smartdns做dnsmasq的上游
google.com
信息收集
[2020-02-15 13:07:46,929][ INFO][ dns_client.c:2571] send request google.com, qtype 1, id 720
[2020-02-15 13:07:46,939][ INFO][ dns_server.c:676 ] result: google.com, rcode: 0, 59.24.3.174
[2020-02-15 13:07:46,944][ INFO][ dns_server.c:2266] query server google.com from 127.0.0.1, qtype = 28
[2020-02-15 13:07:46,945][ INFO][ dns_client.c:2571] send request google.com, qtype 1, id 721
[2020-02-15 13:07:46,946][ INFO][ dns_client.c:2571] send request google.com, qtype 28, id 722
[2020-02-15 13:07:47,814][ INFO][ dns_server.c:712 ] result: google.com, rcode: 0, 2607:f8b0:4007:0804:0000:0000:0000:200e
客户端同时返回v4 v6 ip,但路由器的shadowsocks透明代理不支持v6,会导致访问异常。因此可否考虑启用双栈优选时,如果v4 v6均不通,只返回v4而不是同时返回?
The text was updated successfully, but these errors were encountered: