无法使用静态 IP 设置 DNS

无法使用静态 IP 设置 DNS

我正在运行 Ubuntu 13.04。

我卸载了 DHCP。

我将 IP 地址设置为 192.168.1.200,它工作正常。我可以通过其他互联网网络机器连接到它。

不过,我尝试将 DNS 设置/etc/network/interfaces为:

dns-nameservers 8.8.8.8 8.8.4.4

但那不管用。我prepend之前也试过了。

我尝试了resolve.confresolve.conf.d/headtailnameserver 8.8.8.8但是没有用。

每次编辑服务并尝试解析地址时,我都会重新启动每个服务,然后得到典型的结果unknown host www.google.com。我也重新启动了虚拟机(在 VirtualBox 中将其设置为桥接)。

我无法从存储库重新安装 DHCP,因为 DNS 不起作用。

有人能帮帮我吗?我非常沮丧。我尝试了在谷歌上能找到的所有解决方案。

答案1

如果您不想使用 DHCP 和/或希望 NetworkManager 忽略您想要手动管理的某些接口,只需通过 提供配置/etc/network/interfaces。然后 NetworkManager 将忽略该接口。请参阅

$ man interfaces

有关如何手动配置接口的更多信息。这是配置接口的模板文件(片段)eth0

auto eth0
iface eth0 inet static
  address 192.168.0.10
  netmask 255.255.255.0
  gateway 192.168.0.1
  dns-nameservers 8.8.8.8

显然,您需要更改 IP 地址。请注意,当且仅当接口成功启动时,最后一行才由resolconf(它是一个包/程序,我不是指文件)进行评估。您可以使用 检查接口是否启动。这应该在某处输出关键字和 IP。上面代码片段中的 表示路由器的 IP。使用命令 检查此 ip 是否出现在您的路由中。然后 ping 您的路由器。如果有效,那么您可以 ping 8.8.8.8。如果有效,请检查 DNS 是否正确出现在文件中。如果是,则检查您是否可以解析 DNS 名称。按这个顺序。如果中间出现问题,则不是 DNS 的问题。resolv.conf/sbin/ifconfigUPgatewayroute -n/etc/resolv.conf

如果您无法直接使用/etc/network/interfaces(包 ifupdown)获取此信息,并且想知道如何使用基本命令调出界面,请发表评论。

然后,您需要调查问题是如何开始的。您已经了解到,在得出通过该服务器解析 DNS 时出错的结论之前,您首先需要澄清您的机器能够 ping 8.8.8.8。如果一切正常,但解析器条目无法从 正确传输,/etc/network/interfaces那么/etc/resolv.conf请继续研究软件包的文档resolvconf

结论:

如果您依赖互联网连接,并且对如何手动配置接口经验不足,请不要卸载 dhcp 软件。启动接口涉及许多高级软件包,即 network-manager、ifupdown 和 resolvconf 等。哪个软件包的作用不明显。;)

答案2

这不是 DNS 的问题,而是 VM 的整体互联网连接的问题。

这应该是您通过主机向 VM 客户端提供网络连接的方式存在问题。请进一步探索可能的解决方案。如果只是 DNS 问题,您的 ping 操作将会成功。

尝试将虚拟机连接到 NAT,而不是桥接。查看连接是否正常。一旦连接到互联网,DNS 应该就可以正常工作。

相关内容