2 dhcp сервера в одной сети как правильно настроить
Перейти к содержимому

2 dhcp сервера в одной сети как правильно настроить

  • автор:

Два DHCP сервера на Centos7 с failover, dhcp-relay и динамическим обновлением зон

Приветствую всех хабраюзеров. Мой первый опыт написания статей на Хабре, так что любая конструктивная критика приветствуется. Написать решил только лишь потому, что недавно столкнулся с задачей, решения которой «в лоб» не нашел.

Суть задачи в том, что в большой организации нужен был отказоустойчивый DHCP-сервер, с dhcp-relay и возможностью быстро синхронизировать конфигурацию. Основной момент, что в большинстве найденных мной руководствах рассматривается либо вариант failover, либо dhcp-relay и нигде оба варианта не рассматривались вместе да ещё и с удобным методом синхронизации конфигурации. Вдруг кому моя статья немного поможет?

Суть задачи в следующем: есть большое предприятие, сеть на >1000 компов, единственный vlan, 2 контроллера домена, в сети dhcp отсутствует(!). Предыдущие админы умели только так, но это отдельный рассказ и не для Хабра.

Понятно, что первой же задачей стала модернизация сети, а именно сегментация на vlan и внедрение dhcp. При анализе задачи были выработаны следующие требования:

  • Отказоустойчивость — независимость от какого-либо железа
  • Учитывая планы по сегментации сети — необходимо, чтоб сервер знал, в какой vlan какую адресацию отдавать
  • «Репликация» — учитывая, что планируется широко использовать dhcp «привязки» по MAC, нужно чтоб эти «привязки» работали всегда (например, сетевые принтеры)
  • Автоматическое ведение обратных DNS зон
  • Две виртуальные машины на двух разных гипервизорах
  • На машинах стоит centos7 и isc-dhcpd
  • На dhcp настроены failover, динамическое обновление зон и распознавание option 82
  • Option 82 меткой того VLAN, из которого пришел запрос, серверу отдают центральные коммутаторы L3+, на которых все VLAN и разруливаются
  • Так как большинство админов плохо ориентируются в linux и vim, нужна автоматизация процесса добавления статических привязок и механизм репликации конфига

image

  • DC0 и DC1 с настроенными DNS серверами, 10.1.2.2 и 10.1.2.3
  • DHCP0 и DHCP1, 10.1.2.4 и 10.1.2.14
  • VLAN’ы пользователей: 10, 11, 20, 21
  • Домен corp.example.ru
  • Дополнительную DNS зону (для linux серверов) — example.lan
  • Маршрутизаторы на базе L3 коммутаторов с поддержкой dhcp option 82. Во всех VLAN’ах они имеют 1-й IP адрес, связаны через OSPF

    Для начала в Windows DNS создаем все обратные зоны для всех VLAN’ов, разрешаем зонам небезопасные обновления.

Для репликации серверов достаточно написать скрипт, который синхронизирует файлы в каталоге «/etc/dhcp/dhcpd.d/» и перезапускает dhcp-демон после этого. Сам скрипт приводить не буду из-за очень «костыльного» кода, который писался на коленке и на очень скорую руку. Возможно синхронизировать конфиги с помощью утилиты типа csync2 или rsync.

Для добавления статических привязок также был написан отдельный скрипт, который мне стыдно приводить тут по тем же причинам. Каждый может порезвиться с этим сам либо добавлять статические привязки «ручками».

Единственное «но» — при добавлении нового VLAN основной файл конфигурации «/etc/dhcp/dhcpd.conf» придется править ручками, так как у меня не получилось сделать include на весь каталог, только на конкретные файлы.

Возможно это можно обойти двойным include: сначала в основном файле на вспомогательный, а во вспомогательном уже на конкретные файлы VLAN, а затем синхронизировать и вспомогательный, но я заморачиваться не стал.

Повторюсь ещё раз — большинство информации, описанной мной, в интернете навалом, но нигде я не нашел как совместить failover, dhcp-relay и сделать это удобным для синхронизации. Жду ваших замечаний и предложений

два dhcp в одной сети для pxe

Добрый день. Ситуация следующая. Есть роутер на нем dhcp сервер. Есть PXE сервер. Задача: Сделать так чтобы PXE сервер получал адрес автоматически. После чего мог раздавать PXE клиентам адреса и путь к файлу загрузки(TFTP на нем же). Можно даже и без автоматического получения адреса PXE сервером.

Может кто что подсказать. Задача решаемая, но настолько давно что уже и не упомню как

Начнем с такого вопроса:

Можно ли сажать более одного DHCP на один широковещательный сегмент?

Да, но с оговоркой — диапазоны раздачи у серверов не должны пересекаться.

