V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Counter
V2EX  ›  Linux

关于 Dnsmasq 的配置问题

  •  
  •   Counter · 2015-12-27 20:05:03 +08:00 · 4148 次点击
    这是一个创建于 3283 天前的主题,其中的信息可能已经有所发展或是发生改变。
    想在 VPS 上装 Dnsmasq ,作为 VPS 自用的 DNS 服务器,看了网上的一些教程,感觉有点乱,总的来说,现在我是这样操作的:
    安装 apt-get install dnsmasq
    然后在 /etc/resolv.conf 增加一行 nameserver 127.0.0.1

    服务可以正常启动,但是不知道是否成功用 Dnsmasq 解析,情况如下:
    第一次执行 dig google.com | grep "Query time"数值比较大,第二次则为 0
    断开 ssh 再连接,再次执行 dig google.com | grep "Query time"数值跟上面第一次又差不多,第二次则又为 0

    是安装错误了吗?是否要对进行 /etc/dnsmasq.conf 进行配置?

    下面是参考的其中一篇教程,感觉有点问题
    https://wiki.debian.org/HowTo/dnsmasq#Basic_DNS_Setup
    第 1 条附言  ·  2015-12-28 10:53:11 +08:00
    稍微总结了下,关于 /etc/dnsmasq.conf 文档

    #resolv-file= 此行用来指定上游 DNS 服务器列表所在文件路径,默认注释掉,意思等同于 resolv-file=/etc/resolv.conf ,这里改为 resolv-file=/etc/resolv.dnsmasq.conf ,然后指定上游 DNS
    echo "nameserver 8.8.8.8" >> /etc/resolv.dnsmasq.conf
    echo "nameserver 8.8.4.4" >> /etc/resolv.dnsmasq.conf
    对于 /etc/resolv.conf 只保留一条本地 DNS
    echo "nameserver 127.0.0.1" > /etc/resolv.conf

    #strict-order 此行若取消注释,用来表示严格按照 resolv-file 文件中的顺序从上到下进行 DNS 解析

    #no-resolv 此行若取消注释,则表示不读取 resolv-file 指定的文件,但取消的同时应该在此文档添加上游服务器地址,否则 DNS 查询会 refused ,比如添加一行上游服务器 server=8.8.8.8

    #no-dhcp-interface= 此行若取消注释并指定网卡名,则关闭此网卡的 DHCP ,比如 no-dhcp-interface=eth0
    第 2 条附言  ·  2015-12-28 10:53:40 +08:00
    还有个问题,若 resolv-file=不另外指定文件(即默认使用 /etc/resolv.conf ),并在 /etc/resolv.conf 追加一行 nameserver 127.0.0.1 ,这样就把上游服务器地址和本地 DNS 服务器地址放在同一文件,还是可以解析的,只是为晓得为何不会有循环问题,还有 DNS 优先级是怎样的?
    8 条回复    2020-06-22 09:58:52 +08:00
    tinkerer
        1
    tinkerer  
       2015-12-27 20:07:04 +08:00 via iPhone
    你真的有看教程吗… resolv.conf 要改成你 dnsmasq 的绑定 IP 啊…
    Counter
        2
    Counter  
    OP
       2015-12-27 20:09:46 +08:00
    @tinkerer 是的,上面改过来了,是 /etc/resolv.conf 增加一行 nameserver 127.0.0.1
    infinet
        3
    infinet  
       2015-12-27 20:41:16 +08:00   ❤️ 1
    正常吧。第二次 query 从 cache 里取数据,所以 query time 很短,不过不少域名的缓存时间很短,可能你重新登录 ssh 后上次的缓存过期所以 query time 又变长了。缓存剩余时间在 ANSWER SECTION 第二栏。
    Counter
        4
    Counter  
    OP
       2015-12-27 20:48:25 +08:00
    @infinet 似乎是这样,但这也太短了吧,用 Dnsmasq 不就意义不大了么
    imn1
        5
    imn1  
       2015-12-27 21:02:39 +08:00
    还跟 TTL 有关
    e1eph4nt
        6
    e1eph4nt  
       2015-12-28 09:25:13 +08:00 via Android
    抓下包不就知道了吗
    infinet
        7
    infinet  
       2015-12-28 10:05:50 +08:00
    @Counter 能缓存一点总是好的。缓存时间是各网站自己设定的,见过最短的是 10 秒。
    ab1072074029
        8
    ab1072074029  
       2020-06-22 09:58:52 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   970 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:54 · PVG 06:54 · LAX 14:54 · JFK 17:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.