chinadns 的使用问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
vtexfan
V2EX    OpenWrt

chinadns 的使用问题

  •  
  •   vtexfan 2015-05-18 13:33:28 +08:00 1998 次点击
    这是一个创建于 3800天前的主题,其中的信息可能已经有所发展或是发生改变。

    1.刷了openwrt,很多教程里面不一样,有的在luci的“本地服务器”里面填写127.0.0.1#5353,有的是在“DNS转发”里面填写127.0.0.1#5353。这两者有什么区别吗?

    2.为什么这里的设置没有写入到dnsmasq.conf的配置文件里呢?

    3.我用dig,查到SERVER:127.0.0.1#53,是53而不是5353,是不是意味我用的是dnsmasq而不是chinadns解析?

    小白问题,搜索无果,求科普一下,谢谢!

    10 条回复    2015-05-18 16:12:59 +08:00
    westy
        1
    westy  
       2015-05-18 13:48:07 +08:00
    当时折腾的时候弄明白了,不过记得不是太清楚,如果错了楼下烦请更正一下。

    127.0.0.1#5353 是 Chinadns。

    DNS转发里填这个,是为了接入路由的其他设备在进行DNS查询的时候,DNSMasq把请求转发到 127.0.0.1#5353上去。
    heiybb
        2
    heiybb  
       2015-05-18 14:01:25 +08:00 via Android
    手机打字太麻烦,先回答1
    对于填入:127.0.0.1#5353 两者效果是相同的,具体区别不知道,在恩山论坛上问过,得到的解释模棱两可,Openwrt的Dnsmasq文档也没有清楚的写明白两者的区别,Google后发现也有不少人不明白这个问题,但各种解释也说不清楚,后来也就不了了之了。
    heiybb
        3
    heiybb  
       2015-05-18 14:03:01 +08:00 via Android
    2 这里填入的配置其实保存在/etc/config/DHCP (应该没记错)
    并不是保存在Dnsmasq.conf
    heiybb
        4
    heiybb  
       2015-05-18 14:06:45 +08:00 via Android
    3 你dig时没有指定端口默认就按53端口查询,只不过Dnsmasq把53端口的Request转发到ChinaDNS处理(这就是你刚刚填127.0.0.1#5353的作用),最终的回显当然是53端口。Dnsmasq在此处只起到转发Request的作用。
    heiybb
        5
    heiybb  
       2015-05-18 14:10:22 +08:00 via Android
    以上是个人理解,如果有不妥当的地方欢迎指正。
    vtexfan
        6
    vtexfan  
    OP
       2015-05-18 14:35:18 +08:00
    谢谢两位,的确如 @heiybb 兄所说,配置文件在dhcp里面。
    1 问题在dhcp里:
    option local '127.0.0.1#5353' //本地服务器
    list server '127.0.0.1#5353' //DNS转发
    好像使用起来并没有太多不同。

    2 dhcp的优先级要高于dnsmasq?我看很多教程里面都是在dnsmasq.conf修改服务器和noresolv

    3 那这样dnsmasq的缓存还有效吗?一直没找到缓存文件在那儿
    bugeye
        7
    bugeye  
       2015-05-18 14:48:44 +08:00
    1. /etc/config/dhcp是openwrt这个特定linux发行版的配置文件,在dhcp文件里面,可以设置dnsmasq的很多行为。但语法和dnsmasq.conf用的不同。

    2. dhcp高于dnsmasq.conf,也就是说,如果dnsmasq.conf和dhcp设置了同样的配置,以dhcp为主。

    3. dnsmasq缓存和转发到chinadns解析无关。

    4. “.我用dig,查到SERVER:127.0.0.1#53,是53而不是5353,是不是意味我用的是dnsmasq而不是chinadns解析?”

    你是用dnsmasq解析,但只要设置正确,dnsmasq就会把你的请求 转给chinadns。要知道有没转过去,最简单的办法是 dig www.youtube.com,看看返回的值像不像真的。

    另外,由于你是用dnsmasq解析,所以可以使用dnsmasq的附加功能,比如某个网址(假设youku.com)如果不想用chinadns解析,可以在 dnsmasq.conf里增加一行 server=/youku.com/8.8.8.8。这样遇到youku.com,dnsmasq就不会转发到chinadns,而是向你指定的8.8.8.8去查询。
    vtexfan
        8
    vtexfan  
    OP
       2015-05-18 15:25:41 +08:00
    谢谢 @bugeye 兄。
    还有两个问题想请教:
    1 dnsmasq的缓存到底在哪儿呢?如何知道有没有效果,dig gmail.com,第二次Query time很短,但是隔了一段时间再去查询,时间又变很长,这个特征貌似又是缓存没起作用。有时候dig等了几秒信息才出来,但是Query time上显示却只有几十,为啥?比如我dig twitter每次都要卡几秒,而且每次的Query time都是一样。

    2.经常会发生网页打开很慢(这里包括国内任一网站),甚至打不开需要重新刷新才能打开,有什么好的经验可以帮助排查问题出在环节?
    bugeye
        9
    bugeye  
       2015-05-18 15:44:56 +08:00
    1. 没研究过dnsmasq的缓存在哪的问题。照我的理解,应该放在内存里吧。

    至于缓存多长时间,应该是查询域名时的ttl的作用。比如你dig www.youku.com,你可以看到一个数字,我这里显示的是204,也就是这个域名的时效是204秒,dnsmasq应该不会缓存超过这个值。当然有些程序可以强行让dns缓存超过TTL,但具体到dnsmasq有没有这功能就不知道了,没研究过这个问题。

    另外dnsmasq默认好像只缓存150次域名查询,这样太多域名查询也会造成某些域名没到TTL时间就给新查询冲掉。在路由器内存许可的情况下,可以在dnsmasq.conf加上 cache-size=XXXX 来增大这个缓存的数量。我的路由器上设置的是9999

    2. 这个挺麻烦的吧,可以dig一下,看看解析出来的IP属于哪家运营商,如果跨运营商,在国内经常很慢。但很多时候也可能仅仅是线路偶然抽疯,或者对方服务器出故障造成的。。。
    LazyZhu
        10
    LazyZhu  
       2015-05-18 16:12:59 +08:00
    没有优先级一说
    简单说一下吧, /etc/config/是OpenWRT独有的配置方式(主要为了luci而设计的), 配置参数通过uci wapper (Shell script/init.d) 转化成程序所使用的格式, 前面的option local '127.0.0.1#5353' / list server '127.0.0.1#5353' 转换成命令行参数或者dnsmasq.conf文件中,两者是一样的效果:server=
    https://github.com/openwrt-mirror/openwrt/blob/dcbb1729bae0978f5c27a52784dc2c1325292728/package/network/services/dnsmasq/files/dnsmasq.init#L147
    https://github.com/openwrt-mirror/openwrt/blob/dcbb1729bae0978f5c27a52784dc2c1325292728/package/network/services/dnsmasq/files/dnsmasq.init#L148

    和手动修改dnsmasq.conf效果是一样的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2236 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 16:05 PVG 00:05 LAX 09:05 JFK 12:05
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86