我尝试通过以下命令从 fedora 机器的 localhost.localdomain 更改我的主机名
hostnamectl set-hostname example.com --static
之后我重启了网络。但是当我尝试 ping example.com 时,它没有映射到机器的本地 ip 地址。我的电脑位于路由器后面,私有地址为 192.168.1.2。
我检查了 /etc/hostname 是否已正确更新,但 /etc/hosts 仍然有以下条目
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
如何更改主机名以便它映射到本地 IP?
附言:我尝试重新启动机器,但没有帮助。
答案1
ping 使用 DNS 而不是本地主机名来解析 example.com 的 IP 地址。您需要在 DNS 中设置 IP 地址。
您可以在本地计算机上执行此操作,方法是example.com
在 /etc/hosts 中添加 127.0.0.1 和 ::1 行。这将使 DNS 将 example.com 解析为 127.0.0.1 (IPv4) 或 ::1 (IPv6)。您还需要确保在 /etc/nsswitch.conf 中,单词files
出现在 之前dns
,以便主机上的 IP 解析首先查看 /etc/hosts,然后再转到 DNS。
如果您希望更改在全球范围内生效,则需要在 DNS 提供商处添加 DNS A 记录,将您的公共 IP 地址与 example.com 关联。