Привет.
Проблема: есть ubuntu сервер c isc-dhcpd-4.1-ESV-R4, есть клиенты win7, которые получают по tftp загрузчик по сети (без этого загрузчика винда не загрузится с ошибкой доступа к диску) и после старта os получают ip адрес по dhcp. В итоге на один мак адрес мы получаем 2 занятых ip.
Есть хосты, для которых прописан статический ip адрес, либо на самой машине, либо на dhcp сервере с помощью инструкций host. Из документации извесно, что сервер при запросе DHCPDISCOVER пытается выдать адрес из пула свободных адресов, если в пуле адреса закончились, то он обращается к черному списку (адреса, которые вернулись с статусом Abandoning IP address). Проблема в том, что при загрузке по tftp, клиенты опрашивает dhcp сервер 6 или 7 раз, не суть, а в черном списке больше 20 адресов. В итоге после 6 опросов клиент выводит ошибку, что ip адрес он не получил.
При этом в dhcpd.leases есть записи адресов с статусом binding state free;, но фактически переход в статус свободных происходит если ip адресов в черном списке мало или где-то после 30 - 40 дней.
вопросы:
1) Как можно выдавать адреса исключительно по маку и не через директиву host. Т.е. вместо uid использовать сугубо мак адрес.
2) Как можно удалить адреса из черного списка, чтобы dhcp сервер не считал, что они свободные.
Возможные решения:
1) Изменить маску сети или вообще сеть. Не очень хочется, много где прописана, вылезут косяки.
2) Сделать так, чтобы выдача адресов начиналась не с 2, а с 50. Серверы со статическими ip прописать в диапазон от 2 до 50. Этот вариант не подходит, так как нужно следить за адресами и разработчики могут ставить статические ip сами. Сейчас если и ставят, то тот же, что им dhcp раздал.
Конфиг:
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
option ms-classless-static-routes code 249 = array of unsigned integer 8;
ddns-update-style none;
log-facility local7;
ignore client-updates;
subnet 10.16.2.0 netmask 255.255.254.0
{
authoritative;
range 10.16.2.1 10.16.3.250;
default-lease-time 42300;
max-lease-time 86400;
dynamic-bootp-lease-length 60;
allow duplicates;
#deny duplicates;
filename "file.pxe";
one-lease-per-client true;
option routers 10.16.3.253;
option domain-name-servers 10.16.3.10,10.16.3.2;
option domain-name "vasya.local";
option broadcast-address 10.16.3.255;
option rfc3442-classless-static-routes 13, 10, 8, 10, 16, 3, 254, 16, 10, 24, 10, 16, 3, 254;
option ms-classless-static-routes 13, 10, 8, 10, 16, 3, 254, 16, 10, 24, 10, 16, 3, 254;
host server
{
hardware ethernet 00:1e:8c:69:d9:95;
fixed-address 10.16.3.9;
}
host dc-1
{
hardware ethernet 00:23:54:04:34:5a;
fixed-address 10.16.3.10;
}
}