我有几个运行 Centos 6 的测试系统,我想试试 Centos 7。除了所有明显的差异(没有 iptables,没有 ifconfig)之外,还有一件事让我很困惑。在 centos 6 上,我的主机名如下所示:
# hostname
centos6
在 centos 7 上,我的主机名需要如下所示:
# hostname
centos7.fqdn.foo
如果我将主机名设置为简单的centos7
,这会导致 DNS 问题,并且我只能解析外部地址,例如 google.com,但无法解析来自内部 DNS 服务器的内部主机名。由于我的 centos6 机器似乎不需要这个“笨重”的主机名,我想知道版本之间是否有变化,或者我只是忽略了 centos 6 上所做的某些配置(例如网络配置中的 DOMAIN 变量或类似的东西),而 centos 7 机器上缺少这些配置。
同样令我困惑的是,在 centos 7 机器上,这个命令有效:
# ping centos6
PING centos6.fqdn.foo (192.168.1.15) 56(84) bytes of data.
64 bytes from centos6.fqdn.foo (192.168.1.15): icmp_seq=1 ttl=64 time=0.399 ms
因此显然 ping 命令可以将短主机名转换为长主机名,但是当我尝试使用 nslookup 执行相同操作时:
# nslookup centos6
;; Got SERVFAIL reply from 192.168.1.11, trying next server
短主机名显然不够用。使用 nslookup 的 FQDN 就可以了。
我假设这里的问题是,一旦我的 centos 7 盒子离开域fqdn.foo
,DNS 就会崩溃。我只是不明白为什么,以及为什么在 centos 6 上似乎不是这种情况。
编辑这可能很简单,只需运行nmtui
并确保 DNS 和搜索都填写了正确的以太网适配器即可。我几乎确信我之前做过这件事,但也许我忘了做service network restart
,谁知道呢。无论如何,它现在起作用了。
答案1
查看 /etc/resolv.conf,确保在搜索指令中包含您希望考虑用于非 FQDN 名称的内部域名后缀。然后,您应该能够轻松使用所需的简单主机名。
我不认为这是 Centos 版本之间的差异。