DoH && EDNS 的配置

DoH

Dns over Https 一说 Dns over Http/2

虽然有一些差别,但本质上都是为了解决一个问题

使用 dnsforwarder 建立本地 DNS 服务器避免 DNS 问题 一文中,我们讲述了通过了tcp查询代替udp查询来提高污染的难度以避免污染

但是即便是tcp查询,依然使用明文,中间攻击会导致你可以想到的任何不好情况发生

而随着技术发展,https连接的延迟已经越来越低,已经在用户可以接受的范围内——70-600 ms,在http2的情况下,延迟甚至有可能比udp要低

在去年IETF与谷歌实验室分别发布了两套标准

EDNS

我们知道, 一些比较大的网站,比如百度,必应等网站,有着多台服务器,DNS需要依靠用户IP或者别的方案来就进解析,我们称为智能解析

毕竟你北京的电脑解析到莫斯科的服务器会显得自己很傻很天真

支持DoH的DNS

说句实在话,因为技术刚出现,加上国内生态此类生态圈的乱象……

基本没有可以靠谱使用的大厂DNS

只有一些小型第三方DNS

出于毕竟是小型第三方,加之其安全性不保,不在这里罗列

国外比较靠谱的,也就只有CloudFlare DNS && Google Public DNS

谷歌实验室方案接口:

  • Google Public DNS: https://dns.google.com/resolve
  • CloudFlare DNS: https://1.1.1.1/dns-query / https://1.0.0.1/dns-query

IETE 方案接口:

  • Google Public DNS: https://dns.google.com/experimental
  • CloudFlare DNS: https://1.1.1.1/dns-query / https://1.0.0.1/dns-query

虽然 IETE 比谷歌实验室方案有着更强的安全性,但是对 edns 不太友好,说明白一点,就是真的把你解析到了美国

实际上本来是相当智能的但是你并不能做到直接访问这些 404 大厂

实现方案

直接使用dns-over-https项目就可以了,其只有linux的支持比较友好

建议按照 使用 dnsforwarder 建立本地 DNS 服务器避免 DNS 问题 搭建带缓存的 dns 服务器

]]>

发表评论

电子邮件地址不会被公开。 必填项已用*标注