我的路由器openwrt,默认用的是dnsmasq,最近因为特殊要求需要过滤掉aaaa记录,改用bind9。以前用dnsmasq的时候,设置了4个nameserver,用--all-servers启动后就能够同时查询这4个dns服务器,使用最快返回的结果;现在bind9我设置了转发到这4个dns服务器,但是bind9只能随机选一个查询,不能并发查询,请教是我设置问题么?而我发现,不设置转发,根服务器查询好像是能够并发查询的,但是都是美国的ip,反而更慢了,能自己设置根dns ip么?目前配置如下:
我的路由器openwrt,默认用的是dnsmasq,最近因为特殊要求需要过滤掉aaaa记录,改用bind9。以前用dnsmasq的时候,设
置了4个nameserver,用--all-servers启动后就能够同时查询这4个dns服务器,使用最快返回的结果;现在bind9我设置了转
发到这4个dns服务器,但是bind9只能随机选一个查询,不能并发查询,请教是我设置问题么?而我发现,不设置转发,根服务器查询好像是能够并发查询
的,但是都是美国的ip,反而更慢了,能自己设置根dns ip么?
目前配置如下:
options {
directory "/tmp";
listen-on port 53 { 127.0.0.1;192.168.9.1; };
filter-aaaa-on-v4 yes;
forwarders { 114.114.114.114;223.5.5.5;8.8.8.8;223.6.6.6; };
forward only;
allow-query { any; };
auth-nxdomain yes;
};
bind9怎样设置能和dnsmasq那样,并发查询多个dns服务器,使用最快返回的结果?
答案:2 悬赏:70 手机版
解决时间 2021-03-02 23:10
- 提问者网友:山高云阔
- 2021-03-02 13:47
最佳答案
- 五星知识达人网友:酒者煙囻
- 2021-03-02 15:19
bind不用特别设置。
它的做法跟dnsmasq不大一样,是基于RTT自动选择。
最终效果跟dnsmasq差不多,还不用发那么多的查询包。
印象中bind的做法是这样的,你可以抓包验证下:
最开始给所有的候选对象弄一个低RTT,然后每次都在RTT < x ms的候选对象中随机选一个(优先选RTT较小的)。
每个对象查完一次就更新它对应的RTT(查的慢的RTT就比较大)。
印象中下一次选对象的时候,还会乘一个平滑参数(跟上一次的RTT值相关),SRTT平滑。
它的做法跟dnsmasq不大一样,是基于RTT自动选择。
最终效果跟dnsmasq差不多,还不用发那么多的查询包。
印象中bind的做法是这样的,你可以抓包验证下:
最开始给所有的候选对象弄一个低RTT,然后每次都在RTT < x ms的候选对象中随机选一个(优先选RTT较小的)。
每个对象查完一次就更新它对应的RTT(查的慢的RTT就比较大)。
印象中下一次选对象的时候,还会乘一个平滑参数(跟上一次的RTT值相关),SRTT平滑。
全部回答
- 1楼网友:轻雾山林
- 2021-03-02 16:45
虽然我很聪明,但这么说真的难到我了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