We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
现在在部分运营商可能会封锁 TCP 53 的 DNS 请求,也有部分 DNS 提供商不支持 TCP Request,比如使用
λ .\freedns-go.exe -f 1.2.4.8:53 -c 127.0.0.1:10053 -l 0.0.0.0:53 λ dig baidu.com @127.0.0.1 +tcp
的时候就会出现 fast dns timeout 的现象,详细 log
time="2020-04-14T18:10:22+08:00" level=info domain=baidu.com. op=update_cache type=A upstream="127.0.0.1:10053" time="2020-04-14T18:10:22+08:00" level=info domain=baidu.com. op=handle status=NOERROR type=A upstream="127.0.0.1:10053" time="2020-04-14T18:10:22+08:00" level=error msg="dial tcp 1.2.4.8:53: i/o timeout" domain=baidu.com. op=naive_resolve upstream="1.2.4.8:53"
建议可以指定 upstream 和 listen 的协议类型,譬如指定监听 udp://0.0.0.0:53 ,作为 upstream 的 server 也可以指定譬如 tcp://114.114.114.114:53 和 tcp://8.8.8.8:53
建议调整为
λ .\freedns-go.exe -f udp://1.2.4.8:53 -c tcp://8.8.8.8:53 -l udp://0.0.0.0:53 λ # 监听 udp+tcp λ .\freedns-go.exe -f udp://1.2.4.8:53 -c tcp://8.8.8.8:53 -l udp+tcp://0.0.0.0:53
The text was updated successfully, but these errors were encountered:
感谢建议。
通常DNS利用TCP协议查询是因为返回的结果太大,无法使用一个UDP包传输。https://serverfault.com/a/404843
所以如果freedns-go 收到了TCP请求,为了保证能满足正常的需求,也就是返回结果比较大时,也理应使用TCP请求上游。
所以上游如果不支持就真的无能为力……改一下指定的协议并不能解决这个问题。所以你想要的功能是快速fallback到clean dns来返回tcp请求?这个如果在使用中造成很大困扰我可以考虑改进fallback的机制。
Sorry, something went wrong.
No branches or pull requests
现在在部分运营商可能会封锁 TCP 53 的 DNS 请求,也有部分 DNS 提供商不支持 TCP Request,比如使用
的时候就会出现 fast dns timeout 的现象,详细 log
建议可以指定 upstream 和 listen 的协议类型,譬如指定监听 udp://0.0.0.0:53 ,作为 upstream 的 server 也可以指定譬如 tcp://114.114.114.114:53 和 tcp://8.8.8.8:53
建议调整为
The text was updated successfully, but these errors were encountered: