Чи можу я мати кілька серверів DHCP в одній мережі?


85

Це канонічне запитання про надлишкові DHCP-сервери.

Чи можливо мати одну сервер DHCP в одній локальній мережі? Які наслідки цього робити?

  1. Що станеться, якщо доступно більше одного сервера DHCP? Як мої клієнти знають, кого використовувати?
  2. Як я можу мати сервери DHCP, що надають адреси в більш ніж один сегмент підмережі \ мережі?
  3. Як я можу налаштувати кілька серверів DHCP для надання адрес для однієї підмережі.

1
Ідея цього питання полягає в тому, щоб дати остаточну відповідь на всі питання "Як я можу мати більше ніж один сервер DHCP", що зводить з розуму наших більш постійних користувачів. Сподіваємось, це стане однією з наших канонічних відповідей ( meta.serverfault.com/questions/1986/… )
Роб

2
RTFM? tools.ietf.org/html/draft-ietf-dhc-failover-12#section-5.3 (і rfc 3074) вже визначають цю поведінку, а linux dhcpd реалізує її manpages.ubuntu.com/manpages/precise/en/man5/ …
Dani_l

2
@Dani_l, можливо, ви повинні перейти за посиланням "канонічне питання", а також, можливо, переглянути автори відповідей на моє запитання тут, перш ніж сказати мені, що мені потрібно RTFM.
Роб Моар

2
Я не кажу ВАМ читати посібник. Я просто зазначу, що є посібник. Питання є канонічним, але, коли це застосовується, я вважаю, що воно повинно включати посилання на "офіційні" процедури, якщо такі існують. У цьому випадку IETF / RFC існує, і це так само офіційно, як це стає.
Dani_l

Відповіді:


95

Я припускаю основні знання про те, що робить DHCP та як налаштувати ваш DHCP-сервер на вибір у цій відповіді, але перш ніж ми поговоримо про декілька серверів DHCP в одній мережі, перш за все, швидко перегляньмо, як клієнти отримують IP-адреси від DHCP на самому базовому рівні.

DHCP в простій мережі працює за принципом DORA.

  • Відкриття - клієнт транслює повідомлення в підключеному до нього сегменті локальної мережі, щоб виявити доступні сервери DHCP.

  • Пропозиція - відповідний налаштований сервер DHCP отримує запит від клієнта і пропонує йому адресу зі свого пулу доступних адрес.

  • Запит - Клієнт відповідає на пропозицію, запитуючи адресу, отриману в Пропозиції.

  • Підтвердження - Сервер визнає запит, позначаючи адресу як використану у своєму пулі адрес, та інформує клієнта про те, як довго діє лізинг адреси, та будь-яку іншу необхідну інформацію.

Будь-який пристрій в мережевому сегменті може бути сервером DHCP; він не повинен бути маршрутизатором або контролером домену чи будь-яким іншим "спеціальним" пристроєм у мережі.

Коли пристрої у вашій мережі вперше запитують IP-адресу або досягають кінця їх оренди (або ви змушуєте їх перевірити їх оренду все ще діє), вони просто транслюватимуть запит на DHCP-сервер і приймуть пропозицію з першого DHCP-сервер для відповіді . Це важливо пам’ятати, коли ми розглядаємо варіанти для декількох серверів DHCP нижче.

Кілька серверів DHCP PT 1: охоплює кілька підмереж.

Якщо у вас є кілька VLAN або фізичних сегментів мережі, які розділені на різні підмережі, і ви хочете надати DHCP-послугу для пристроїв у всіх цих підмережах, це можна зробити двома способами.

  1. Якщо перемикач маршрутизатора / рівня 3, що їх розділяє, може діяти як агент реле BOOTP / DHCP, тоді ви можете продовжувати зберігати всі ваші DHCP-сервери в одній або двох центральних частинах вашої мережі та налаштувати ваші DHCP-сервери на підтримка декількох діапазонів адрес. Щоб підтримати це, ваш маршрутизатор або комутатор рівня 3 повинен підтримувати специфікацію агента реле BOOTP, описану в розділі 4 RFC 1542 .

  2. Якщо ваш маршрутизатор не підтримує ретрансляційні агенти RFC 1542 BOOTP або якщо деякі ваші мережеві сегменти географічно розподілені по повільних посиланнях, вам потрібно буде розмістити один або декілька серверів DHCP у кожній підмережі. Цей "локальний" DHCP-сервер обслуговуватиме лише власні вимоги локального сегмента, і немає взаємодії між ним та іншими DHCP-серверами. Якщо ви цього хочете, ви можете просто налаштувати кожен сервер DHCP як окремий сервер з деталями адресного пулу для власної підмережі, і не турбуватися про будь-які інші сервери DHCP в інших частинах мережі. Це найосновніший приклад наявності декількох серверів DHCP в одній мережі.

