ubuntu下dns修改问题——resolv.conf中的nameserver 127.0.1.1

问题描述

我已经读过,只有当我的机器有自己的DNS服务器时,才能在我的/etc/resolv.conf文件中安装nameserver 127.0.1.1。既然没有,那就会引起问题。但无论我做什么,我都无法摆脱它!

以下是我到目前为止所做的事情:

  1. nameserver 192.168.1.3添加到/etc/resolvconf/resolv.conf.d/base文件中。 (192.168.1.3是我们网络的DNS)。

  2. 正在运行:sudo resolvconf --enable-updates

  3. 正在运行:sudo resolvconf -u

  4. 运行:sudo service network-manager restart(只是为了确保)。

然而,当我打开/etc/resolv.conf文件时,它说:nameserver 127.0.1.1!有谁知道什么是错的?

请注意,它实际上是127.0.1.1!我不知道为什么它不是127.0.0.1

即使我手动更新/etc/resolv.conf并将其更改为其他任何内容,sudo resolvconf -u也会将其恢复为127.0.1.1!这个地址来自哪里?

 

最佳解决思路

NetworkManager是(通过resolvconf实用程序)将地址127.0.1.1插入resolv.conf的程序。 NM插入仅在配置为启动dnsmasq程序的实例以用作本地转发名称服务器时才进行寻址。该dnsmasq实例侦听地址127.0.1.1处的查询。

如果您不想使用本地转发名称服务器,则将NetworkManager配置为不启动dnsmasq实例而不插入该地址。在/etc/NetworkManager/NetworkManager.conf中注释掉dns=dnsmasq

sudo nano /etc/NetworkManager/NetworkManager.conf

[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq

并重新启动NetworkManager服务。

sudo service network-manager restart

在此模式下,NetworkManager更新/etc/resolv.conf(仍然通过resolvconf)以包含NetworkManager用于活动连接的名称服务器地址。

如果要禁用resolvconf机制来更新resolv.conf并仅使用静态resolv.conf文件,请执行以下操作。

sudo rm -f /etc/resolv.conf  # Delete the symbolic link
sudo nano /etc/resolv.conf   # Create static file

# Content of static resolv.conf
nameserver 8.8.4.4
nameserver 8.8.8.8
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值