Open maojianyou opened 8 months ago
一个域名的多个配置应使用 domain-rules。可以试试 domain-rules -a 1.1.1.1,2.2.2.2 -c ping 之类的
如果能确保两个地址至少有一个生效,将其同时提供给客户端即可,第一个不通时客户端会自己去连第二个的
一个域名的多个配置应使用 domain-rules。可以试试 domain-rules -a 1.1.1.1,2.2.2.2 -c ping 之类的
注释#address /www.xiaohongshu.com/212.64.115.101,1.1.1.1 speed-check-mode ping,tcp:80,tcp:443 后
然后添加domain-rules /www.xiaohongshu.com/ -a 212.64.115.101,1.1.1.1 -c speed-check-mode ping,tcp:80,tcp:443
解析地址还是这2个,但还是没有进行这2个地址探测,那是不是说明这个-c speed-check-mode ping,tcp:80,tcp:443 是不生效的
不会去探测源站是不是网络正常
如果能确保两个地址至少有一个生效,将其同时提供给客户端即可,第一个不通时客户端会自己去连第二个的
这种也存在单点故障,比如解析第一个地址能通,解析第二个地址不能通,客户端没这么智能的,因为他们不会判断解析出来的地址是不是通,不通直接故障了
然后添加domain-rules /www.xiaohongshu.com/ -a 212.64.115.101,1.1.1.1 -c speed-check-mode ping,tcp:80,tcp:443 解析地址还是这2个,但还是没有进行这2个地址探测,那是不是说明这个-c speed-check-mode ping,tcp:80,tcp:443 是不生效的 不会去探测源站是不是网络正常
证实。address指定的ip是不测速的。 address多个ip测速排序问题可以考虑采用第二服务器多做一次查询
然后添加domain-rules /www.xiaohongshu.com/ -a 212.64.115.101,1.1.1.1 -c speed-check-mode ping,tcp:80,tcp:443 解析地址还是这2个,但还是没有进行这2个地址探测,那是不是说明这个-c speed-check-mode ping,tcp:80,tcp:443 是不生效的 不会去探测源站是不是网络正常
证实。address指定的ip是不测速的。 address多个ip测速排序问题可以考虑采用第二服务器多做一次查询
其实我想的是,如果我强制解析比如1.1.1.1,1.1.1.2,1.1.1.3 这3个地址轮询没有问题,就是假如某一天其中1.1.1.3地址不通了,但还是会正常轮询给客户端,客户端没有识别解析出来的1.1.1.3是否正常,照样会解析到1.1.1.3,从而访问会导致故障,如果可以新增探测,后续解析3个地址1.1.1.3会排序到最后,等于不通的地址不会优先直接给客户端解析结果,避免故障
问题现象![image](https://github.com/pymumu/smartdns/assets/55315920/2d0f0aa5-eb3e-48a8-86f8-1069226684c5)
简要描述问题出现的现象 address /www.xiaohongshu.com/212.64.115.101,1.1.1.1 speed-check-mode ping,tcp:80,tcp:443 解析后结果能在 212.64.115.101 1.1.1.1 这2个IP之间进行轮询,但如果其中一个地址ping或者80,443不通,我就需要剔除这个不通地址,但通过 address /www.xiaohongshu.com/212.64.115.101,1.1.1.1 speed-check-mode ping,tcp:80,tcp:443 这个后缀命令然后看日志及抓包没看到存在探测功能,这个功能能否实现
运行环境
xen虚拟机
电信
重现步骤
bind [::]:53 -no-speed-check -force-aaaa-soa bind-tls [::]:53
tcp空闲
tcp-idle-time 120 address /www.xiaohongshu.com/212.64.115.101,1.1.1.1 speed-check-mode ping,tcp:80,tcp:443
www.xiaohongshu.com
信息收集