Кілька серверів DHCP PT 2: сервери DHCP, які обслуговують один і той же мережевий сегмент.

Коли більшість людей запитують про «декілька серверів DHCP в одній мережі», про що вони зазвичай запитують; вони хочуть, щоб більше одного сервера DHCP видавали клієнтам однаковий діапазон мережевих адрес, або для розподілу навантаження між декількома серверами, або для забезпечення надмірності, якщо один сервер перебуває в автономному режимі.

Це цілком можливо, хоча це вимагає певної думки та планування.

З точки зору "мережевого трафіку", процес DORA, окреслений на початку цієї відповіді, пояснює, як на одному сегменті мережі може бути присутнім більше одного сервера DHCP; клієнт просто транслює запит на Discovery, а перший сервер DHCP, який відповів на пропозицію, є "переможцем".

З точки зору сервера, кожен сервер матиме пул адрес, які він може видавати клієнтам, відомий його обсяг адреси. Сервери DHCP, які обслуговують одну і ту ж підмережу, не повинні мати єдиного "спільного" діапазону, а, скоріше, вони повинні мати "розділений" область.

Іншими словами, якщо у вас є діапазон DHCP-адрес для видачі клієнтам з 192.168.1.100 до 192.168.1.200, обидва сервери повинні бути налаштовані на обслуговування окремих частин цього діапазону, тому перший сервер може використовувати частини цього обсягу з 192.168.1.100 до 192.168.1.150, а другий сервер видав би від 192.168.1.151 до 192.168.1.200.

Розділити область застосування DHCP, показуючи виключення

У останніх впровадженнях DHCP від ​​Майкрософт є майстер, який дозволяє легко розділити сферу застосування, описану в статті Technet, яку, можливо, варто переглянути, навіть якщо ви не використовуєте програму Microsoft DHCP, оскільки вона ілюструє принципи, про які говорилося тут досить приємно, і ця відповідь вже досить довга.

Розщеплення сфери - найкраща практика

Одне, що ви почуєте, як згадується найкраща практика, - це правило 80/20 для розділення сфери DHCP, а це означає, що один сервер обслуговуватиме 80% адрес у цій області, а інший DHCP-сервер, який фактично "знаходиться в резерві" обслуговуватиме 20% адрес.

Ідея розбиття адрес 80/20 полягає в тому, що 80% доступних адрес повинні, мабуть, бути достатніми для всіх адрес, необхідних у підмережі, а оренда DHCP зазвичай видається на кілька днів; тому якщо ваш основний сервер DHCP виходить з ладу протягом декількох годин, навряд чи більше 20% машин у цій підмережі потрібно буде поновити свої адреси під час простою, зробивши 20% пул адрес достатнім.

Це все-таки розумна порада, але передбачається дві речі:

  1. Ви можете вирішити будь-яку проблему з вашим "головним" сервером DHCP досить швидко, щоб уникнути виснаження невеликого пулу адрес на вашому резервному сервері DHCP.
  2. Щоб вас не цікавило балансування навантаження.

У ці дні (як ви бачите з моїх прикладів) я, як правило, віддаю перевагу розбиттям 50/50, що, на мою думку, є більш реалістичною відповіддю на вищезазначені моменти.

