dnsmasq icon indicating copy to clipboard operation
dnsmasq copied to clipboard

老哥,all-servers参数无效

Open PHCSJC opened this issue 6 years ago • 13 comments

环境:armbian 9+aarch64,用你的源码编译的dnsmasq,用了有2个多月了,非常好没遇到什么BUG,今天巧合用tcpdump抓包发现all-servers参数无效,这个参数的意思是向所有dns都发起请求,接收最先返回的结果。 用tcpdump抓包发现大多时候只向第2个dns发送请求,偶尔向第一个dns发请求,然后我做了些测试: 1.多次重启dnsmasq依然不生效。 2.换用原版的dnsmasq,配置文件不做任何修改,有效了,会同时向2个DNS发送请求。

下面是配置文件,请老哥看看怎么回事: no-resolv bogus-priv cache-size=1024

listen-address=127.0.0.1,192.168.20.35,192.168.21.1 conf-dir=/etc/dnsmasq.d

all-servers server=114.114.114.114 server=119.29.29.29

PHCSJC avatar Feb 27 '19 05:02 PHCSJC

我改了下配置,把dns放在/etc/resolv.dnsmasq.conf文件里,还是不生效: bogus-priv cache-size=1024

listen-address=127.0.0.1,192.168.20.35,192.168.21.1 conf-dir=/etc/dnsmasq.d

all-servers resolv-file=/etc/resolv.dnsmasq.conf

PHCSJC avatar Feb 27 '19 05:02 PHCSJC

有人在18年4月也反馈过同样的问题: https://github.com/infinet/dnsmasq/issues/15

PHCSJC avatar Feb 27 '19 05:02 PHCSJC

可以用dnsmasq2.80版all-servers有效

ntlf9t avatar Mar 13 '19 14:03 ntlf9t

可以用dnsmasq2.80版all-servers有效

你说的2.8版本是这个大佬优化的版本吗?我看代码都好久没更新了,2.8优化版在哪下载呢?

PHCSJC avatar Mar 13 '19 14:03 PHCSJC

我利用作者的代码生成的补丁,只编译了openwrt的发恩山了。

ntlf9t avatar Mar 13 '19 14:03 ntlf9t

我利用作者的代码生成的补丁,只编译了openwrt的发恩山了。

我只会编译,不会合并,老哥能发下你合并后的代码吗?或者能说下怎么把2.8版本和这个补丁合并吗?我在armbian上编译下。

PHCSJC avatar Mar 14 '19 00:03 PHCSJC

@505575853 用了您在 https://github.com/505575853/dnsmasq-fastlookup 的代码编译2.80的dnsmasq,配置文件中指定例如 server=/google.com/1.2.3.4 这样的设置无效,还是走默认的dns,是不是还有其他bug啊

dongjuanyong avatar Mar 30 '19 14:03 dongjuanyong

@dongjuanyong 补丁没打完不想弄了

ntlf9t avatar Mar 30 '19 18:03 ntlf9t

dnsmasq-full_2.80.zip 只编译适合openwrt的版本

ntlf9t avatar Mar 30 '19 18:03 ntlf9t

dnsmasq-full_2.80.zip 只编译适合openwrt的版本

我只试了其中x64的版本,server=/xxx/xxx的配置还是无效

dongjuanyong avatar Mar 31 '19 00:03 dongjuanyong

@dongjuanyong 那不知道到了估计有坑

ntlf9t avatar Mar 31 '19 00:03 ntlf9t

看来作者已经放弃更新了,我已经用回原版了

PHCSJC avatar Mar 31 '19 01:03 PHCSJC

@505575853 这样patch很容易出问题,至少我试过在更新版本的dnsmasq里merge这个分支,结果一团糟。 大家用这个改过的版本都是为解决大配置文件的效率问题吧?all-servers这个功能要用的话只能您自己修复了,抱歉!

infinet avatar Apr 01 '19 14:04 infinet