Debian系统配置DOH不生效,有大佬知道如何配置吗?

我想在Debian系统配置阿里云加密DNS https://dns.alidns.com/dns-query,找了各种教程配置都不生效,最后sni还是没有加密。有没有大佬知道该如何配置?

通过curl https://linux.do/cdn-cgi/trace访问查看是sni=plaintext

如果正常生效应该是sni=encrypted

我win11电脑配置就能正常生效。

补充:curl不支持doh,后面我使用openssl测试依然没生效,有大佬知道linux系统要如何测试是否生效了吗?

3 个赞

你要的是 esni 吧。 curl 支持吗?

1 个赞

浏览器加密dns开了么。哦,curl啊,curl啥时候有 ech 支持了。

扯远一点,给浏览器doh是自己给自己找麻烦说实在的,ech还会导致分流失效,最终还是得xray开个dns,然后劫持本机dns导向过去最彻底

1 个赞

我只是想检查一下doh+ech是否生效,应该用什么检查方式呀?

直接浏览器打开?

恕我孤陋寡闻,linux下系统级配置doh我还是第一次听说 :melting_face:

就是问的linux服务器的呀,电脑的我会配置,还是说linux服务器无法使用doh吗?

DoH放在Windows这边也是11才支持,我不认为Debian这些会有()除了第三方软件

curl 好像有人去实现了 ech 。如果在国外不是为了用代理软件。

我也不是为了用代理呀

但系统预装的版本老,有没有上咱不好说

你有 doh ,在浏览器中设置打开 ech ,通过浏览器发送请求。(win11 上你应该是配置了浏览器的 ech 吧)。curl 需要 openssl 支持 ech 的扩展版本(有能力自己编一个 curl 带 openssl ech 的)。

Glibc 解析器不支持 DOH,所以用户必须运行一个支持 DOH 的 DNS 解析器,并将系统的 DNS 配置为通过该解析器解析。

1 个赞

大佬跑题了,我问的不是windows的问题,windonw我会配置,我问的是debian服务器的问题,后面我没使用curl,使用了 openssl测试,依然没有生效,所以是doh为什么没生效的问题

cloudflare在检测到国内ip会自动禁用ECH,使用国内ip访问sni将总是为plaintext。

DOH≠ECH,开启DOH并不等于就能使用ECH,使用ECH也不一定需要DOH,ECH需要应用程序支持。curl不支持ECH,sni将总是为plaintext,如果是浏览器,可以访问这个网站

检查浏览器的ECH支持状态。

Linux不支持系统级别的DOH,需要使用第三方软件将DOH转换为标准的tcp/53才能使用DOH。

服务器高性能高频场景不推荐使用DOH,反而会拖慢网速,每次光DNS解析就要浪费300-100毫秒。毕竟都有HTTPS保护了,对服务器来说没有必要加密DNS查询。一定要这么干就使用DOT或者DOQ。

1 个赞

感谢大佬解答,不过CN的IP是支持的,请看图:

还有就是使用了cf cdn的网站大部分都会开启ech,实现隐藏sni,但是要配合doh使用,才能隐藏,我在我windwos电脑实测了的,所以我想在linux云服务器也实现隐藏sni,我不是用来跑代理,是有别的使用场景,所以延迟可以忽略

ECH使用特殊的DNS记录实现的,具有TTL存活时间,如果使用了代理工具开启了ECH状态会一直保持。在安卓设备上可以验证这一点,使用移动数据访问后强行停止浏览器,清除缓存重新进入,ECH状态将会消失。要测试是否支持ECH以tls-ech.dev为准。

这些我都已经测试过了,本地windows电脑是正常的,并且是没有开启代理的情况下测试的,而且重启了电脑,并且开代理的时候测试是显示没有启用ECH,所以没有缓存干扰测试

说明应用程序支持,这就足够了。应用程序如果不能激活ECH,使用了DOH也能够隐藏DNS查询,但是不是所有程序都支持ECH,没有为所有程序隐藏SNI的方法。不代表DOH没有生效。

你给出的信息实际上只是表明 ECH 没有生效而不能表明 DOH 没有生效。实际上我倾向于认为你的 openssl 并不支持 ECH

感觉确实可能是openssl和大部分工具都不支持ECH原因,谢谢大佬解答