无法更改 resolv.conf(尝试过其他答案)

无法更改 resolv.conf(尝试过其他答案)

似乎我无法更改resolv.conf:重启或禁用/启用 Wi-Fi 后更改将被重置。它包含nameserver 127.0.0.1,我无法连接到任何网站。当我手动将其更改为时nameserver 8.8.8.8,一切正常。

我尝试过的:

  1. 正在更改/etc/resolvconf/resolv.conf.d/base。目前它包含

    nameserver 8.8.8.8 
    nameserver 8.8.4.4
    
  2. 編輯/etc/dhcp/dhclient.conf

    它有线条

    request subnet-mask, broadcast-address, time-offset, routers,
            dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers, netbios-scope,
            interface-mtu,rfc3442-classless-static-routes, ntp-servers, 
            domain-name-servers, dhcp6.name-servers, netbios-name-servers;
    

    我删除了最后三行,添加了一行

    prepend domain-name-servers 8.8.8.8, 8.8.4.4;
    

    然后就跑了/etc/init.d/networking restart,但是也没什么帮助。

答案1

安装解析配置sudo apt-get install resolvconf完成后编辑/etc/resolvconf/resolv.conf.d/base并将您的名称服务器放入其中:

nameserver 8.8.8.8 
nameserver 8.8.4.4

完成后,运行sudo resolvconf -u

这样就可以了,或者,你可以使用“解决方法”(我会不是除非必须这样做),然后编辑/etc/rc.local并输入以下两行:

echo 8.8.8.4 >> /etc/resolv.conf
echo 8.8.8.4 >> /etc/resolv.conf

这会将行附加到,/run/systemd/resolve/stub-resolv.conf因为/etc/resolv.conf是到的符号链接/run/systemd/resolve/stub-resolv.conf

但为了运行它,该/etc/rc.local文件必须具有正确的内容+权限:

-rwxr-xr-x 1 root root 658 Feb 11 17:31 /etc/rc.local

如果您的不存在(并且我也不希望它存在),请使用以下内容创建一个,并确保按如上所示更改权限:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

echo 8.8.8.4 >> /etc/resolv.conf
echo 8.8.8.4 >> /etc/resolv.conf

exit 0

我希望这有帮助。

仅供记录:

tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=1637540k,mode=755

/run这意味着一旦您重新启动系统tmpfs,对任何路径所做的任何更改都/run将被消除。

相关内容