Openwrt dnsmasq 设置要点

之前设置dnsmasq,一直没有奏效,后来摸索了一下,初步发现它的原理:

正常的流程应该是像这样的,先由client来发送DNS请求到网关,然后网关的dnsmasq处理这个请求,

再根据设置决定如何处理这个请求。

但是,在下面这种情况下,dnsmasq就没有作用了:

当你在接口-LAN里面设置了序号为6的option,也就是dns服务器地址设置,比如 6,8.8.8.8,那么客户端被通告

的DNS服务器就是8.8.8.8,客户端的所有请求都会发送到8.8.8.8,而不是发送到网关。

就像这个样子:

若这里不填写的话,客户端的请求会先发送到网关,然后由网关决定。这里的网关指的是路由器。

也就是像下面这个样子:

当client的dns服务器地址是网关时,网关必须做出相应的处理,不然客户端的dns请求得不到回应,

也就会导致无法访问网站。

当只设置一个dns的时候,这样和指派给客户端dns地址的效果是一样的。

dnsmasq的强大之处之一是可以选择多个dns来解析,比如这里将baidu和163交给114dns解析,其他交给8.8.8.8来解析。

原文地址:https://www.cnblogs.com/tanhangbo/p/4567112.html