-
Notifications
You must be signed in to change notification settings - Fork 31
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
同样配置,返回了无法访问的ipv6地址 #272
Comments
223.6.6.6返回的IP地址是正常的,164.124.101.2返回的两个地址都ping不通,但是smartdns-rs直接返回了这两个无法ping的地址 bind 127.0.0.1:53
server 164.124.101.2
server 223.6.6.6
server 223.6.6.6 -bootstrap-dns
server 119.29.29.29 -bootstrap-dns
cache-persist yes
cache-file C:/ProgramData/smartdns/cache.smartdns
speed-check-mode tcp:443,ping
response-mode fastest-ip
|
这个比较难复现,不同地区返回的不一样。你能分别查查询的这几个上游各返回了什么吗?目前多个上游记录并没有进行合并或者过滤处理。要看看各个上游结果有什么特征,该怎么进行过滤处理。 |
总共两个上游配置bind 127.0.0.1:53
server 164.124.101.2
server 223.6.6.6
server 223.6.6.6 -bootstrap-dns
server 119.29.29.29 -bootstrap-dns
cache-persist yes
cache-file C:/ProgramData/smartdns/cache.smartdns
speed-check-mode tcp:443,ping
response-mode fastest-ip 164.124.101.2返回的两个地址都是无法ping通的 nslookup redirector.gvt1.com 164.124.101.2
Server: ns.lgdacom.net
Address: 164.124.101.2
Non-authoritative answer:
Name: redirector.gvt1.com
Addresses: 2404:6800:4005:81a::200e
142.250.204.110 223.6.6.6返回的IP可ping通 nslookup redirector.gvt1.com 223.6.6.6
Server: public2.alidns.com
Address: 223.6.6.6
Non-authoritative answer:
Name: redirector.gvt1.com
Address: 114.250.70.33 smartdns-rs直接返回的第一个上游的地址 nslookup redirector.gvt1.com 127.0.0.1
Server: jason
Address: 127.0.0.1
Non-authoritative answer:
Non-authoritative answer:
Name: redirector.gvt1.com
Addresses: 2404:6800:4005:808::200e
172.217.24.78 也就是说测速没起作用,响应了两个完全无法使用的IP |
有些服务器ping是关掉的。tcp 测得是能否创建连接,可能是代理服务器。是网站,可以试试改成 http 或者 https |
这个域名是Android Studio的下载地址 还有,我用vps测试了,IP地址是可以ping的 root@tz:~# ping 142.250.204.110
PING 142.250.204.110 (142.250.204.110) 56(84) bytes of data.
64 bytes from 142.250.204.110: icmp_seq=1 ttl=108 time=166 ms
64 bytes from 142.250.204.110: icmp_seq=2 ttl=108 time=166 ms
64 bytes from 142.250.204.110: icmp_seq=3 ttl=108 time=166 ms
64 bytes from 142.250.204.110: icmp_seq=4 ttl=108 time=166 ms
64 bytes from 142.250.204.110: icmp_seq=5 ttl=108 time=166 ms
^C
--- 142.250.204.110 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 165.553/165.620/165.766/0.076 ms root@debian:~
# ping 2404:6800:4005:81a::200e
PING 2404:6800:4005:81a::200e(2404:6800:4005:81a::200e) 56 data bytes
64 bytes from 2404:6800:4005:81a::200e: icmp_seq=1 ttl=115 time=264 ms
64 bytes from 2404:6800:4005:81a::200e: icmp_seq=2 ttl=115 time=264 ms
64 bytes from 2404:6800:4005:81a::200e: icmp_seq=3 ttl=115 time=264 ms
64 bytes from 2404:6800:4005:81a::200e: icmp_seq=4 ttl=115 time=264 ms
64 bytes from 2404:6800:4005:81a::200e: icmp_seq=5 ttl=115 time=264 ms
64 bytes from 2404:6800:4005:81a::200e: icmp_seq=6 ttl=115 time=264 ms
64 bytes from 2404:6800:4005:81a::200e: icmp_seq=7 ttl=115 time=264 ms
^C
--- 2404:6800:4005:81a::200e ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 6008ms
rtt min/avg/max/mdev = 263.588/263.767/263.946/0.110 ms
|
两个上游响应的ip,一个能ping一个不能ping,按理不应该是选择能ping的作为最优选择么 |
@pymumu 大佬你这里的逻辑是怎样的?查询 IPv6 ping 不成功,但是对应后台查的 IPv4 ping 可以,直接给 IPv6 的查询返回 SOA? |
默认是先ping,200ms后会用tcping:80,在200ms后tcping:443,都ping不通,就会优选一个IP地址。这个优选的策略是,命中次数最多的IP。 |
好的,谢谢。@pymumu 这样200ms不导致响应慢吗? 另外,命中次数是指多个上游返回的ip重叠数最高的那个? |
ping不通的情况下,响应会变长。这里一个优化点是,如果所有查询结果只有一个IP地址的情况下,是不进行测速的。 |
|
@dream10201 你下载这个版本试试,https://github.com/mokeyish/smartdns-rs/actions/runs/9240086699 双栈优选和测速部分都重写了。 @pymumu 我再确认下。双栈优选
|
默认情况只要上游返回ipV4,也一定返回ipv4给客户端 那个开关开启后,v6速度比v4快时,v4会返回SOA |
@mokeyish 用测试版没再复现到当前问题。 |
那就是解决了? @dream10201 |
是的 @mokeyish |
这个IPV6的地址是无法ping通的,然后导致android studio无法正常更新。
相同的配置,原版smartdns在linux上返回正常能访问的ip地址
The text was updated successfully, but these errors were encountered: