每次我重新启动我的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