Ubuntu 不断丢失 resolv.conf 设置?



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

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

每次我重新启动时,它都可以再次正常工作。

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

有什么建议吗?

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

/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 管理网络的新默认模式。在这里,您可以看到有关该主题的更多信息,特别是我不喜欢它,但我知道它在复杂情况下的强大功能。

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

安装 resolvevconf:

sudo apt-get install resolvconf

编辑/etc/resolvconf/resolv.conf.d/base

sudo vi /etc/resolvconf/resolv.conf.d/base

添加您的域名服务器:

nameserver 8.8.8.8

Start resolvevconf:

sudo /etc/init.d/resolvconf start

检查/etc/resolv.conf是否包含以下行:

nameserver 8.8.8.8

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

发生这种情况是因为resolvconf.如手册页所述,它允许其他程序更改 DNS 解析程序配置。网络上可能存在一个 DHCP 服务器,它正在为主机提供其 IP 地址和 DSN 服务器。

您可以按照建议更改 DHCP 配置或强制@sahilKatariaresolv.conf的第一行。使用您的命令:

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

编辑您的网络计划文件。 例:

sudo vim /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
enp0s31f6:
dhcp4: true # Using DHCP
dhcp4-overrides: # Override DHCP
use-dns: false # Disable DHCP DNS
routes:
- to: x.x.x.x/24
via: x.x.x.x
metric: 100
- to: x.x.x.x/24
via: x.x.x.x
metric: 100
nameservers: # Name Server section
search: [somename.ddns.net] # Set your nameserver search
addresses: [x.x.x.x] # Set your DNS Server
version: 2

完成后,运行:

netplan apply

并确保您拥有以下内容:

$ 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

最新更新