Czy mogę mieć wiele serwerów DHCP w jednej sieci?

85

To jest pytanie kanoniczne dotyczące redundantnych serwerów DHCP.

Czy możliwe jest posiadanie więcej niż jednego serwera DHCP w tej samej sieci LAN? Jakie są tego konsekwencje?

  1. Co się stanie, jeśli dostępny jest więcej niż jeden serwer DHCP? Skąd moi klienci wiedzą, którego użyć?
  2. Jak mogę serwery DHCP dostarczające adresy do więcej niż jednej podsieci \ segmentu sieci?
  3. Jak mogę skonfigurować wiele serwerów DHCP, aby podawały adresy dla tej samej podsieci.
Rob Moir
źródło
1
Ideą tego pytania jest udzielenie ostatecznej odpowiedzi na wszystkie pytania „Jak mogę mieć więcej niż jeden serwer DHCP”, które doprowadzają naszych zwykłych użytkowników do szaleństwa. Mamy nadzieję, że stanie się to jedną z naszych kanonicznych odpowiedzi ( meta.serverfault.com/questions/1986/… )
Rob Moir
2
RTFM? tools.ietf.org/html/draft-ietf-dhc-failover-12#section-5.3 (i rfc 3074) już definiują to zachowanie, a Linux dhcpd implementuje je manpages.ubuntu.com/manpages/precise/en/man5/ …
Dani_l,
2
@Dani_l, być może powinieneś podążać za linkiem „pytanie kanoniczne” w pytaniu, a także przejrzeć autorów odpowiedzi na moje pytanie tutaj, zanim powiesz mi, że potrzebuję RTFM.
Rob Moir,
2
Nie mówię wam, żebyście przeczytali instrukcję. Zaznaczam tylko, że istnieje instrukcja obsługi. Pytanie jest kanoniczne, ale w stosownych przypadkach uważam, że powinno zawierać odniesienie do „oficjalnych” procedur, jeśli takie istnieją. W tym przypadku istnieje IETF / RFC i jest to tak oficjalne, jak to tylko możliwe.
Dani_l

Odpowiedzi:

95

Zakładam, że podstawowa wiedza na temat tego, co robi DHCP i jak skonfigurować wybrany serwer DHCP w tej odpowiedzi, ale zanim porozmawiamy o wielu serwerach DHCP w tej samej sieci, najpierw szybko sprawdźmy, w jaki sposób klienci odbierają adresy IP z DHCP na najbardziej podstawowym poziomie.

DHCP w prostej sieci działa na zasadzie DORA.

  • Wykrywanie - klient rozgłasza komunikat w segmencie sieci lokalnej, do którego jest podłączony, aby wykryć dostępne serwery DHCP.

  • Oferta - odpowiednio skonfigurowany serwer DHCP otrzymuje żądanie od klienta i oferuje mu adres ze swojej puli dostępnych adresów.

  • Żądanie - klient odpowiada na ofertę, prosząc o adres otrzymany w ofercie.

  • Potwierdzenie - serwer potwierdza żądanie, oznaczając adres jako użyty w puli adresów i informuje klienta o tym, jak długo dzierżawa adresu jest ważna, oraz o wszelkich innych potrzebnych informacjach.

Dowolne urządzenie w segmencie sieci może być serwerem DHCP; nie musi to być router, kontroler domeny ani żadne inne „specjalne” urządzenie w sieci.

Gdy urządzenia w sieci najpierw zażądają adresu IP lub osiągną koniec dzierżawy (lub zmusisz je do sprawdzenia, czy dzierżawa jest nadal ważna), po prostu wyemitują żądanie serwera DHCP i zaakceptują ofertę od pierwszego Serwer DHCP, aby odpowiedzieć . Należy o tym pamiętać, gdy przyglądamy się opcjom wielu serwerów DHCP poniżej.

Wiele serwerów DHCP PT 1: Łączenie wielu podsieci.

Jeśli masz kilka sieci VLAN lub fizycznych segmentów sieci, które są podzielone na różne podsieci, i chcesz zapewnić usługę DHCP dla urządzeń we wszystkich tych podsieciach, możesz to zrobić na dwa sposoby.

  1. Jeśli rozdzielający je router / warstwa 3 może działać jako agent przekazywania BOOTP / DHCP, możesz nadal przechowywać wszystkie swoje serwery DHCP w jednej lub dwóch centralnych częściach sieci i skonfigurować serwery DHCP, aby obsługuje wiele zakresów adresów. W tym celu router lub przełącznik warstwy 3 musi obsługiwać specyfikację agenta przekaźnika BOOTP opisaną w sekcji 4 RFC 1542 .

  2. Jeśli router nie obsługuje agentów przekaźnikowych RFC 1542 BOOTP lub jeśli niektóre segmenty sieci są rozproszone geograficznie na wolnych łączach, konieczne będzie umieszczenie jednego lub więcej serwerów DHCP w każdej podsieci. Ten „lokalny” serwer DHCP będzie spełniał tylko wymagania własnego segmentu lokalnego i nie będzie interakcji między nim a innymi serwerami DHCP. Jeśli tego właśnie chcesz, możesz po prostu skonfigurować każdy serwer DHCP jako serwer autonomiczny ze szczegółami puli adresów dla własnej podsieci i nie martwić się o inne serwery DHCP w innych częściach sieci. Jest to najbardziej podstawowy przykład posiadania więcej niż jednego serwera DHCP w tej samej sieci.

Wiele serwerów DHCP PT 2: Serwery DHCP obsługujące ten sam segment sieci.

Kiedy większość ludzi pyta o „wiele serwerów DHCP w tej samej sieci”, zwykle pytają o to; chcą, aby więcej niż jeden serwer DHCP wystawiał klientom ten sam zakres adresów sieciowych, albo w celu rozdzielenia obciążenia między wiele serwerów, albo w celu zapewnienia redundancji, jeśli jeden serwer jest w trybie offline.

Jest to całkowicie możliwe, choć wymaga przemyślenia i planowania.

Z punktu widzenia „ruchu sieciowego” proces DORA opisany na początku tej odpowiedzi wyjaśnia, w jaki sposób więcej niż jeden serwer DHCP może być obecny w segmencie sieci; klient po prostu rozgłasza żądanie wykrywania, a pierwszy serwer DHCP, który odpowiedział ofertą, jest „zwycięzcą”.

Z punktu widzenia serwera każdy serwer będzie miał pulę adresów, które może wydawać klientom, znanym z zakresu adresów. Serwery DHCP, które obsługują tę samą podsieć, nie powinny mieć pojedynczego zakresu „współdzielonego”, ale raczej zakresu „dzielonego”.

Innymi słowy, jeśli masz zakres adresów DHCP do wydania klientom od 192.168.1.100 do 192.168.1.200, oba serwery powinny być skonfigurowane do obsługi oddzielnych części tego zakresu, aby pierwszy serwer mógł używać części tego zakresu z Od 192.168.1.100 do 192.168.1.150, a następnie drugi serwer wydałby od 192.168.1.151 do 192.168.1.200.

Podziel zakres DHCP, pokazując wykluczenia

Nowsze implementacje DHCP firmy Microsoft mają kreatora ułatwiającego podział zakresu w ten sposób, opisany w artykule Technet, który może być wart uwagi, nawet jeśli nie korzystasz z implementacji DHCP DHCP, ponieważ ilustruje to zasady, o których mówiono tutaj całkiem ładnie i ta odpowiedź jest już wystarczająco długa.

Podział zakresu - najlepsza praktyka

Jedną rzeczą, o której usłyszycie jako najlepszą praktykę, jest zasada 80/20 dotycząca podziału zakresu DHCP, co oznacza, że ​​jeden serwer będzie obsługiwał 80% adresów w tym zakresie, a drugi serwer DHCP, który faktycznie jest „w rezerwie” obsłuży 20% adresów.

Pomysł podziału adresów 80/20 polega na tym, że 80% dostępnych adresów powinno być odpowiednie dla wszystkich adresów potrzebnych w podsieci, a dzierżawa DHCP jest zwykle wydawana na kilka dni; więc jeśli główny serwer DHCP przestanie działać przez kilka godzin, jest mało prawdopodobne, że ponad 20% komputerów w tej podsieci będzie musiało odnowić swoje adresy w czasie przestoju, dzięki czemu pula adresów 20% będzie wystarczająca.

To wciąż rozsądna rada, ale zakłada dwie rzeczy:

  1. Że możesz rozwiązać każdy problem z „głównym” serwerem DHCP wystarczająco szybko, aby uniknąć wyczerpania małej puli adresów na rezerwowym serwerze DHCP.
  2. Że nie jesteś zainteresowany równoważeniem obciążenia.

Obecnie (jak widać z moich przykładów) wolę podziały 50/50, które moim zdaniem są bardziej realistyczną odpowiedzią na powyższe punkty.