Зачем это делать?

Для резервирования — если один из DHCP упал, второй, третий и т. д. поработают за него.

Как это будет работать?

DHCP работает по принципу общежития — кто первый встал, того и тапки, чашка, санузел, котэ — кто первый ответил, у того адрес и возьмут. Чтобы это происходило более определенным образом, надо настраивать оба сервера.

Нужно ли автору делать то, что он собрался делать?

Маловероятно. Автор хочет сделать странное, разделив роли серверов не горизонтально (Серверы DHCP | Серверы TFTP | Серверы удаленных ФС), а сделав DHCP со неясной ролью (раздавать адреса всем, но не раздавать PXEхнутым?) и пристроив к нему сбоку PXE с отдельной ролью (раздавать адреса на загрузку?). Цели не ясны, задачи не ясны, перспектив стабильной работы не видно.

Что делать?

Если требуется обеспечить отказоустойчивость:

Сделать N серверов DHCP+TFTP, разрезав пространство адресов между ними. Каждый сервер в качестве TFTP бдует отдавать себя.

Плюсы — вылет любого сервера не скажется на работоспособности загрузки Минусы — потребуется некоторое время на шлифовку конфигурации.

Windows-терминалы WTware

1. В сети присутсвуют два dhcp сервера, выдающие 2 разных диапазона адресов, но из одной сети — используется для отказоустойчивости: DHCP1: 192.168.0.0/23 и DHCP2: 192.168.1.0/23 шлюз 192.168.1.1. При загрузке программа ругается на два разных dhcp. Однако я не понимаю как это влияет на фукционал продукта? Оба DHCP настроены идентично. При каждом включении шансы получить один из двух ip — 50/50.
2. Мне необходимо на некоторых терминалах предоставить возможность пользователю выбрать сервер на котором он будет работать в данный момент времени, возможно ли это реализовать.
3. В программе объявлен фукционал по использованию нескольких параллельных терминальных сессий. Как запустить данный фукционал ?
4. Правильно я понял, что вход в setup при загрузке по сети не возможен. Провал на нескольких atom — эффект одинаковый. Появляется надпись DEL . нажимаю — 0 эмоций только сразу появляется следующих экран с ошибкой DHCP и просьбой нажать ESC.
5. Планируется закупка 100 лицензий. Возможнали закупка партиями в течении какогото срока по льготной цене ? Необходимо сначала создать демонстрацинный стенд з 10 машин.

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение aka » Пт июн 10, 2011 9:28 pm

1. Не понял вопрос. Да, втварь ругается если два разных dhcp дают разные ответы. Если вам так уж хочется иметь два dhcp — настраивайте для бездисков reservation по маку. Одинаковые на обоих dhcp. Втварь не будет ругаться, если два разных dhcp дадут один и тот же ответ.

2. http://wtware.ru/docs5/configurator.html
Надо на один экран положить два или больше соединений.

3. Та же ссылка, надо сделать второй экран.

4. Сделайте так, чтобы не было ошибки dhcp, и будет вам сетап.

5. Про цены все здесь: http://wtware.ru/buy.html
Планы на скидки не влияют.

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение master_new » Сб июн 11, 2011 7:57 am

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение aka » Сб июн 11, 2011 11:55 am

1. Нельзя. Бездисковый терминал, загружающийся по сети, должен получать ОДИНАКОВЫЕ ответы от dhcp. Я не могу объяснить в трех словах, почему это так. Аргумент «винда же работает» не подходит, потому что винда использует dhcp совсем не так, как бездиски.

2. Значит, надо прочитать еще раз. Если все равно будет непонятно — надо написать, что именно было сделано и что из этого вышло. На самом деле у нас есть короткая и понятная инструкция, но мы ее никому не показываем

3. Я внимательно слушаю описание жизненной ситуации, когда конечному пользователю следует предоставить возможность вводить ip терминального сервера вручную.

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение gamespb » Сб июн 11, 2011 6:29 pm

на каких серверах(программных) реализовано FAILOVER DHCP?

если на ISC DHCP то у них идет полная синхронизация, и ответы (если будут отвечать оба) будут одинаковые -> пропадает проблема с 2 DHCP серверами

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение master_new » Сб июн 11, 2011 11:56 pm

Win server 2008 r2 DHCP Server.
На самом деле с удивлением сегодня обнаружил, что что можно попытаться указать статический адрес даже не из «Address pool». Хотя результат смогу проверить только в понедельник.
т.е.

Storage scope: 192.168.0.0/23
Address poll: 192.168.1.0/24 (DHCP 1, DHCP 2 — 192.168.0.0/24)
Reservation: 192.168.0.5 term

