将服务器升级到 12.04 DNS 不再工作

Pie*_*ter 5 dns home-server

我无法按名称 ping/访问任何网站/服务(例如 ping google.com)。

我可以通过在 /etc/resolv.conf 中将 127.0.0.1 更改为我的路由器来临时解决此问题,但是该文件被覆盖了。

我怎样才能永久解决这个问题?

需要明确的是,我不需要 DNS 服务器,我只希望我的服务器能够使用来自 DHCP 的 DNS。

One*_*ero 6

                                        在 Ubuntu 12.04(精确穿山甲)中设置静态 DNS 服务器

sudo nano /etc/dhcp/dhclient.conf
Run Code Online (Sandbox Code Playgroud)

然后将突出显示的行更改为

prepend domain-name-servers x.x.x.x, y.y.y.y;
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

利比里亚人


Ubuntu 12.04 改变了 DNS 设置的处理方式。与其将名称服务器添加到 /etc/resolv.conf,不如将它们添加到 /etc/network/interfaces。

编辑/etc/network/interfaces,查找您的主要以太网设备(例如 eth0),然后在您的主要以太网设备下添加以下行:

dns-nameservers 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

然后重新启动您的网络:

/etc/init.d/networking restart
Run Code Online (Sandbox Code Playgroud)

虚拟最小


Pie*_*ois 3

我用另一种方式解决了这个问题,因为我的印象是上面的解决方案正在做没有要求的事情,即实现 dhcp 服务器。

我删除了bind9和dhcp3-server

sudo aptitude remove bind9 dhcp3-server
Run Code Online (Sandbox Code Playgroud)

并重新启动网络

sudo /etc/init.d/networking restart
Run Code Online (Sandbox Code Playgroud)

我还更改了文件/etc/NetworkManager/NetworkManager.conf。其内容如下所示:

[main]
plugins=ifupdown,keyfile
dns=dnsmasq

[ifupdown]
managed=true
Run Code Online (Sandbox Code Playgroud)

修改此文件后,我必须重新启动网络管理器服务:

sudo service network-manager restart
Run Code Online (Sandbox Code Playgroud)

现在dhcp客户端似乎将dns服务器设置为dhcp提供的dns服务器。