拥有自己的“DoH”/“DoT”服务器有哪些缺点?
DoH 的“问题”之一是,如果浏览器默认激活它,Google 或 Cloudflare 等大公司将解析数百万个客户端的 DNS 请求。
那么,鉴于这一事实,一种解决方案是拥有与“DoH”兼容的自己的 DNS 服务器。但缺点是什么?我的意思是,例如,它是否相对容易被黑客入侵?
另一方面,如果我没有错的话(如果我错了,请纠正我),大规模启用“DoT”应该由操作系统驱动,而不是由浏览器驱动,这与 DoH 不同。在这种情况下,DNS 请求将按照传统方式进行解析(默认情况下,通过 ISP 的 DNS 服务器),但客户端和递归服务器之间的连接将通过 TLS 加密。
鉴于这一事实,我有第二个问题:是否也可以创建自己的“DoT”服务器?它会很容易被黑客入侵吗?一般来说,缺点是什么?
答案1
构建 DoH 代理服务器非常简单(https://www.hardill.me.uk/wordpress/2018/04/14/dns-over-https/和https://github.com/hardillb/dns-over-https)
自己运行的问题是,对于普通家庭用户来说,它不会给你带来任何好处(假设你在家里托管它,比如在 Raspberry Pi 上)。这是因为流量只会在你的浏览器和 Pi 之间加密。然后,出站流量将通过你的网络连接流出到你配置它使用的任何上游 DNS 服务器。这将是未加密的,并且仍然可能被你的 ISP 跟踪。
您可以通过配置 DoH 代理来将 DoT 与已知良好的 DNS(不是由您的 ISP 托管)对话来解决此问题。
另一个选项(也在我指向的 git repo 中实现)是使用另一种方式进行代理,在您的网络上运行一个普通的“DNS 服务器”,然后代理到 DoH。这意味着您的网络上不需要更改任何内容,它只需指向代理,然后代理将请求安全地转发到互联网上的 DoH 服务器。这意味着您的 ISP 无法监视您,但 DoH 服务器可以。
设置 DoT 服务器也相当简单,只需使用类似 stunnel 的东西来代理支持 TCP 和 UDP 的 DNS 服务器即可。更难的部分是获取带有 IP 地址 SAN 条目的 TLS 证书(如果我没记错的话,Lets Encrypt 不会颁发证书)
有一个非常好的网站,里面有更多我现在找不到的详细信息(当我再次找到它时,我会编辑该帖子)。
正如所有事情一样,这实际上取决于您想要减轻什么威胁。