Aprenda a configurar um sistema Failover para DHCP

21 Comentários

Por António Sousa para o Pplware

O DHCP, Dynamic Host Configuration Protocol, é um protocolo de serviço TCP/IP que distribui automaticamente configurações de rede aos terminais, que se liguem na rede.

Para além de um endereço de rede (IP), este servidor oferece também a máscara de rede, Default Gateway, servidor(es) de DNS, domínio a que as máquinas pertencem, etc.

No post anterior explicamos como funciona o serviço de DHCP e exemplificamos como devem ser as configurações básicas num servidor de DHCP. E se o servidor DHCP falhar?

dhcp_failover

E se o nosso servidor parar de atribuir IP’s, o que acontece?

Caso o servidor de DHCP falhe, temos um caso muito sério para resolver, porque temos os colaboradores da nossa empresa todos offline e não podem aceder a recursos de rede, logo não estão a produzir, não estão a gerar lucro.

Qual a solução?

Hoje vou apresentar-vos uma solução baseada em software opensource, que resolverá o problema descrito acima, instalando um sistema de DHCP Failover.

Como funciona o DHCP Failover?

O DHCP Failover consiste em termos dois servidores de DHCP (um primário e outro secundário), que partilham a(s) mesma(s) pool(s) de IP’s e comunicam entre si, para que saibam sempre quais são os IP’s que já estão alugados. No case de um dos servidores falhar o outro assume automaticamente as funções, mantendo sempre os alugueres que foram atribuídos pelo outro servidor.

dhcp_13

Caso prático

Para este caso prático vamos precisar de duas máquinas com ubuntu server, o software isc-dhcp-server e um switch para ligar máquinas.

Nota: Vai ser utilizada a máquina configurada no tutorial anterior.

Inicialmente as máquinas foram configuradas com IP estático. Para isso basta editar o ficheiro /etc/network/interfaces

  • Máquina 1 – IP: 10.10.10.1/24, na interface eth1
  • Máquina 2 – IP: 10.10.10.2/24, na interface eth1

Instale o servidor de DHCP em ambas as máquinas:

$ sudo apt-get update
$ sudo apt-get install isc-dhcp-server

Depois de instalado o software, é necessário definir o interface de rede onde o servidor vai estar à escuta. Para isso basta editar o ficheiro /etc/default/isc-server-dhcp e colocar a interface que vai estar a escuta, no nosso caso é a “eth1”.

Vamos agora à parte mais importante, que é configurar o ficheiro /etc/dhcp/dhcpd.conf.

Configuração da Máquina 1

dhcp_14

Como se vê na figura acima, existe uma declaração de um “cluster” de DHCP, em que o primário usa o IP 10.10.10.1 e o secundário usa o 10.10.10.2, comunicando através da porta 647.

Configuração da Máquina 2

dhcp_15

No final de todas as configurações, deve guardar os ficheiros e fazer um restart no serviço em ambas as máquinas, recorrendo ao comando:

$ sudo service isc-dhcp-server restart

Se tudo correu bem, ser-lhe-á mostrada uma mensagem de sucesso e o número de processo.

Para testar esta solução pode abrir o log de ambas as máquinas, recorrendo ao comando $ tail –f /var/log/syslog e verificar que as máquinas estão a comunicar.

Ao ligar máquinas à rede, irá verificar que ambas fazem ofertas, mas apenas uma delas satisfaz o pedido. Por fim aconselho a desligar um deles para testarem o failover e constatarem que o serviço é assegurado pela máquina que ficou ativa.

dhcp_12

Para quem a disponibilidade de serviços é um factor importante, nada melhor que ter um serviço redundante. Como vimos, configurar um DHCP com failover é algo bastante simples e rápido.

No seguimento destes tipo de artigos, aproveitamos para lançar uma questão:

Que outros serviços de rede gostariam de ver abordados no Pplware?

Homepage: DHCP

Comentários

21

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Ricardo Gaio
    Ricardo Gaio

    Parabéns pelo artigo! Muito bom.

    1. Avatar de Nuno Alexandre
      Nuno Alexandre

      Excelente, um dia se possivel gostaria de ler um artigo sobre Bind9.

      Obrigado.

      1. Avatar de António Sousa
        António Sousa

        Nós próximos dias devo escrever um tutorial sobre bind9.

        Fiquem atentos!

  2. Avatar de rui_e90
    rui_e90

    muito bom, tenho que implementar um sistema idêntico com 2 servidores windows server 2008.

    1. Avatar de Hugo Monteiro
      Hugo Monteiro

      Em Windows Server 2008R2? Acaba por ainda ser mais simples 😉

      1. Avatar de Miguel Porto
        Miguel Porto

        Sim, é só uns cliques. Mas o princípio é o mesmo 🙂

        1. Avatar de FM
          FM

          No W2008R2 é ainda mais simples? Hum… Algum tutorial? 🙂

  3. Avatar de int3
    int3

    DHCP Relay em servidor remoto pela net que tal? Eu sei como é.
    Vou comprar um router da asus que suporta tunel L2TP e vou ligar-lo com um servidor VPS e correr lá (no servidor) DHCP. Os pacotes broadcast e unicast passam pelo tunel visto que é a partir da Layer2. Isso sim era alta cena para se fazer 😀

    Mal tenha as mãos nesse router, vai ser mesmo altamente 😛

    1. Avatar de Ricardo Silva
      Ricardo Silva

      DHCP Relay ?
      Uma coisa é failover de um serviço, outra coisa é “relay”.
      Não me parece que saibas como é tal como dizes.
      Depois vais comprar um router asus para fazer L2TP ? Mas o router da Asus inicia sessão ou é só para deixar passar. É que para isso qualquer um faz VPN passtrough.
      Os pacotes broadcast e unicast passam pelo tunel. Bom depende, mas como estás a pensar esse router asus não vai dar.
      Algum tipo de bridge tem que existir caso contrário eles não passam. Unicast passa …. mal feito fora 😀

  4. Avatar de Einek
    Einek

    Boas.

    É possível termos o servidor DHCP principal em Windows Server 2008R2 e utilizar um router cisco como servidor secundário? Sendo que ambos têm possibilidades de DHCP.

    Cumps

  5. Avatar de Pedro Miguel Lourenco
    Pedro Miguel Lourenco

    Muito bom artigo, obrigado!

  6. Avatar de Manuel Silva
    Manuel Silva

    Muito bom, eu gostaria que me apontassem um bom software de DHCP standalone e gratuito. Tenho um projecto de hotspot em mãos mas o software que uso tem muitos problemas em gerir sessões activas e em simultâneo atribuir IPs.

    1. Avatar de Pedro Pinto
      1. Avatar de Manuel Silva
        Manuel Silva

        Sim mas esqueci-me de mencionar que o software que pretendo e para windows 🙂

        1. Avatar de Carlos Lobão
          Carlos Lobão

          Maquina virtual deste na maquina windows

  7. Avatar de Filipe YaBa Polido
    Filipe YaBa Polido

    Mt bom, dá sempre jeito. Obg.

  8. Avatar de Fábio Pereira
    Fábio Pereira

    Amigo, boa tarde!

    Excelente artigo e de uma essencial utilização nas organizações, principalmente por ser um Sistema GNU-Linux.
    Desejo ver em um dos seus artigos a redundância do Serviço de DHCP do Windows Server 2008 R2. Já existem materiais muito legais sobre a redundancia no Server 2012, mas estou com muita dificuldade de criar este ambiente automatizado. A minha solução foi manter um segundo Servidor em stand-by, porém, o dia que eu não estiver presente, ainda sim terei problemas.

    Muito obrigado pela oportunidade!

    Atenciosamente,

    Fábio Pereira

  9. Avatar de Miguel Rodrigues
    Miguel Rodrigues

    Respondendo à questão: “Que outros serviços de rede gostariam de ver abordados no Pplware?” Gostava que falassem de Redes Mesh, “Redes comunitárias de acesso livre”.

  10. Avatar de Carlos Lobão
    Carlos Lobão

    “Que outros serviços de rede gostariam de ver abordados no Pplware?”

    Não sei se já há aqui algum mas LDAP dava muito jeito

  11. Avatar de Fábio Pereira
    Fábio Pereira

    Olá, boa noite!

    Gostei muito da didática e do assunto abordado.
    Quero recomendar a criação de um documento que fale sobre iptables, mas especificamente a configuração básica de um Firewall, onde tudo é bloqueado e as portas 80, 443 e 563 sejam liberadas, além das demais configurações necessárias para o funcionamento deste Firewall.

    Um abraço e muito obrigado pela oportunidade da postagem.

  12. Avatar de Miguel Rodrigues
    Miguel Rodrigues

    Já alguem “ouviu” falar de protocolos de rede como Better Approach To Mobile Adhoc Networking (B.A.T.M.A.N.)” https://en.wikipedia.org/wiki/B.A.T.M.A.N. ??