2 aka:
настроил через графику список rdp серверов. Подключение проходит к первому.
Как переключиться не понимаю. Можете смеяться, но уже перечитал доки несколько раз. ФУКЦИОНАЛ ЗАЯВЛЕН, картинки есть, как настроить невижу, есть ссылка на картинку — там в описании подключение проходит к первому серверу.

3. если вы намекнете, чем таким отличается бездисковый клиент при работе с dhcp (кроме boottp) буду премного благодарен, хотя ключевое слово как мне кажется мак адрес и конфиг у вас хранится для него. Пусть хоть каждый раз новый ip адрес будет. А пока терминал работает он должен свой же адрес обновлять у своего же dhcp через пол интервала его аренды.

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение aka » Вс июн 12, 2011 1:22 pm

Цитаты в студию. «Я прочитал в доке, лежашей по такому-то адресу такой-то текст, сделал так (скриншот прилагается) и вместо того, что описано в доке, получил это (фотка прилагается).»

У нас просто штатный экстрасенс сейчас в отпуске, поэтому я не могу догадаться, что именно ты прочитал и что сделал.

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение master_new » Пн июн 13, 2011 10:27 pm

цитирую документацию по ссылке: http://wtware.ru/docs5/configurator.html#screens
>>>В WTware5 мы ввели поддержку нескольких экранов, до 4 штук, на терминале. Вот как это выглядит на терминале
далее красивая картинка
. Супер — то что надо.
>>>Вы можете отредактировать параметры соединения экрана с помощью такого же редактора параметров, какой используется при редактировании параметров терминала. Только набор параметров будет иным .
супер, ищем глазами где описан набор параметров или где он есть в графическом виде. Но его нет.

далее начинается следующая тема, судя по стилю заголовка: Конфигурация терминала в текстовом виде.
но мне это уже не нужно, мне нужны четкие параметры именно для этого вопроса все остальное я и так понял.

перечитываю 3-й раз.
нахожу намек на ошметки конфигурации.

>>> Бывают ситуации, когда введенный конфигурационный файл не может быть прочитан даже без версии. Например, в текстовом файле указано более 4 экранов (строка next screen добавляет экран)

из этого легко брошенного комментария я должен догадаться как добавлять экраны. уже лучше. Но как между ними переключаться. Вот в чем вопрос .

на всякий случай зачтем еще http://wtware.ru/docs5/config.html
но нас ожидает неудача. и там нет нужной информации.

Вот собственно так .

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение akatik » Вт июн 14, 2011 8:00 am

А посмотреть на общую картинку тут:
http://wtware.ru/docs5/configurator.html#terminals
не судьба? На картинке нарисована конфигурация с двумя экранами, на первом экране два соединения. Запускаем конфигуратор, пытаемся создать подобную картинку, потом переключаемся на вкладку «Текст» и видим — текст конфига, со всеми строчками «next screen» на каждый экран, «connection» на каждое соединение.
А для того, чтобы осознать, как переключаться между экранами, — загрузите один раз терминал с несколькими экранами, поместите мышь в правый нижний угол, увидите менюшку. Дальше все прозрачно. Ну и если уж читать, то http://wtware.ru/download.html:
«Четыре одновременных сессии. Переключаемся мышкой через всплывающее меню или кнопками Win-1..4 и Win-стрелки.»

Если есть еще вопросы по конфигу, пишите на почту support@wtware.ru с описанием — что вы хотите увидеть, с какими параметрами, что делали и что получилось.

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение master_new » Вт июн 14, 2011 10:02 pm

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение akatik » Ср июн 15, 2011 7:45 am

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение без_имени » Чт сен 08, 2011 12:17 pm

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение aka » Чт сен 08, 2011 11:11 pm

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение без_имени » Пт сен 09, 2011 8:30 am

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение aka » Пт сен 09, 2011 11:26 am

Эта рекомендация дана майкрософтом для сетей с виндовсами, установленными на винчестеры. В такой среде эта рекомендация работает. С бездисками она не работает и майкрософту это пофиг, потому что майкрософт никогда не делала бездиски.

Это не «ошибки». Это очень плохо. Если это не исправить — оно обязательно вылезет косяками в дальнейшем. Ошибки, на которые можно не обращать внимания, втварь выводит в лог.

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение master_new » Пн сен 12, 2011 12:03 pm

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение aka » Пн сен 12, 2011 9:35 pm

Но ведь интерфейс управления майкрософтовым DHCP открыт и документирован. Неужели во всем интернете никто не написал утилит для автоматизации таких действий?

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение без_имени » Вт сен 13, 2011 11:50 am

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение aka » Ср сен 14, 2011 2:41 pm

