У меня странная проблема с моим isc-dhcpserver (Ubuntu 16.04).
Когда клиенты запрашивают с сервера, я вижу следующий вывод в / var / log / syslog:
Jun 21 21:41:25 drake dhcpd[265]: DHCPREQUEST for 192.168.0.113 (192.168.0.254) from ea:25:63:d9:6c:10 (webdev) via eth1
Jun 21 21:41:25 drake dhcpd[265]: DHCPACK on 192.168.0.113 to ea:25:63:d9:6c:10 (webdev) via eth1
/var/lib/dhcp/dhcpd.leases для этой аренды выглядит так:
lease 192.168.0.113 {
starts 3 2017/06/21 19:41:25;
ends 4 2017/06/22 01:41:25;
cltt 3 2017/06/21 19:41:25;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet ea:25:63:d9:6c:10;
client-hostname "webdev";
Теперь давайте сделаем его статическим DHCP: /etc/dhcp/dhcpd.conf:
host webdev {
hardware ethernet ea:25:63:d9:6c:10;
fixed-address 192.168.0.220;
}
Вывод из / var / log / syslog без имени хоста клиента:
Jun 21 22:37:37 drake dhcpd[1627]: DHCPDISCOVER from ea:25:63:d9:6c:10 via eth1
Jun 21 22:37:37 drake dhcpd[1627]: DHCPOFFER on 192.168.0.220 to ea:25:63:d9:6c:10 via eth1
Jun 21 22:37:37 drake dhcpd[1627]: DHCPREQUEST for 192.168.0.220 (192.168.0.254) from ea:25:63:d9:6c:10 via eth1
Jun 21 22:37:37 drake dhcpd[1627]: DHCPACK on 192.168.0.220 to ea:25:63:d9:6c:10 via eth1
Есть ли способ заставить dhcp-сервер отображать имя хоста клиента в файле журнала, даже если MAC-адрес связан со статическим IP-адресом?
Я действительно думаю, что делал это раньше ... Насколько я помню, когда-то это работало на моем старом Slackware-сервере.
На сервере isc-dhcpserver работает сервер Ubuntu 16.04 с примененными последними обновлениями.
Попробуйте использовать функцию журнала. Я нашел пример на Списки рассылки ISC: Статические клиенты: как регистрировать имена хостов и создавать записи об аренде? Добавьте в глобальный раздел конфигурационного файла dhcpd:
on commit {
if (static){set isst = "static";} else {set isst = "dynamic";}
log (info, concat ("COMMIT IP,", binary-to-ascii (10,8,".",leased-address),
",MAC,", suffix (concat ("0", substring(binary-to-ascii (16, 8, ":",hardware), 2, 17)),17),
",hostname,", option host-name,
",host-decl-name,", pick-first-value(host-decl-name, "(none)"),
",dhcp-client-identifier,",pick-first-value(binary-to-ascii(16,8,"",option dhcp-client-identifier),"(none)"),
",vendor-class-identifier,", pick-first-value(option vendor-class-identifier, "(none)"),
",agent.remote,", pick-first-value(option agent.remote-id, "(none)"),
",agent.circuit,", pick-first-value(option agent.circuit-id, "(none)"),
",leasetime,", binary-to-ascii (10,32,"",encode-int (lease-time,32)),
",asstype,", isst)
);
}
Но dhcp-client должен отправлять в DHCPREQUEST или DHCPDISCOVER свое имя-клиент-хоста в качестве опции 12. Не все dhcp-клиенты делают это по умолчанию.