运行hostname -A
报告两个主机名:一个不正确的主机名,甚至无法解析到我的服务器,另一个是正确的主机名。
$ hostname -A
notmyhostname.notmydomain.com myhostname.mydomain.com
不正确的方法会扰乱 xauth 等其他工具。我grep -r
编辑 /etc 来尝试查找该值的存储位置,但找不到它。
这些存储在哪里以及如何修复第一个主机名值?
答案1
额外的主机名来自 DNS .in-addr.arpa IP 地址查找(通常称为“反向 DNS”,它将 IP 地址映射到主机名)。也许/etc/hosts
。
从man hostname
:
-A, --all-fqdns
显示计算机的所有 FQDN。此选项枚举所有配置的网络接口上的所有配置的网络地址,并将它们转换为 DNS 域名。无法转换的地址(即因为它们没有适当的反向IP 条目)将被跳过。请注意,不同的地址可能解析为相同的名称,因此输出可能包含重复的条目。不要对输出的顺序做出任何假设。
特别注意这句话此选项枚举所有配置的网络接口上的所有配置的网络地址
因此,要找出notmyhostname.notmydomain.com
来自何处,请生成所有接口上所有 IP 地址的列表,并对每个接口进行反向 DNS 查找:
ip addr | awk '/inet/ {gsub(/\/.*/,"") ; print $2}' | xargs -n 1 host
这将查找 ipv6 和 ipv4 地址。如果您只需要 ipv4,请在“inet”后添加一个空格,例如
awk '/inet / ...' ...
顺便说一句,很可能是您的 ISP 或托管提供商(或其上游)或拥有您的 IP 子网.in-addr.arpa
或域的任何人。.ip6.arpa
他们将为您的 IP 添加反向 DNS 条目。