Я использую 2 коробки с isc-dhcp-server 4.2.4-7ubuntu12.8, и когда один из них выдает аренду, это выглядит так:
lease 192.168.56.228 {
starts 3 2017/03/29 02:17:31;
ends 4 2018/03/29 02:17:31;
tstp 4 2018/09/27 14:17:31;
tsfp 4 2018/09/27 14:17:31;
atsfp 4 2018/09/27 14:17:31;
cltt 3 2017/03/29 02:17:31;
binding state active;
next binding state expired;
hardware ethernet 08:00:27:84:32:e3;
client-hostname "craig-ubuntu1604";
}
Однако в копии договора аренды у партнера нет строки client-hostname. Должен ли он? Если да, как я могу настроить вещи, чтобы они делились этим? Или что я делаю не так?
Посмотрев на код isc-dhcp-server, похоже, что имя хоста в аренде устанавливается в строке:
memcpy (lt -> client_hostname, d1.data, d1.len);
В функции ack_lease dhcp.c. И хотя оба DHCP-сервера, вероятно, ПРЕДЛАГАЮТ аренду, клиент ЗАПРОСИТ аренду только у одного из них, а ACK приходит только с того сервера, с которого клиент запрашивает аренду. Так что это ожидаемое поведение. Кто-то в IRC-канале ISC предположил, что это связано с тем, что одноранговому узлу не нужно заботиться об имени хоста.