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

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

阅读 41.9k
2 个回答

因为 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
新手上路,请多包涵

@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的效果。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题