«Надо найти и убить второй DHCP» — самый частый ответ, который мы давали людям в последнее время. До появления 4.9, которая начала ругаться на второй DHCP, этот самый второй DHCP был источником примерно каждой третьей возникающей с втварью проблемы.

Лично я считаю, что два DHCP в одном сегмент коллизий вообще недопустимы ни в каком случае, а отказоустойчивость следует достигать методом горячей замены. Но очень грамотные товарищи меня убедили, что если два DHCP отдают терминалу одинаковые ответы — то такое решение не вызывает серьезных проблем. Поэтому втварь пор обучена не ругаться, если ей приходят одинаковые ответы от разных серверов. Попробуй меня убедить, что можно получать разные ответы от разных серверов, я внимательно послушаю. Тока для этого тебе придется сначала несколько раз перечитать стандарт DHCP и понять, как это на самом деле работает

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение без_имени » Чт сен 15, 2011 9:14 am

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение aka » Чт сен 15, 2011 9:57 pm

Вообще-то единственная «горячая замена», которую я в жизни использовал достаточно длительное время, была на Heartbeat в линуксах

Я отрубаю кривую реализацию, придуманную майкрософтом для виндов на винтах, которая куче народа приноситла гору гемороя при использовании с бездисками. Два абы-как настроенных DHCP в одном сегменте коллизий жить НЕ МОГУТ. Для загружаемых с винта виндов это работает. Для бездисков это не работает.

Правильную реализацию, с одинаково настроенными серверами, я не обрубаю — используйте на здоровье, если вы верите в такое резервирование. Просто настрой сервера одинаково и втварь ругаться не будет. И хватит уже спорить о DHCP, о котором вы знаете только из статьи майкрософта

PS: ну вот. Написал ответ сюда, перешел к следующему новому посту на форуме. У товарища проблема из-за криво настроенного второго DHCP, лезет повторное использование IP: http://forum.wtware.ru/viewtopic.php?f=12&t=7534 А как все начиналось: новенькие ТОНКи, зависает на вводе логина-пароля. Можно месяц искать глюку в втвари. ЗАДОЛБАЛО. На одного человека, который может настроить правильно резервирование двух DHCP, приходится двадцать человек прочитавших статью майкрософта и решивших «вау, на виндовсах работает! значит это правильно, должно везде работать» и сто не читавших ничего и поставивших второй DHCP просто чтоб был. А потом — «высока вероятность, что после входа сразу опять зависнет». Конечно зависнет. Потому что второй DHCP надо настраивать очень аккуратно. И те, кто это понимают, не задают дурацкие вопросы ссылаясь на статью майкрософта.

Re: Несколько DHCP в сети

  • BUTTON_REPORT
  • Цитата

Сообщение master_new » Пт сен 16, 2011 12:14 am

однозначно. но через некоторое время начинаешь понимать, что жесткая настройка резервации ip не так и плохо и даже удобно. а делается все равно все постепенно. миграция не может пройти мгновенно. ПОЭТОМУ СОВЕТУЮ НЕ ПАРИТСЯ И СДЕЛАТЬ РЕЗЕРВАЦИИ НА ОБОИХ ДХЦП.

2 dhcp сервера в одной сети как правильно настроить

Видимо разные "учебники" читаем

Я-то читаю правильные, а вот какие читаете Вы — большой вопрос

ну ладно, будем считать, что проехали.

Все правильно, Вы вставили сейчас правильную ссылку. Вот и заметьте, что сервера не следят за тем, что первый сервер ответил клиенту, а получают броадкастом информацию от самого клиента о том, что он принял другое предложение. Есть разница, согласны?

Типа если я — жених, то я не буду следить за другими женихами, как они посылают предложения, я буду следить, что скажет невеста

Для полного счастья, можно предположить (грубо), что в один свитч воткнуты 2 сервера, раздающие адреса из разных подсетей и бедный-несчастный клиент.

От какого из серверов будет получен адрес, как с этим бороться и вообще как рулить этим процессом?

Если сервера раздают адреса из разных подсетей, то они к разным подсетям и подсоединены, соответственно никакого конфликта нет. Если сервера в одной подсети, или стоит DHCP relay, или не дай Бог свитч пропускает броадкасты, то можно устроить себе подстраховку на случай выхода из строя одного из серверов. Для этого существует правило 80 / 20.

Внимательно читаем ветку. Речь о "левых" DHCP, которые злые враги могут физически воткнуть в тот же свитч, что и нормальный сервер. К примеру, сервер раздает адреса вида 192.168.0.0 а враги подсовывают 192.168.100.0 При всем при этом воткнуты в одну физическую сеть

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *