ubuntu中 etc resolv.cnf中的127.0.1.1是什么地址

ubuntu中 etc resolv.cnf中的127.0.1.1是什么地址,为什么dns默认配置的是这个地址,请教

阅读 12.8k
评论 更新于 2014-12-25
    2 个回答
    xelz
    • 11.8k

    因为 ubuntu下有一个本地的dns服务叫做dnsmasq,它是由NetworkManager控制的

    ps -ef | grep dnsmasq
    

    你就可以看到它监听的本地地址,--listen-address=127.0.1.1 (ubuntu12.04及之前的版本 是 127.0.0.1), 这个地址是一个本地回环地址

    而你真实的dns服务器地址,是被这个服务管理维护着的

    local process -> local dnsmasq -> router -> ISP dns
    
    评论 赞赏 2014-12-25
      happen23
      • 5
      • 新人请关照

      @xelz 的答案做些补充
      127.0.1.1应该是用于端口映射(port forwarding)的,比如ISP分配的DNS server是220.250.64.26,则dnsmasq会将客户端向127.0.0.1:53发出的DNS请求,转发到220.250.64.26:53

      类似的还有putty、SecureCRT等终端仿真程序。考虑以下场景:
      主机A可以访问主机B,主机B可以访问主机C,但主机A却不能直接访问主机C,这时A就可以将C的ssh端口映射到B上的一个随机端口(比如6667),以后直接访问B:6667就能实现A访问C的效果。

      评论 赞赏 2016-08-22
        撰写回答

        登录后参与交流、获取后续更新提醒