Openwrt的dns解析流程

发布于 2019-04-11  159 次阅读


openwrt的dns由dnsmasq(dns server 和 dhcp server的合并)实现,默认配置为dns转发模式。

lan口为dhcp server,因此,下级设备自动获取的nameserver即为本路由的子网下的ip地址。

和dns解析相关的有2个配置文件,都在/tmp下

resolv.conf.auto

netifd生成, netifd在每次wan口up事件时,重写该文件。

当wan口有包请求dns时,会foward到该地址上,从该处获取dns。

resolv.conf

来源:不明,推测为resolv.conf.auto的副本,但是每次wan口up事件并不会更新,但是系统重启后会更新,待探究。

当lan口有包请求dns时,会foward到该地址上,从该处获取dns。

当在lan口直接ping时,读取resolv.conf的内容,作为dns server,若resolv.conf为空,再读取resolv.conf.auto的内容作为nameserver。

PS:因为openwrt为转发模式,自然可以用来解决一些污染问题,在此不做探究。**


华风夏韵,洛水天依。