Inną rzeczą do rozważenia przy tworzeniu zakresów na serwerach DHCP jest skonfigurowanie pełnego zakresu na każdym serwerze i wykluczenie zakresu podanego przez inny serwer DHCP. Ma to tę zaletę, że „samodzielnie dokumentuje” informacje DHCP dla pełnej podsieci na każdym serwerze DHCP, co poprawi przejrzystość dla każdego, kto próbuje zrozumieć, co się dzieje, a także w przypadku, gdy jeden z serwerów DHCP będzie offline dla kiedyś możesz tymczasowo zmienić zakres wykluczeń na drugim serwerze, aby umożliwić mu zwiększenie luzu.

Łącząc te pomysły

Na koniec warto pamiętać, że można łączyć zasady omówione powyżej - można umieścić wszystkie serwery DHCP w jednej lub kilku sieciach VLAN „serwera centralnego” i używać agentów przekaźnikowych BOOTP na wszystkich routerach, aby wysyłać wszystkie żądania DHCP z bardzo dużych i podzielonych na segmenty sieć do scentralizowanej usługi DHCP (co robię, patrz poniżej). Lub możesz mieć serwery DHCP rozproszone w całej sieci, z „głównym” serwerem DHCP w jego lokalnej podsieci i „rezerwowym” serwerem DHCP w „pobliskim” segmencie sieci zapewniającym niewielką liczbę adresów jako kopię zapasową - możesz nawet mieć dwa serwery DHCP we własnych segmentach sieci skonfigurowane tak, aby zapewniały sobie zakres adresów 80/20. Najbardziej rozsądny wybór będzie zależeć od tego, jak twoje fizyczne i logiczne sieci odwzorują się nawzajem.

Serwery DHCP obsługujące podzielone zakresy do wielu podsieci

Rob Moir
źródło
3
W przypadku podziału zakresów: Należy pamiętać, że rezerwacje DHCP powinny być ustawione na obu połówkach. Utrzymywanie ich synchronizacji może być dość kłopotliwe, jeśli trzeba dokonywać częstych aktualizacji.
Tonny
4
Czy potrafisz opracować techniki zapewniające, że rezerwowy serwer DHCP nie zostanie trafiony, dopóki główny serwer DHCP będzie działał? Z tego, co mogę przeczytać, jeśli istnieje równe prawdopodobieństwo otrzymania odpowiedzi z dowolnego serwera, serwer rezerwowy statystycznie zabraknie adresów, gdy tylko całkowita liczba dzierżaw przekroczy dwukrotność puli rezerw. Prawdopodobnie czyni to serwer rezerwowy bezwartościowym dla nowych klientów, gdy główny serwer DHCP jest wyłączony ... prawda?
Niels B.
3
@NielsB. jeśli robisz coś w rodzaju podziału 80/20, możesz ustawić opóźnienie w odpowiedzi serwera rezerwowego ( blogs.technet.com/b/teamdhcp/archive/2009/01/22/... ). Nie przejmuję się tym, ponieważ sam używam podziału 50/50, ale zadziała.
Rob Moir
13

Przyjąłem to podejście kilka lat temu w przypadku sieci małych i średnich (500 użytkowników) ze znacznymi korzyściami. DHCP przestał być pojedynczym punktem awarii. Trwale kojarząc adresy MAC i IP, upewniliśmy się, że oba serwery DHCP udzielają tej samej odpowiedzi na każde żądanie DHCP. Znajomość adresu IP każdego zasobu sieciowego uprościła również administrowanie siecią, a DNS mógłby uruchomić tę samą bazę danych. System używał Internet Software Corporation BIND i DNS, a powiązane skrypty można pobrać pod adresem https://web.archive.org/web/20121031051901/http://www.pearbright.com/index.php/download/25- dns-dhcp-download .

Alternatywą byłoby użycie trybu failover ISC DHCPD: https://kb.isc.org/article/AA-00502/0/A-Basic-Guide-to-Configuring-DHCP-Failover.html

Peter Talbot
źródło
2
OP konkretnie poprosił o wyjaśnienie odpowiedzi na to pytanie. Możesz zrewidować swoją odpowiedź, aby ją rozwinąć.
Brent Pabst
3
fwiw, chociaż ta odpowiedź jest krótka i nigdy nie odrzucę bardziej szczegółowych informacji w kanonicznym zestawie pytań i odpowiedzi, pomyślałem, że była całkiem dobra, ponieważ wspomina nieco inną metodę redundancji DHCP.
Rob Moir
1
@DJ Pon3 Zgadzam się: Korzystam z podobnej konfiguracji jak twój duży serwer DHCP z wieloma witrynami (choć mniej VLANów) i używam tego samego podejścia co Peter Talbot dla 3/4 z tych VLANów.
Tonny
1
Link jest teraz zerwany :(
Siergiej Własow