我正在运行 RHEL 6.5。我的机器从我们的 DHCP 服务器获取 IP 地址。我遇到了这种奇怪的行为,机器显然会向 DNS 服务器查询分配给它的 IP 的 PTR 条目,并将其主机名设置为 DNS 中的任意内容。
如果我注释掉 PTR 条目,它将获取 localhost.localdomain 作为主机名。如果我有 DHCP 固定分配具有不同 PTR 条目的 IP 地址,它将选择该条目的主机名作为其主机名。但是,如果我将 /etc/sysconfig/networks 设置为 localhost.localdomain 以外的任何值,它将选择使用该值作为其主机名。
这是否应该发生?是否有可能阻止它以使其保持为 localhost.localdomain?
答案1
However, if I set /etc/sysconfig/networks to anything other than localhost.localdomain, it will pick use that value as it's hostname.
...这就是它应该如何工作。如果你仔细查看,/etc/sysconfig/network-scripts/network-functions
你会看到以下内容:
need_hostname ()
{
CHECK_HOSTNAME=$(hostname)
if [ "$CHECK_HOSTNAME" = "(none)" -o "$CHECK_HOSTNAME" = "localhost" -o \
"$CHECK_HOSTNAME" = "localhost.localdomain" ]; then
return 0
else
return 1
fi
}
所以是的,如果你将它更改为 localhost.localdomain 以外的任何内容,它都会起作用。如果你确实需要它保留本地主机.本地域名由于某些奇怪的原因,编辑该功能(并记住如果/当文件通过包更新时再次执行此操作)。