最近尝试在局域网建立 Pi-Hole 、Adguard Home 这样的局域网 DNS 解析服务,遇到了一些疑问,国内 ip 部分可以直联进行解析,那国外 ip 的部分是如何解决呢? 最近看到 GFW 对 DoH 、DoT 的解析也开始进行拦截,使用隧道应该是在所难免了,不过如何让 DNS 对境外的解析通过代理呢(直接设置 lxc 或 vm 的网关和 dns 到 surge 地址么,感觉怪怪的,试下来也没成功= =),有点纳闷,缺少一些关键字进行搜索查询= =
或者 DNS 服务器是否有其实际意义呢,在已经使用 surge 充当旁路由角色的前提下,毕竟境外 DNS 请求已经会通过科学线路远端解析了。
感觉没有必要弄一个单独的 DNS 解析服务,通常情况下解析出来的 IP 要能连接上才有意义,一般和 clash surge 之类的分流软件同时出现,而这些软件能够很好的支持你所期望的行为。
大致的解析流程(假设该域名是一个无名国外网站): 1. 域名既不在国内直连白名单(比如 bilibili )又不在常用国外域名名单里(比如 google stackoverflow ) 2. 通过默认国内 dns 解析(比如 dnspod,alidns ),拿到的 ip 如果是非大陆 ip,那么会将域名发送到远程代理服务器解析,国内 dns 解析出来的结果仅仅用于判定是否把域名发往远端解析。
taobibi
2021-06-09 15:01:47 +08:00
五楼的 dnscrypt-proxy 是个好选择,而且 openwrt 有现成的插件、
sidkang
2021-06-09 15:16:47 +08:00
@lostberryzz @ronman @Greenm 感谢回复,我查了查 dnscrypt-proxy 确实是一个选择,软件本身也支持使用,纯粹就 dns 查询而言,使用 surge 以后其实再增加 dns 的意义不是特别大,毕竟 surge 本身已经支持通过隧道查询出口端解析 dns 的功能,也支持 DoH.
不过我之所以想要再建立一个 pi-hole 这样的 dns 服务其实主要是为了另外两个功能:1 、较为方便的解决 anti-ad 的问题,不够用的部分再通过 surge+ip 规则解决; 2 、能够方便的查看 dns 的解析情况,知道局域网客户端的访问详情,增加 block 或更细致的规则解决问题。