Здравствуйте.
В локальной сети компьютерного класса имеется два dhcp-сервера
(linux isc dhcp v3). Второй запускается иногда для обслуживания бездисковых клиентов.
Задача в том, чтобы заставит dhcp-клиенты на бездисковых узлах
брать конфигурацию только со второго dhcp-сервера и игнорировать ответы первого.
Пробывал: dhcpcd, udhcpc, dhclient.
как заставить клиента принимать ответы только одного сервера ?
Может опции dhclient'а reject, require помогут ?
Заранее благодарен всем ответившим.
Два DHCP сервера
Модераторы: SLEDopit, Модераторы разделов
-
- Сообщения: 190
- ОС: Mageia
Re: Два DHCP сервера
Могу показаться наивным, но разве жестко прописанный адресс второго DHCP, на клиентах, не решит проблему?
-
- Модератор
- Сообщения: 1056
- Статус: киберпИнгвин на гусеничном ходу
- ОС: Debian unstable
Re: Два DHCP сервера
(Cheh @ Четверг, 03 Февраля 2005, 10:36) писал(а):Могу показаться наивным, но разве жестко прописанный адресс второго DHCP, на клиентах, не решит проблему?
Жестко прописанный где? Что такое DHCP найдите сами в сети. Как он работает - тоже.
Читаю вслух с выражением маны - $50/ч + стоимость звонка. Настраиваю сервисы за Вас - $100/ч + стоимость выезда и проживания.
И восемь строк матом...(бесплатно)
И восемь строк матом...(бесплатно)
-
- Сообщения: 4
Re: Два DHCP сервера
Жестко прописанный адрес не помогает.
Конкретно нужно заставить dhcp-клиент принять широковещательные ответы от всех серверов и ответить посылкой DHCPREQUEST конкретному серверу, в зависимости от некоторго условия (например, ip-адреса сервера).
Как вариант можно использовать dhclient и указать неугодные сервера в reject.
Конкретно нужно заставить dhcp-клиент принять широковещательные ответы от всех серверов и ответить посылкой DHCPREQUEST конкретному серверу, в зависимости от некоторго условия (например, ip-адреса сервера).
Как вариант можно использовать dhclient и указать неугодные сервера в reject.
-
- Сообщения: 383
- ОС: Debian Sid
Re: Два DHCP сервера
Если честно - не совсем понял вопрос. А что мешает использовать один DHCP сервер для всех?
-
- Сообщения: 4
Re: Два DHCP сервера
Второй dhcp-сервер работает на главном узле вычислительного кластера (ноутбук). С этой машины
происходи загрузка бездисковых вычислительных узлов и конфигурация сетевых интерфейсов во время загрузки. К примеру берем головную машину и несем в какой либо класс и разварачиваем мобильный кластер. Но проблема в том, что в сети может работать еще один dhcp-сервер.
Смотрю в сторону dhclient: reject и require.
Можно модифицировать исходник dhcpcd - поставить анализ полученых DHCPOFFER, а затем отсылать DHCPREQUEST.
происходи загрузка бездисковых вычислительных узлов и конфигурация сетевых интерфейсов во время загрузки. К примеру берем головную машину и несем в какой либо класс и разварачиваем мобильный кластер. Но проблема в том, что в сети может работать еще один dhcp-сервер.
Смотрю в сторону dhclient: reject и require.
Можно модифицировать исходник dhcpcd - поставить анализ полученых DHCPOFFER, а затем отсылать DHCPREQUEST.
-
- Сообщения: 4
Re: Два DHCP сервера
Найдено следующее решение:
В качестве клиента используется dhclient. Для конфигурирования интерфейсов клиент вызывает скрипт dhclient-script, передавая ему в переменных окружения все параметры принятые от dhcp-сервера.
Если скрипт завершается кодом возврата отличным от 0, клиент отказывается от аренды принятого IP и посылает ответ DHCPDECLINE. Это позволяет реализовать в скрипте следующую проверку:
if [ "$new_dhcp_server_identifier" != "172.16.1.0"] ; then
exit 1
fi
Другой вариант решения основан на использовании дополнительных опций в dhcp-протоколе.
Клиент принимает ответы только от тех серверов, которые возвращают указанную опцию.
На нашем сервере выставляем эту опцию и все работает.
Дополнительные опции для dhclient можно добавить в /common/tables.c
В качестве клиента используется dhclient. Для конфигурирования интерфейсов клиент вызывает скрипт dhclient-script, передавая ему в переменных окружения все параметры принятые от dhcp-сервера.
Если скрипт завершается кодом возврата отличным от 0, клиент отказывается от аренды принятого IP и посылает ответ DHCPDECLINE. Это позволяет реализовать в скрипте следующую проверку:
if [ "$new_dhcp_server_identifier" != "172.16.1.0"] ; then
exit 1
fi
Другой вариант решения основан на использовании дополнительных опций в dhcp-протоколе.
Клиент принимает ответы только от тех серверов, которые возвращают указанную опцию.
На нашем сервере выставляем эту опцию и все работает.
Дополнительные опции для dhclient можно добавить в /common/tables.c