当前系统版本为16.04
查看/etc/resolv.conf dns为127.0.1.1
现在/etc/network/interfaces里配置 dns-nameservers 8.8.8.8
重启网络服务networking
查看/etc/resolv.conf dns仍为127.0.1.1
如何能让interfaces 里配置的dns与 dnsmasq默认的dns127.0.1.1 同时生效呢
interfaces 里配置的dns能覆盖 dnsmasq代理的127.0.1.1吗
-
- 帖子: 6
- 注册时间: 2020-06-16 16:58
- 系统: ubuntu 16.04
- 来自: 帝都
- astolia
- 论坛版主
- 帖子: 6514
- 注册时间: 2008-09-18 13:11
Re: interfaces 里配置的dns能覆盖 dnsmasq代理的127.0.1.1吗
你明明用的是桌面版,为什么不直接通过network manager的图形界面来配置,而要去编辑/etc/network/interfaces?
127.0.1.1这个是作为dns缓存服务器用的,实际查询的还是在network manager里设置的dns服务器。默认情况下是通过dhcp查来的。
我不清楚你说的“同时生效”具体是想干什么
你如果想把通过dhcp获得的dns服务器和8.8.8.8一起使用,直接在图形界面编辑网络连接,在ipv4设置里的“附加DNS服务器”里把8.8.8.8加上就是。
如果是想通过dhcp获取ip和路由等,但dns只使用8.8.8.8,那就把ipv4设置里的方法改成“自动(DHCP)仅地址”,再在下面的“DNS服务器”里设置8.8.8.8
这两种情况下都是127.0.1.1负责缓存查询结果,具体查询由dhcp获取的dns或8.8.8.8来做
127.0.1.1这个是作为dns缓存服务器用的,实际查询的还是在network manager里设置的dns服务器。默认情况下是通过dhcp查来的。
我不清楚你说的“同时生效”具体是想干什么
你如果想把通过dhcp获得的dns服务器和8.8.8.8一起使用,直接在图形界面编辑网络连接,在ipv4设置里的“附加DNS服务器”里把8.8.8.8加上就是。
如果是想通过dhcp获取ip和路由等,但dns只使用8.8.8.8,那就把ipv4设置里的方法改成“自动(DHCP)仅地址”,再在下面的“DNS服务器”里设置8.8.8.8
这两种情况下都是127.0.1.1负责缓存查询结果,具体查询由dhcp获取的dns或8.8.8.8来做
-
- 帖子: 6
- 注册时间: 2020-06-16 16:58
- 系统: ubuntu 16.04
- 来自: 帝都
Re: interfaces 里配置的dns能覆盖 dnsmasq代理的127.0.1.1吗
astolia 写了: ↑2020-06-17 22:23 你明明用的是桌面版,为什么不直接通过network manager的图形界面来配置,而要去编辑/etc/network/interfaces?
127.0.1.1这个是作为dns缓存服务器用的,实际查询的还是在network manager里设置的dns服务器。默认情况下是通过dhcp查来的。
我不清楚你说的“同时生效”具体是想干什么
你如果想把通过dhcp获得的dns服务器和8.8.8.8一起使用,直接在图形界面编辑网络连接,在ipv4设置里的“附加DNS服务器”里把8.8.8.8加上就是。
如果是想通过dhcp获取ip和路由等,但dns只使用8.8.8.8,那就把ipv4设置里的方法改成“自动(DHCP)仅地址”,再在下面的“DNS服务器”里设置8.8.8.8
这两种情况下都是127.0.1.1负责缓存查询结果,具体查询由dhcp获取的dns或8.8.8.8来做
是用的桌面版,但是要做一个管理主机ip的web应用,只能通过编辑interfaces来实现了,现在需要手动设置dns,但是发现在interfaces里设置了dns,并不能取代dnsmasq的127.0.1.1.想问您,1.用了dnsmasq 代理,interfaces里的dns是不是就没用了?2.如果我在 /etc/NetworkManager/NetworkManager.conf 里将dns=dnsmasq 注掉,在interfaces里配上dns为127.0.1.1这时候是不是与启用dnsmasq代理是一样的效果呀?3.dnsmasq不是一个代理嘛,他代理的真会dns地址是什么呀?
- astolia
- 论坛版主
- 帖子: 6514
- 注册时间: 2008-09-18 13:11
Re: interfaces 里配置的dns能覆盖 dnsmasq代理的127.0.1.1吗
没这回事。network manager有命令行工具nmcli,你可以直接调用它来操作。
/etc/network/interfaces背后的ifupdown本来就存在很多问题,要不也不会被取代掉。
/etc/NetworkManager/NetworkManager.conf 里面默认启用了ifupdown插件,而且默认是不会去管列在/etc/network/interfaces里面的网络接口。这个是在NetworkManager服务启动时读取的。
如果你是在NetworkManager已经启动的情况下,编辑/etc/network/interfaces,加入了网络接口的相关设置,然后重启networking服务。由于这时NetworkManager仍然认为接口归自己管理,所以同样会按自己的配置进行设置。这个设置发生在ifup之后,所以你看到的结果还是没变
这里的dnsmasq并不是一个独立的服务,而是作为network manager的一个功能组件。它是由network manager启动的,所有配置包括监听地址127.0.1.1都是network manager设置的。你把dns=dnsmasq取消掉,network manager就不会再去启动它,也没有人去监听127.0.1.1了。
我在2楼已经说过了