Linux Ubuntu一直在丢失resolv.conf设置?

Linux Ubuntu一直在丢失resolv.conf设置?,linux,ubuntu,Linux,Ubuntu,每次我重新启动ubuntu服务器时,它都会丢失名称服务器设置。我必须跑: echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf 每次我重新启动时,它都会重新正常工作 我试图直接编辑resolv.conf,但仍然无法正常工作 有什么建议吗?请编辑下面的文件,以便在每次重新启动时生效 这是resolve.conf中添加的resolve conf的头部部分 /etc/resolvconf/resolv.conf.d/head这是因为。如手册页所

每次我重新启动ubuntu服务器时,它都会丢失名称服务器设置。我必须跑:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf 
每次我重新启动时,它都会重新正常工作

我试图直接编辑resolv.conf,但仍然无法正常工作


有什么建议吗?

请编辑下面的文件,以便在每次重新启动时生效 这是resolve.conf中添加的resolve conf的头部部分

/etc/resolvconf/resolv.conf.d/head

这是因为。如手册页所述,它允许其他程序更改DNS解析程序配置。您的网络上可能有一台DHCP服务器,它为您的主机提供其IP地址和DSN服务器

您可以更改DHCP配置或强制resolv.confas@sahilKataria建议的第一行。使用您的命令:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolvconf/resolv.conf.d/head

在Ubuntu 18.04中,这是可行的:

Sudo rm /etc/resolv.conf
sudo echo "nameserver xxx.xxx.xxx.xxx" >> /etc/systemd/resolve/resolv.conf
sudo ln -s /etc/systemd/resolve/resolv.conf /etc/resolv.conf
但我认为更好的选择是编辑/etc/network/interfaces文件并正确配置系统,包括您需要的dns,例如:

auto lo
iface lo inet loopback 

auto enp0s3 
iface enp0s3 inet dhcp
dns-nameservers 8.8.8.8 8.8.4.4 
在本例中,前两行定义了本地接口,请勿触摸,第三行表示,当计算机同时启动网卡enp0s3时,您可以使用命令ifconfig-a查找网卡的名称,第四行告诉enp0s3卡侦听dhcp服务器并从那里获取网络配置所需的数据,最后一行告诉它要使用哪个dns。 如果您知道您的网络配置,它将始终是相同的,或者您没有dhcp服务器,则文件将如下所示:

    auto lo
    iface lo inet loopback 

    auto enp0s3 
    iface enp0s3 inet static
    address 10.10.5.67
    netmask 255.255.255.0
    gateway 10.10.5.1
    broadcast 10.10.5.255
    dns-nameservers 8.8.8.8 8.8.4.4 

另一种可能是配置netplan文件,这是从ubuntu 17.10 Artful管理网络的新默认模式。关于这个主题,我特别不喜欢它,但我知道它在复杂情况下的威力。

您可以通过编辑基本文件来保持设置

安装resolvconf:

sudo-apt-get-install-resolvconf 编辑/etc/resolvconf/resolv.conf.d/base:

sudo vi/etc/resolvconf/resolv.conf.d/base 添加您的名称服务器:

nameserver 8.8.8.8
启动resolvconf:

sudo/etc/init.d/resolvconf start 检查/etc/resolv.conf是否包含以下行:

nameserver 8.8.8.8

然后尝试重新启动服务器并再次检查/etc/resolv.conf。

编辑网络计划文件。例如:

sudo vim/etc/netplan/00-installer-config.yaml 这是“subiquity”编写的网络配置 网络: 以太网络: enp0s31f6: dhcp4:使用DHCP时为true dhcp4覆盖:覆盖DHCP 使用dns:false禁用DHCP dns 路线: -致:x.x.x.x/24 via:x.x.x.x 公制:100 -致:x.x.x.x/24 via:x.x.x.x 公制:100 名称服务器:名称服务器部分 搜索:[somename.ddns.net]设置名称服务器搜索 地址:[x.x.x.x]设置您的DNS服务器 版本:2 完成后,运行:

网络计划应用 并确保您具有以下功能:

$ ls -ltra /etc/resolv.conf 
/etc/resolv.conf -> /run/systemd/resolve/stub-resolv.conf
如果bind安装在同一台机器上:

$ cat /etc/hosts
127.0.1.1       somename.ddns.net somename # example
bind-ipaddress  somename.ddns.net somename # example

运行Ubuntu17.10,这个解决方案不再适用于我。出于某种原因,/etc/resolv.conf总是被127.0.1.1覆盖,这在我的世界中是无用的。因此,我必须在每次重新启动时手动编辑/etc/resolv.conf,即使是通过systemd resolve-status显示,除了ubuntu的最新更新之外,没有任何问题。我真的不想安装“unbound”来阻止这种情况发生。是的,Ubuntu的新版本在systemd中使用了嵌入式DNS解析器,所以resolv.conf总是指向127.0.1.1。