本指南详细讲解CentOS 7两台主机实现主机名相互通信的配置方法,核心步骤包括:修改两台机器的hostname文件,并在/etc/hosts中添加IP与主机名映射,最后重启网络服务验证连通性,此配置能有效解决IP直连繁琐的问题,实现便捷的主机间访问。
在 Linux 系统管理中,直接使用 IP 地址进行管理虽然可行,但往往比较繁琐且容易出错,通过配置主机名(Hostname)来互相通信,不仅能提高可读性,还能方便后续的脚本维护和集群部署。
本文将详细介绍如何在两台 CentOS 7 系统中配置主机名,并确保它们能够通过主机名互相访问。
准备工作
假设我们有两台虚拟机或物理机,环境信息如下:

- 主机 A (Server 1):
- IP 地址:
168.1.10 - 当前主机名:
localhost.localdomain
- IP 地址:
- 主机 B (Server 2):
- IP 地址:
168.1.11 - 当前主机名:
localhost.localdomain
- IP 地址:
修改主机名
为了方便区分,我们首先将两台机器的主机名修改为有意义的名称。
在主机 A 上执行:
hostnamectl set-hostname node1
在主机 B 上执行:
hostnamectl set-hostname node2
(注意:修改后建议执行 reboot 重启系统,或者执行 bash 重新加载配置以使新主机名立即生效。)
配置主机名解析
这是最关键的一步,为了让主机 A 能通过主机名 node2 找到主机 B,我们需要在两台机器的 /etc/hosts 文件中添加 IP 映射关系。
/etc/hosts 文件充当了本地 DNS 解析器的作用。
在主机 A 上配置:
编辑 /etc/hosts 文件,添加主机 B 的 IP 和主机名映射。
vi /etc/hosts
在文件末尾添加以下两行(第一行映射本机,第二行映射对方):
168.1.10 node1 192.168.1.11 node2
在主机 B 上配置:
同样编辑 /etc/hosts 文件,添加主机 A 的 IP 和主机名映射。
vi /etc/hosts
添加以下两行:
168.1.10 node1 192.168.1.11 node2
验证通信
配置完成后,我们可以通过以下命令验证两台主机是否能够通过主机名通信。
测试 Ping:
-
在主机 A 上,尝试 Ping 主机 B 的主机名:
ping node2
如果能收到回复,说明网络层通。
-
在主机 B 上,尝试 Ping 主机 A 的主机名:
ping node1
测试 SSH 连接:
如果两台机器都开启了 SSH 服务,我们可以直接使用主机名进行 SSH 登录,而无需输入 IP 地址。
- 在主机 A 上 SSH 登录主机 B:
ssh root@node2
系统会提示是否继续连接,输入
yes并输入密码即可。
常见问题排查
如果配置完成后无法通过主机名通信,请检查以下几点:
- IP 地址是否正确: 确保编辑
/etc/hosts时填写的 IP 地址与实际网卡 IP 一致。 - 主机名是否一致: 确保两台机器设置的主机名拼写完全一致(区分大小写)。 3

