如何从DHCP服务器获取主机名

分享于 

3分钟阅读

ubuntu

  繁體

问题

我希望Ubuntu从DHCP客户端获取主机名和DNS名称。


答案1

有一种方法可以做到这一点,有一个dhcp hook小脚本,在这里

创建新文件:


sudoedit /etc/dhcp/dhclient-exit-hooks.d/hostname



并粘贴以下代码:


#!/bin/sh


# Filename: /etc/dhcp/dhclient-exit-hooks.d/hostname


# Purpose: Used by dhclient-script to set the hostname of the system


# to match the DNS information for the host as provided by


# DHCP.


#



# Do not update hostname for virtual machine IP assignments


if ["$interface" !="eth0" ] && ["$interface" !="wlan0" ]


then


 return


fi



if ["$reason" != BOUND ] && ["$reason" != RENEW ] 


 && ["$reason" != REBIND ] && ["$reason" != REBOOT ]


then


 return


fi



echo dhclient-exit-hooks.d/hostname: Dynamic IP address = $new_ip_address


hostname=$(host $new_ip_address | cut -d ' ' -f 5 | sed -r 's/((.*)[^.]).?/1/g' )


echo $hostname > /etc/hostname


hostname $hostname


echo dhclient-exit-hooks.d/hostname: Dynamic Hostname = $hostname



eth0wlan0替换为要从中获取主机名的接口的名称,在大多数情况下,eth0wlan0应该保持不变。

确保它可读。


chmod a+r /etc/dhcp/dhclient-exit-hooks.d/hostname



就这样,在下一个dhcp响应上,你的主机名会自动更新,


答案2

你可以从DHCP服务器获取主机名-它是DHCP规范的一部分。

https://tools.ietf.org/html/rfc1533#section-3.14


答案3

可以通过编辑网络管理器连接(字段称为DHCP客户端ID )更改发送的名称,也可以编辑(作为root )/etc/dhcp/dhclient.conf,查找以下行:


send host-name"<hostname>";



<hostname>改成你喜欢的。

这在Ubuntu中称为Ahavi或Zeroconf,它默认安装。

现在应该能够通过<hostname>.local访问你的计算机


答案4

DHCP服务器发送主机名


option host name 'client1' 



DHCP客户端需要DHCP服务器的主机名(通过添加

request host-name

在dhclient.conf中)

客户端没有获得新的主机名(通过键入

 
hostname




Server  network  HOST  网络  Hostname  DHCP  
相关文章