Інша річ, яку слід враховувати під час створення ваших областей на серверах DHCP - це налаштування повного обсягу для кожного сервера та виключення діапазону, наданого іншим сервером DHCP. Це має перевагу "самодокументувати" інформацію DHCP для повної підмережі на кожному сервері DHCP, що поліпшить ясність для всіх, хто намагається зрозуміти, що відбувається, а також у випадку, коли один з ваших серверів DHCP не працює в автономному режимі. через деякий час ви можете тимчасово перенастроїти діапазон виключень на іншому сервері, щоб дозволити йому підібрати слабкість.

Поєднання цих ідей

Нарешті, варто пам’ятати, що ви можете комбінувати вищезазначені принципи - ви можете розмістити всі ваші DHCP-сервери в одному або декількох VLAN-центрах «центрального сервера» і використовувати ретранслятори BOOTP на всіх ваших маршрутизаторах для відправки всіх запитів DHCP від ​​дуже великих і сегментованих мережу до централізованої служби DHCP (що я і роблю, див. нижче). Або ви можете мати DHCP-сервери, розповсюджені по всій мережі, з "головним" сервером DHCP у локальній підмережі та "резервним" сервером DHCP на "сусідньому" мережевому сегменті, що забезпечує невелику кількість адрес як резервне копіювання - ви навіть можете мати два сервери DHCP у власних мережевих сегментах, сконфігуровані для надання діапазону 80/20 адрес один для одного. Найбільш розумний вибір буде залежати від того, як ваші фізичні та логічні мережі співпадають один з одним.

DHCP-сервери, що обслуговують розділені області дії на кілька підмереж


3
У разі розбиття сфери застосування: Будь ласка, майте на увазі, що резерви DHCP повинні бути налаштовані на обидві половини. Синхронізувати їх може бути досить складно, якщо вам потрібно часто оновлювати.
Тонні

4
Чи можете ви детально розробити методики, щоб гарантувати, що резервний сервер DHCP не потрапляє, поки працює основний сервер DHCP? З того, що я можу прочитати, якщо є однакова ймовірність отримання відповіді з будь-якого сервера, резервний сервер статистично закінчився б за адресами, як тільки загальна кількість оренди перевищує вдвічі більший розмір резервного пулу. Це, мабуть, робить резервний сервер непотрібним для нових клієнтів, коли основний сервер DHCP не працює ... так?
Нільс Б.

3
@NielsB. якщо ви робите щось на кшталт розділення 80/20, ви можете встановити затримку у відповіді сервера резервів ( blogs.technet.com/b/teamdhcp/archive/2009/01/22/… ). Я не переймаюся цим, оскільки сам використовую спліт 50/50, але він спрацює.
Роб Моїр

13

Цей підхід я застосував кілька років тому для мережі малого та середнього розміру (500 користувачів) із значними перевагами. DHCP перестав бути єдиною точкою відмови. Постійно асоціюючи MAC та IP адреси, ми гарантували, що обидва сервери DHCP дали однакову відповідь на кожен запит DHCP. Знаючи IP-адресу кожного мережевого ресурсу, це також спростило мережеве адміністрування, і DNS може запускати ту саму базу даних. Система використовувала корпорацію Internet Software BIND та DNS, а пов'язані з ними сценарії можна завантажити за адресою https://web.archive.org/web/20121031051901/http://www.pearbright.com/index.php/download/25- dns-dhcp-скачати .

Альтернативою може бути використання справжнього ISC DHCPD відмови: https://kb.isc.org/article/AA-00502/0/A-Basic-Guide-to-Configuring-DHCP-Failover.html


2
ОП спеціально попросила пояснити відповідь на це питання. Ви можете переглянути свою відповідь, щоб розширити її.
Брент Пабст

3
fwiw, хоча ця відповідь коротка, і я ніколи не відкидаю більш докладно в канонічному наборі запитань і відповідей, я подумав, що це було досить добре, оскільки він згадує дещо інший метод виконання надмірності DHCP.
Роб Моїр

1
@DJ Pon3 Я погоджуюся: я запускаю аналогічну установку, як і ваш великий DHCP на декількох сайтах (хоча менше VLAN), і я використовую той же підхід, що і Пітер Талбот для 3/4 цих VLAN.
Тоні

1
Зараз посилання розірвано :(
Сергій Власов
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.