我知道您可以通过在 dnsmasq.conf 中执行以下操作来分配静态 DNS 条目名称:
address=/wiki.leerdomain.lan/192.168.1.200
ptr-record=wiki.leerdomain.lan/192.168.1.200
然后使用 DHCP 使用相关机器的 mac 地址分配静态 IP 地址(请参阅下面 OpenWRT 的 UCI 配置):
config host
option name 'wiki.leerdomain.lan'
option mac 'xx:xx:xx:xx:xx:xx'
option ip '192.168.1.200'
但是,如何使用选项 DHCP 选项 12 设置 Linux 机器的主机名?(或者我已经用第二个片段这样做了?)
我希望有问题的机器能够运行命令hostname
并接收选项 12 分配的主机名。
在 Dnsmasq 中,如果您可以直接编辑配置文件,则可以为 dhcp 客户端指定主机名,如下所示:
dhcp-host=f8:da:0c:0a:af:c9,192.168.1.222,SpecialMachine,30d
这将为客户端分配 MAC 地址
f8:da:0c:0a:af:c9
IP 192.168.1.222、主机名“SpecialMachine”和 30 天的 DHCP 租用时间。[道歉。代替删除这篇文章,我想,最好解释一下,就我而言,我想要完成的是确保设备主机名按照我的意愿显示在我的路由器中。我没有验证设备是否确实更改了它的主机名]。
如果我没有正确理解问题,并且您希望将主机名从 dnsmasq DHCP 服务器分配给客户端,那么在大多数 Linux 发行版上,dhclient 默认发送主机名。
您可以使用以下选项确认您的客户端是否将其主机名发送到 dhclient.conf 中的 DHCP 服务器
send host-name
:您可以通过注释该行并确保您已为 dnsmasq 中的每个主机分配主机名来获得所需的内容,以便客户端获得一个。您可能必须将它们加载到 /etc/hosts 或服务器的等效源中。