尝试更改 Ubuntu-13.04 服务器的名称服务器设置时我遇到了这种情况!
在/etc/网络/接口:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.254
dns-nameservers 10.1.1.20, 8.8.8.8
dns-search null.local
/etc/resolv.conf:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.1.1.20
nameserver 8.8.8.8
search null.local
…所以我不得不更改 DNS 地址…
dns-nameservers 10.1.1.21 10.1.1.22
…然后回收 eth0 以便网络配置重建自身:
~$ sudo ifdown eth0 && sudo ifup eth0
但这是我得到的 /etc/resolv.conf:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 172.31.0.5
nameserver 10.1.1.21
nameserver 10.1.1.22
search wth.local null.local
仅供参考,172.31.0.5 位于“邻居”网络中,显然是“wth.local”域的 DNS/DHCP 服务器,我无法访问该域,而该域在我这边“泄漏”了信息!(这种情况是暂时的,但目前必须保持这种状态)
我无法解释并希望理解的是为什么?为什么如果我专门配置静态接口,DHCP 进程就会出现并干扰 DNS?这是一台服务器,我在另外两台服务器上进行了相同的更改,没有任何问题。
答案1
找到了!
由于 Ubuntu 服务器在安装时通过 DHCP 自动配置,因此它会创建/run/resolvconf/interface/eth0.dhclient
包含有关域的信息的文件wth.local
:
domain wth.local
nameserver 172.31.0.5
配置静态 IP 不会删除该文件,当您使用以下命令重新启动网络时:
~$ sudo ifdown eth0 && sudo ifup eth0
,DNS 处理程序resolv.conf
使用eth0.dhclient
和eth0.inet
文件重建其文件!
我的猜测是,在我之前的 SA 没有费心去编辑文件resolv.conf
;我在 3 台服务器上的 1 台上遇到了这个问题,我以为这是一个错误,13.04
但是我在全新安装后复制了同样的问题14.04
...
案子结了!