OpenWrt dns路线 DHCP/DNS ChinaDNS-NG SmartDns

2020-03-29 0 条评论 667 次阅读 0 人点赞

最近在研究去广告,非常不理解原理.现在已经完成了搭建,但是对内部流程还是不太熟悉,今天就此梳理一下.流程如图

  • 首先由adguard接管udp53处理来自局域网内的所有客户端的dns请求.客户端效果如下图,一个v4和一个v6的路由地址
  • 然后设置adguard的上游dns端口54
  • 而Dnsmasq(DHCP/DNS)的端口为54负责处理来自adguard的dns请求.这里面有个转发就是直接转发到5053
  • 此时ChinaDNS-NG负责处理来自Dnsmasq来自上层的请求做分流.这里维护了一个国内国外的域名和ip段.不同段走向不同端口,如果来自客户端的google.com的dns此时命中的是国外域名段,然后走到7053这个端口,这个端口还有另一个名字叫做可信DNS服务器地址.国外路由表内容大致如下,国外路由表还有一个其他的名字.

  • 以上流程都是在局域网内完成的,因为我的这些查询都是在同一设备上,所以单机完成了以上所有的操作. 然后就是向外网查询域名最终的ip

最终查询域名对应的ip就有很多方式了. tcp udp DoH(DNS over HTTPS) tls,当然国内域名用到这些只是为了防劫持(其实也起不到多大的效果- -!).不然普通用户只用udp 53就好了.


在使用的过程中遇到了很多问题.比如打开谷歌提示证书错误,其实证书是Facebook的,这个原因其实都懂.加上最近的github劫持,都是由于dns的原因造成的.
这个adguard在使用的过程中如果开启90天log的话,会产生很大的文件导致硬盘满.此时需要面对的是修改overlay储存的问题,给自己挖个坑吧.

TestSmirk

这个人太懒什么东西都没留下

文章评论(0)