魔鬼的组合:OpenWrt+Dnsmasq

且不说给我的WHR-HP-G300N刷了OpenWrt之后遭遇的重重劫难,单说一个DNS给我带来的困扰。

我坚持认为我的设备必须拿到别的环境马上可用且没有多余配置,所以家用网络但凡能用dhcp解决的问题绝对不用static,那么很明显DNS也是要通过DHCP分配的,而不是写在终端上。于是…

我习惯给网络配置两个DNS,一个114dns和一个本地ISP分配的,也就是114.114.114.114和202.99.224.68,因为114dns性能更好,但是一旦遇到特殊情况,ISP的DNS作为备用,最后DNS请求统一通过路由器进行转发,为终端提供192.168.x.1的DNS服务器。这样的配置在路由器的原生系统上并没有什么不妥,但是在OpenWrt上就会出现以下情况:

1、当我把dns设置在interface wan的时候,DNS请求看起来会随机发往两个DNS服务器的其中一个,或总是发往相应更快的那个。于是总是ISP的DNS解析我的请求。

2、当我把dns设置在interface lan的时候,DNS转发的行为与配置在wan上时一致

3、当我把dns配置在dhcp配置文件的Dnsmasq区域时,不管是否禁用自动查询resolv.conf.auto文件,DNS转发的行为与配置在wan上时一致

4、当我把dns配置在interface wan,且启用自动查询resolv.conf.auto文件,且配置严格按照resolv顺序查询后,DNS请求如我所愿按顺序发到了第一行的114DNS

5、我猜测,如果把dns配置在interface lan,其他配置按照上一条进行,也可以满足需求

那么问题来了:

1、如果我希望使用dhcp配置文件的Dnsmasq区域负责DNS配置时,要如何才能实现顺序解析

2、为什么一个集成化的路由器系统可以在wan、lan和dnsmasq上分别配置dns服务器

3、option serverlist server两种配置究竟有什么鬼区别

One thought on “魔鬼的组合:OpenWrt+Dnsmasq

  1. Anonymous

    1、印象中dnsmasq没有这样的功能,未测试。但是根据网友反映,114有劫持,不如直接使用isp的dns
    2、建议不使用openwrt的uci和luci,直接配置/etc/dnsmasq.conf
    3、option只能配置一条,list可以配置多条,详见openwrt的wiki
    list server 4.4.4.4
    list server 8.8.8.8

    Reply

Leave a Reply