我在同一台笔记本电脑和同一个 VirtualBox 上安装了三个 Linux,这是我使用 DNS 的成功率:
- HortonWorks 和 CentOS。工作了 5 分钟,之后就再也没有出现过这种情况。从头开始重新安装 VM 映像也没有帮助。
- Talend、MapR 和 CentOS。工作了几天还不错,然后就停止工作了。首先,除了 Firefox 之外,它在所有地方都停止工作,几个小时后,Firefox 也停止工作。我知道 Firefox 有自己的 DNS 缓存,所以我想它会缓存 DNS 服务器名称或类似的内容一段时间,甚至对于我从未浏览过的网站也有效。
- Cloudera 和 RHEL/RedHat 一直都能完美运行(有这个问题,但还有其他一些问题)。
然后/etc/hosts
维护工作也不同:
- HortonWorks CentOS - 工作正常,没有任何问题。尽管存在 DNS 问题,这是我完成任务的唯一方法。
- Talend CentOS - 它立即重置文件。当我用 vi 更新文件时,当我要保存更改时,vi 抱怨有人已经更改了文件。而“某人”在那里所做的就是这个“好”服务不断地将其恢复。
我还没有尝试使用 Talend CentOS 恢复到之前的快照,因为我希望首先了解我做错了什么,这样我就不会重复同样的错误并再次破坏 DNS 服务。这是假设存在一些关于何时被破坏以及何时起作用的逻辑。
我正在使用唯一适用于 VirtualBox 网络设置的选项:NAT。是的,我确实尝试将其关闭然后再次打开以修复它。当 Windows 主机获得新的网络地址(=每天早上)时,这有助于解决偶尔出现的问题。
设置中 DHCP 客户端 ID 为空,因此应该是默认值:
/sbin/dhclient -d -4 -sf /usr/libexec/nm-dhcp-client.action -pf /var/run/dhclient-eth0.pid -lf /var/lib/dhclient/dhclient-13e5cc85-010e-45e6-0000-f9b4015d5abc-eth0.lease -cf /var/run/nm-dhclient-eth0.conf eth0
DHCP 设置(系统偏好设置 --> 网络连接 --> 系统 eth0 --> 编辑... --> IPv4 和 IPv6)默认设置为(完全)自动。我还测试了使用从(在 Windows 主机中)/etc/hosts
找到的 localhost IP 地址、DNS 和网关ipconfig -all
以及网络掩码 255.255.255.0进行设置。但这没有帮助。
如果我终止 DHCP kill 20610
,则 DNS 可能会工作 10 分钟,直到再次失败。
我找到了线索。当 DNS 正常工作时,/etc/resolv.conf
文件内容是
# Generated by NetworkManager
search local
# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com
当 DNS 损坏时,同一个文件就会
nameserver 8.8.8.8
谷歌搜索后发现,这是谷歌自己的 DNS 服务器,通常用作备用 DNS 服务器。因此,无论出于何种原因,某些服务决定使用该地址作为 DNS 服务器,但这在我的 Windows 主机上也不起作用。显然是被我工作的公司屏蔽了。
将此讨论复制/移动到 CentOS 站点: https://www.centos.org/forums/viewtopic.php?f=16&t=47539&p=202100#p202100