我正在运行 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.conf
和resolve.conf.d/head
和tail
,nameserver 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/ifconfig
UP
gateway
route -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 应该就可以正常工作。