Я знаю, что вы можете назначить имена статических записей DNS, выполнив в dnsmasq.conf следующее:
address=/wiki.leerdomain.lan/192.168.1.200
ptr-record=wiki.leerdomain.lan/192.168.1.200
а затем назначить статический IP-адрес с использованием MAC-адреса рассматриваемой машины с использованием DHCP (см. конфигурацию UCI из OpenWRT ниже):
config host
option name 'wiki.leerdomain.lan'
option mac 'xx:xx:xx:xx:xx:xx'
option ip '192.168.1.200'
Однако как тогда я могу установить имя хоста машины Linux с опцией DHCP 12? (или я уже делаю это со вторым фрагментом?)
Я ожидаю, что рассматриваемая машина сможет запустить команду hostname
и получите имя хоста, назначенное опцией 12.
Если я правильно понял вопрос, и вы хотите назначить имена хостов от DHCP-сервера dnsmasq клиентам, в большинстве дистрибутивов Linux dhclient по умолчанию отправляет имя хоста.
Вы можете подтвердить, отправляют ли ваши клиенты свое имя хоста на DHCP-сервер в dhclient.conf, с помощью send host-name
вариант:
$ cat /etc/dhcp/dhclient.conf | grep send
send host-name = gethostname();
Вы можете получить то, что хотите, прокомментировав эту строку и убедившись, что вы назначили имена хостов для каждого хоста в dnsmasq, чтобы клиенты получили его. Возможно, вам придется загрузить их в / etc / hosts или аналогичный источник для вашего сервера.
В 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 и срок аренды DHCP 30 дней.
[Извинения. Я решил, что вместо удаления этого сообщения лучше всего объяснить, что в моем случае я хотел добиться, чтобы имя хоста устройства отображалось в моем маршрутизаторе так, как я этого хотел. Я не проверял, действительно ли устройство изменило имя хоста].