要在 CentOS 上通过 DHCP 自动设置主机名,请按照以下步骤操作:
sudo yum install dhclient
/etc/dhcp/dhclient.conf
文件,以便在获取 DHCP 服务器响应时执行主机名设置脚本。您可以使用任何文本编辑器(如 vi 或 nano)完成此操作。这里我们使用 nano:sudo nano /etc/dhcp/dhclient.conf
/bin/hostname
命令设置主机名,但您可以根据需要使用其他命令。request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-search, host-name, netbios-scope;
例如,要将主机名设置为与系统的 MAC 地址相关联的唯一标识符,请使用以下行:
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-search, host-name, netbios-scope;
request interface-id, mac-address;
保存并关闭文件。
/etc/dhcp/set_hostname.sh
的脚本,并将以下内容粘贴到其中:#!/bin/bash
# 从 DHCP 响应中获取主机名
hostname=$(cat /var/lib/dhcp/dhclient.leases | grep -w $new_mac | cut -d ' ' -f 2)
# 设置主机名
sudo hostnamectl set-hostname $hostname
确保将 new_mac
替换为从 DHCP 响应中实际获取的 MAC 地址变量。您可以通过编辑 dhclient.conf 文件中的 request interface-id, mac-address;
行来提取 MAC 地址。
sudo chmod +x /etc/dhcp/set_hostname.sh
script /etc/dhcp/set_hostname.sh
sudo systemctl restart dhclient
现在,每当您的 CentOS 系统从 DHCP 服务器获取 IP 地址时,它都会自动设置一个基于其 MAC 地址的唯一主机名。