引言
一个现象:有的域名没有被墙,访问却显示连接已重置。
其实,是被SNI阻断了。
浏览器通过安全DNS和ECH即可破除SNI阻断,还我互联网。
概念介绍
抄袭Cloudflare的。
安全 DNS
传统上,DNS 查询以明文形式发送。任何在互联网上监听的人都能看到您正在连接哪些网站。
为了确保您的 DNS 查询保持私密,您应该使用支持安全 DNS 传输的解析器,例如 DNS over HTTPS (DoH) 或 DNS
over TLS (DoT)。快速、免费、注重隐私的 1.1.1.1 解析器支持 DNS over
TLS(DoT),可以使用支持它的客户端进行配置。在此查看支持的浏览器列表。现在可以按照这些说明在 Firefox 中配置 DNS over
HTTPS。两者都可以确保您的 DNS 查询保持私密。
ECH
加密客户端 Hello (ECH)是 TLS 握手协议的一个扩展,可以防止握手的隐私敏感参数暴露给您和 Cloudflare
之间的任何人。这种保护还扩展到服务器名称指示(SNI),否则在建立 TLS 连接时会暴露您要连接的主机名。
配置
相信你已经懂了这两者的概念,那么如何配置呢。
踩坑:阿里云 安全 DNS
首先,肯定是要先配置安全 DNS。
如何配置?
以 Chrome 为例,打开设置 => 隐私与安全 => 使用安全 DNS => 添加自定义服务商:
https://223.5.5.5/dns-query
理论可行,可是在实际操作时,安全 DNS配置成功了,可ECH却无法开启。
网上给的 Chrome 开启 ECH 方法我死活是开不了,Edge 也一样。
于是乎我就再去查了查,发现:
正确做法:直接使用 Cloudflare 的 安全 DNS
设置方法同 阿里云安全 DNS,并且是 Chrome 内置的,设置非常方便。
而且我发现,使用 Cloudflare 的 安全 DNS 后,ECH是自动支持的。
验证
https://www.cloudflare.com/zh-tw/ssl/encrypted-sni/
访问上面任意一个网站即可检查你的浏览器是否支持 ECH 了。
小坑
验证是否支持 ECH 时请不要使用代理,否则会显示不支持。
使用 Cloudflare 的安全 DNS 后访问境内网站速度会变慢,甚至导致代理无法连接,请酌情使用。
结语
我终于可以直连我的网站了......
参考文章
https://www.notetoday.net/note/698.html