Я припускаю основні знання про те, що робить DHCP та як налаштувати ваш DHCP-сервер на вибір у цій відповіді, але перш ніж ми поговоримо про декілька серверів DHCP в одній мережі, перш за все, швидко перегляньмо, як клієнти отримують IP-адреси від DHCP на самому базовому рівні.
DHCP в простій мережі працює за принципом DORA.
Відкриття - клієнт транслює повідомлення в підключеному до нього сегменті локальної мережі, щоб виявити доступні сервери DHCP.
Пропозиція - відповідний налаштований сервер DHCP отримує запит від клієнта і пропонує йому адресу зі свого пулу доступних адрес.
Запит - Клієнт відповідає на пропозицію, запитуючи адресу, отриману в Пропозиції.
Підтвердження - Сервер визнає запит, позначаючи адресу як використану у своєму пулі адрес, та інформує клієнта про те, як довго діє лізинг адреси, та будь-яку іншу необхідну інформацію.
Будь-який пристрій в мережевому сегменті може бути сервером DHCP; він не повинен бути маршрутизатором або контролером домену чи будь-яким іншим "спеціальним" пристроєм у мережі.
Коли пристрої у вашій мережі вперше запитують IP-адресу або досягають кінця їх оренди (або ви змушуєте їх перевірити їх оренду все ще діє), вони просто транслюватимуть запит на DHCP-сервер і приймуть пропозицію з першого DHCP-сервер для відповіді . Це важливо пам’ятати, коли ми розглядаємо варіанти для декількох серверів DHCP нижче.
Кілька серверів DHCP PT 1: охоплює кілька підмереж.
Якщо у вас є кілька VLAN або фізичних сегментів мережі, які розділені на різні підмережі, і ви хочете надати DHCP-послугу для пристроїв у всіх цих підмережах, це можна зробити двома способами.
Якщо перемикач маршрутизатора / рівня 3, що їх розділяє, може діяти як агент реле BOOTP / DHCP, тоді ви можете продовжувати зберігати всі ваші DHCP-сервери в одній або двох центральних частинах вашої мережі та налаштувати ваші DHCP-сервери на підтримка декількох діапазонів адрес. Щоб підтримати це, ваш маршрутизатор або комутатор рівня 3 повинен підтримувати специфікацію агента реле BOOTP, описану в розділі 4 RFC 1542 .
Якщо ваш маршрутизатор не підтримує ретрансляційні агенти 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 від Майкрософт є майстер, який дозволяє легко розділити сферу застосування, описану в статті Technet, яку, можливо, варто переглянути, навіть якщо ви не використовуєте програму Microsoft DHCP, оскільки вона ілюструє принципи, про які говорилося тут досить приємно, і ця відповідь вже досить довга.
Розщеплення сфери - найкраща практика
Одне, що ви почуєте, як згадується найкраща практика, - це правило 80/20 для розділення сфери DHCP, а це означає, що один сервер обслуговуватиме 80% адрес у цій області, а інший DHCP-сервер, який фактично "знаходиться в резерві" обслуговуватиме 20% адрес.
Ідея розбиття адрес 80/20 полягає в тому, що 80% доступних адрес повинні, мабуть, бути достатніми для всіх адрес, необхідних у підмережі, а оренда DHCP зазвичай видається на кілька днів; тому якщо ваш основний сервер DHCP виходить з ладу протягом декількох годин, навряд чи більше 20% машин у цій підмережі потрібно буде поновити свої адреси під час простою, зробивши 20% пул адрес достатнім.
Це все-таки розумна порада, але передбачається дві речі:
- Ви можете вирішити будь-яку проблему з вашим "головним" сервером DHCP досить швидко, щоб уникнути виснаження невеликого пулу адрес на вашому резервному сервері DHCP.
- Щоб вас не цікавило балансування навантаження.
У ці дні (як ви бачите з моїх прикладів) я, як правило, віддаю перевагу розбиттям 50/50, що, на мою думку, є більш реалістичною відповіддю на вищезазначені моменти.
Інша річ, яку слід враховувати під час створення ваших областей на серверах DHCP - це налаштування повного обсягу для кожного сервера та виключення діапазону, наданого іншим сервером DHCP. Це має перевагу "самодокументувати" інформацію DHCP для повної підмережі на кожному сервері DHCP, що поліпшить ясність для всіх, хто намагається зрозуміти, що відбувається, а також у випадку, коли один з ваших серверів DHCP не працює в автономному режимі. через деякий час ви можете тимчасово перенастроїти діапазон виключень на іншому сервері, щоб дозволити йому підібрати слабкість.
Поєднання цих ідей
Нарешті, варто пам’ятати, що ви можете комбінувати вищезазначені принципи - ви можете розмістити всі ваші DHCP-сервери в одному або декількох VLAN-центрах «центрального сервера» і використовувати ретранслятори BOOTP на всіх ваших маршрутизаторах для відправки всіх запитів DHCP від дуже великих і сегментованих мережу до централізованої служби DHCP (що я і роблю, див. нижче). Або ви можете мати DHCP-сервери, розповсюджені по всій мережі, з "головним" сервером DHCP у локальній підмережі та "резервним" сервером DHCP на "сусідньому" мережевому сегменті, що забезпечує невелику кількість адрес як резервне копіювання - ви навіть можете мати два сервери DHCP у власних мережевих сегментах, сконфігуровані для надання діапазону 80/20 адрес один для одного. Найбільш розумний вибір буде залежати від того, як ваші фізичні та логічні мережі співпадають один з одним.