@e1ferapontov
Админю всякую виртуализацию

Почему некорректно работает DHCP в load-balancing конфигурации в WS 2012 R2?

Имеется два DHCP сервера под управлением Windows Server 2012 R2. Настроены failover relationship: аутентификация по общему ключу, тип: балансировка нагрузки, Client Lead Time: 1 час, 50/50 балансировка.
Имеется 3 области: 192.168.0.0/24, 192.168.1.0/24, 192.168.2.0/24. В каждой настроены уникальные опции (маршрутизатор, имя домена и т.п.), адреса DNS серверов выдаются общие на все области (настроены в опциях сервера). Оба DHCP синхронизируют время с внешним источником, часы совпадают до секунды.
Возникают следующие проблемы:
1) Сервера не назначают адрес новому клиенту. Отследить какую-то закономерность не удалось, но такое можно спровоцировать ipconfig /release & ipconfig /renew. В одном случае из нескольких клиенту не будет назначен адрес и он автоматически вывалится в APIPA. При этом ни в логах клиентской системы, ни в логах сервера сообщений нет.
2) Сервера не назначают адреса DNS серверов клиенту. Замечено, что возникает в основном с клиентами, подключенными по wi-fi, но несколько раз было и с подключенными посредством обычной витой пары. При этом все остальные опции назначаются корректно. Самый простой способ воспроизведения ошибки: подключить клиента по wi-fi (планшет/смартфон/ноутбук) к одной сети, после чего перенести в другую сеть. При подключении ко второй сети клиенту будут назначены все адреса и опции, кроме DNS.

Также в логах регулярно возникают сообщения рода:
A BINDING-ACK message with transaction id: 3749 was sent for IP address: 192.168.0.139 with reject reason: (Outdated binding information) to partner server: dhcp2 for failover relationship: dhcp1-dhcp2.

(EventID 20291 & 20292)

Все проблемы лечатся остановкой службы DHCP на одном из серверов. Ранее с одиночным сервером DHCP таких проблем замечено не было.
Поиск по сообщению и коду ошибки привел к обновлению от 2014 года, в котором исправлялась похожая ошибка: https://blogs.technet.microsoft.com/teamdhcp/2014/...
Эти DHCP сервера установлены из образа WS 2012 R2 with Update (образ с MSDN с интегрированными обновлениями по 2015 год), в котором эти обновления уже установлены.

UPD: Шлюзом для всей этой сети является Cisco SG300. Оба DHCP находятся в отдельной сети. Настройки релея следующие:
ip dhcp relay address %dhcp1_ip%
ip dhcp relay address %dhcp2_ip%
ip dhcp relay enable
и в каждом влане еще раз по ip dhcp relay enable

Что делать?
  • Вопрос задан
  • 2067 просмотров
Решения вопроса 1
@e1ferapontov Автор вопроса
Админю всякую виртуализацию
Короче, проблема разрешилась крайне очевидным и неочевидным образом одновременно.
Отзеркалировал траффик с двух DHCP серверов. Заметил, что один из них не выдает настройки DNS в ответе. Проверил "проблемных клиентов" — они получают адрес как раз с него. Отметил, что останавливал службу DHCP всегда именно на нем. Проверил опции сервера — там пусто.
Выходит, при настройке failover relationship опции сервера не реплицируются.
Выходит, если бы я не был идиотом и сразу проверил правильность настройки второго DHCP, всей этой эпопеи не случилось бы. Другое дело, что я до сих пор не могу понять смысл подобного поведения: зачем иметь два active-active DHCP сервера с разными настройками?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы