Posso ter vários servidores DHCP em uma rede?


86

Esta é uma pergunta canônica sobre servidores DHCP redundantes.

É possível ter mais de um servidor DHCP na mesma LAN? Quais são as implicações de fazer isso?

  1. O que acontece se houver mais de um servidor DHCP disponível? Como meus clientes sabem qual usar?
  2. Como posso ter servidores DHCP fornecendo endereços para mais de um sub-rede \ segmento de rede?
  3. Como posso configurar vários servidores DHCP para fornecer endereços para a mesma sub-rede.

1
A idéia por trás dessa pergunta é fornecer uma resposta definitiva para todas as perguntas "Como posso ter mais de um servidor DHCP" que enlouquecem nossos usuários mais regulares. Esperamos que possa se tornar uma das nossas respostas canônicos ( meta.serverfault.com/questions/1986/... )
Rob Moir

2
RTFM? tools.ietf.org/html/draft-ietf-dhc-failover-12#section-5.3 (e rfc 3074) já definem esse comportamento, e o linux dhcpd o implementa manpages.ubuntu.com/manpages/precise/en/man5/ ...
Dani_l

2
@Dani_l talvez você deva seguir o link 'pergunta canônica' na pergunta e também talvez revisar os autores das respostas à minha pergunta aqui antes de me dizer que preciso do RTFM.
precisa saber é o seguinte

2
Não estou lhe dizendo para ler o manual. Apenas aponto que existe um manual. A questão é canônica, mas, quando aplicável, acredito que deve incluir referência a procedimentos "oficiais", se houver. Nesse caso, existe um IETF / RFC, e é o mais oficial possível.
Dani_l

Respostas:


96

Estou assumindo um conhecimento básico do que o DHCP faz e como configurar o servidor DHCP de sua escolha nesta resposta, mas antes de falarmos sobre vários servidores DHCP na mesma rede, primeiro vamos reconfigurar rapidamente como os clientes recebem endereços IP. do DHCP no nível mais básico.

O DHCP em uma rede simples funciona usando o princípio DORA.

  • Descoberta - o cliente transmite uma mensagem no segmento de rede local ao qual está conectado, para descobrir os servidores DHCP disponíveis.

  • Oferta - um servidor DHCP configurado adequadamente recebe uma solicitação de um cliente e oferece um endereço de seu pool de endereços disponíveis.

  • Solicitação - O cliente responde à oferta, solicitando o endereço recebido na Oferta.

  • Reconhecimento - O servidor reconhece a solicitação, marcando o endereço como usado em seu conjunto de endereços e informa ao cliente quanto tempo a concessão de endereço é válida e qualquer outra informação necessária.

Qualquer dispositivo em um segmento de rede pode ser um servidor DHCP; não precisa ser o roteador, o controlador de domínio ou qualquer outro dispositivo "especial" na rede.

Quando os dispositivos da sua rede solicitam um endereço IP pela primeira vez ou chegam ao final de suas concessões (ou você os força a verificar se a concessão ainda é válida), eles simplesmente transmitem uma solicitação para um servidor DHCP e aceitam uma oferta do primeiro Servidor DHCP para responder . É importante lembrar, pois examinamos as opções para vários servidores DHCP abaixo.

Vários servidores DHCP PT 1: abrangendo várias sub-redes.

Se você possui várias VLANs ou segmentos de rede físicos separados em sub-redes diferentes e deseja fornecer um serviço DHCP aos dispositivos em todas essas sub-redes, há duas maneiras de fazer isso.

  1. Se o switch do roteador / camada 3 que os separar puder atuar como um agente de retransmissão BOOTP / DHCP, você poderá continuar mantendo todos os seus servidores DHCP em uma ou duas partes centrais da sua rede e configurando seus servidores DHCP para suporta vários intervalos de endereços. Para suportar isso, seu roteador ou switch de camada 3 deve suportar a especificação do agente de retransmissão BOOTP abordada na seção 4 da RFC 1542 .

  2. Se o seu roteador não suportar agentes de retransmissão RFC 1542 BOOTP ou se alguns de seus segmentos de rede estiverem geograficamente dispersos em links lentos, será necessário colocar um ou mais servidores DHCP em cada sub-rede. Este servidor DHCP 'local' atenderá apenas aos requisitos de seu próprio segmento local e não há interação entre ele e outros servidores DHCP. Se é isso que você deseja, basta configurar cada servidor DHCP como um servidor autônomo, com os detalhes do pool de endereços para sua própria sub-rede e não se preocupar com outros servidores DHCP em outras partes da rede. Este é o exemplo mais básico de ter mais de um servidor DHCP na mesma rede.

Vários servidores DHCP PT 2: servidores DHCP que atendem ao mesmo segmento de rede.

Quando a maioria das pessoas pergunta sobre "vários servidores DHCP na mesma rede", o que eles geralmente estão pedindo é isso; eles desejam mais de um servidor DHCP emitindo o mesmo intervalo de endereços de rede para os clientes, seja para dividir a carga entre vários servidores ou para fornecer redundância se um servidor estiver offline.

Isso é perfeitamente possível, embora exija alguma reflexão e planejamento.

Do ponto de vista do "tráfego de rede", o processo DORA descrito no início desta resposta explica como mais de um servidor DHCP pode estar presente em um segmento de rede; o cliente simplesmente transmite uma solicitação de descoberta e o primeiro servidor DHCP a responder com uma oferta é o 'vencedor'.

Do ponto de vista do servidor, cada servidor terá um conjunto de endereços que pode emitir para os clientes, conhecido como escopo de endereço. Os servidores DHCP que atendem à mesma sub-rede não devem ter um único escopo "compartilhado", mas devem ter um escopo "dividido".

Em outras palavras, se você tiver um intervalo de endereços DHCP para emitir aos clientes de 192.168.1.100 a 192.168.1.200, os dois servidores deverão ser configurados para servir partes separadas desse intervalo, para que o primeiro servidor possa usar partes desse escopo de 192.168.1.100 a 192.168.1.150 e o segundo servidor emitia 192.168.1.151 a 192.168.1.200.

Escopo DHCP dividido, mostrando exclusões

As implementações mais recentes do DHCP da Microsoft têm um assistente para facilitar a divisão do seu escopo como este, descrito em um artigo do Technet que vale a pena examinar, mesmo que você não esteja usando a implementação do Microsoft DHCP, pois ilustra os princípios mencionados. aqui muito bem e esta resposta já é longa o suficiente.

Divisão do escopo - práticas recomendadas

Uma coisa que você ouvirá mencionada como prática recomendada é a regra 80/20 para dividir um escopo DHCP, o que significa que um servidor atenderá 80% dos endereços nesse escopo e o outro servidor DHCP, que está efetivamente 'reservado' servirá 20% dos endereços.

A idéia por trás da divisão dos endereços 80/20 é que 80% dos endereços disponíveis devem ser adequados para todos os endereços necessários em uma sub-rede, e as concessões de DHCP geralmente são emitidas por vários dias; portanto, se o servidor DHCP principal ficar inativo por algumas horas, é improvável que mais de 20% das máquinas nessa sub-rede precisem renovar seus endereços durante o tempo de inatividade, tornando suficiente o pool de 20% dos endereços.

Ainda é um conselho razoável, mas assume duas coisas:

  1. Que você pode resolver qualquer problema com o servidor DHCP “principal” com rapidez suficiente para evitar o esgotamento do pequeno pool de endereços no servidor DHCP de reserva.
  2. Que você não está interessado em balanceamento de carga.

Hoje em dia (como você pode ver nos meus exemplos), eu tendem a preferir divisões de 50/50, o que acho uma resposta mais realista aos pontos acima.

Outra coisa a considerar ao criar seus escopos nos servidores DHCP é configurar o escopo completo em cada servidor e excluir o intervalo fornecido pelo outro servidor DHCP. Isso tem o benefício de "auto-documentar" as informações de DHCP para a sub-rede completa em cada servidor DHCP, o que aumentará a clareza para qualquer pessoa que tente entender o que está acontecendo, e também no caso de um de seus servidores DHCP estar offline em algum momento, você pode reconfigurar temporariamente o intervalo de exclusão no outro servidor para permitir que ele recupere a folga.

Combinando essas idéias

Por fim, vale lembrar que você pode combinar os princípios discutidos acima - você pode colocar todos os seus servidores DHCP em uma ou mais VLANs de "servidor central" e usar agentes de retransmissão BOOTP em todos os seus roteadores para enviar todas as solicitações DHCP de uma região muito grande e segmentada rede a um serviço DHCP centralizado (que é o que faço, veja abaixo). Ou você pode ter servidores DHCP distribuídos por toda a sua rede, com um servidor DHCP "principal" em sua sub-rede local e um servidor DHCP "reserva" em um segmento de rede "próximo", fornecendo uma pequena quantidade de endereços como backup - você pode até ter dois servidores DHCP em seus próprios segmentos de rede configurados para fornecer um intervalo 80/20 de endereços um para o outro. A escolha mais sensata dependerá de como suas redes físicas e lógicas se mapearem.

Servidores DHCP que atendem a escopos divididos em várias sub-redes


3
Em caso de divisão de escopos: Lembre-se de que as reservas de DHCP devem ser configuradas nas duas partes. Mantê-los sincronizados pode ser um aborrecimento se você precisar fazer atualizações frequentes.
26412 Tonny

4
Você pode elaborar técnicas para garantir que o servidor DHCP de reserva não seja atingido enquanto o servidor DHCP principal estiver em execução? Pelo que pude ler, se houver uma probabilidade igual de obter uma resposta de qualquer servidor, o servidor de reserva ficaria estatisticamente sem endereços, assim que o número total de concessões exceder o dobro do tamanho do pool de reservas. Presumivelmente, isso torna o servidor de reserva inútil para novos clientes, quando o servidor DHCP principal está inoperante ... certo?
Niels B.

3
@NielsB. se você estiver fazendo algo como uma divisão 80/20, poderá definir um atraso na resposta do servidor de reserva ( blogs.technet.com/b/teamdhcp/archive/2009/01/22/… ). Eu não me incomodo com isso, já que uso uma divisão 50/50, mas funcionará.
Rob Moir 02/02

13

Adotei essa abordagem há alguns anos para uma rede de tamanho pequeno a médio (500 usuários) com benefícios consideráveis. O DHCP deixou de ser um único ponto de falha. Ao associar permanentemente endereços MAC e IP, garantimos que os dois servidores DHCP dessem a mesma resposta a cada solicitação de DHCP. Conhecer o endereço IP de cada ativo de rede também simplificou a administração da rede, e o DNS pode executar o mesmo banco de dados. O sistema utilizou o Internet Software Corporation BIND e o DNS e os scripts associados podem ser baixados em https://web.archive.org/web/20121031051901/http://www.pearbright.com/index.php/download/25- DNS-dhcp-download .

Uma alternativa seria usar o failover verdadeiro do ISC DHCPD: https://kb.isc.org/article/AA-00502/0/A-Basic-Guide-to-Configuring-DHCP-Failover.html


2
O PO solicitou especificamente uma resposta explicativa para esta pergunta. Você pode revisar sua resposta para expandi-la.
Brent Pabst

3
fwiw, embora essa resposta seja curta e nunca abaixarei mais os detalhes em um conjunto de perguntas e respostas canônicas, achei que era muito bom, pois menciona um método ligeiramente diferente de redundância de DHCP.
precisa

1
@ DJ Pon3 Eu concordo: eu corro uma configuração semelhante ao seu grande DHCP multi-site (embora menos VLANs) e uso a mesma abordagem que Peter Talbot para 3/4 dessas VLANs.
26612 Tonny

1
O link está quebrado agora :(
Sergey Vlasov
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.