在 CentOS 6 服务器中,hostname 命令显示名称,但在 Actiontech 路由器的“PC NAME”字段中,它显示 IP 地址。如何确保 CentOS 服务器正在传达实际的主机名?
Mac Mini 和 Raspberry Pi 2 的“PC NAME”字段中正确显示了主机名。
我应该提一下 CentOS 的 IP 地址是静态的。这有关系吗?
答案1
我应该提一下 CentOS 的 IP 地址是静态的。这有关系吗?
是的。DHCP 客户端在 DHCP 协商过程中传达其名称。事实上,/etc/dhcp/dhclient.conf 的前两行(在 Debian 上,我不知道在 CentOS 上在哪里,但这没什么区别)是:
#send host-name "andare.fugue.com";
send host-name = gethostname();
使用静态 IP 配置不需要进行这样的交换:静态机器已经拥有所有知识(地址、网络、掩码、网关、DNS 服务器)并且不需要与路由器进行交换。
只有 Windows 计算机才会广播其计算机名称,该名称通常与其主机名相同,但不一定相同。如果您的 CentOS 计算机上有 Samba 服务器,则可以执行相同操作。
我认为最好的解决方案是建立一个保留地址:许多路由器允许您从其子网中选择一个固定 IP 地址,仅分配给由其 MAC 地址标识的特定机器。这类似于 DHCP,只不过给定的机器是唯一获得该 IP 地址的机器。但与 DHCP 类似,PC 的名称会提供给路由器,因此可以由本地 DNS 服务器(如果有)解析。