У нас є навчальні кімнати, де зазвичай встановлено Windows XP (через PXE). "Нормальною" інфраструктурою DNS / DHCP є сервери Windows. Навчальний зал має власну VLAN (відмінну від серверів Windows), тому найпоширенішим є IP-помічник для DHCP-запитів, активних на маршрутизаторі Cisco, до якого підключені всі ПК із цієї кімнати.
Тепер ми хотіли замість цього перетворити деякі ПК на Linux. Ідея полягала в тому, щоб: розмістити наш власний ноутбук із сервером DHCP у VLAN кімнати та замінити "нормальну" відповідь DHCP. Ідея полягала в тому, що це має працювати, оскільки безпосередньо приєднаний сервер DHCP у цій VLAN повинен мати швидший час реакції, ніж "звичайний" DHCP-сервер, розташований за деякими стрибками від цієї VLAN.
Виявилося, що це не спрацювало. Нам довелося вручну випустити оренду на оригінальному сервері DHCP, щоб працювати.
На ноутбуці ми бачили, як клієнт вимагає IP, і "наш" dhcp надсилав NACK на запит IP-адреси Windows, до цього ми пропонували власну відповідь.
Старе запитання: чому це не вийшло так, як очікувалося? Що змушує ПК повернути собі стару оренду?
Оновити 2012-08-08:
Питання відновлення було роз'яснено в DHCP-RFC. Тепер це пояснює, чому ПК повертає стару оренду.
Тепер ми випускаємо IP з сервера Windows-DHCP, перш ніж спробувати його.
Знову ж таки, Windows-DHCP-сервер виграє.
Я підозрюю, що існує якийсь алгоритм для dhcp-клієнта, який визначає "найкращий" dhcp-відповідь для клієнта. Нове питання:
Як клієнт обирає "найкращу" відповідь?