+ Responder ao Tópico



  1. #1

    Question Servidor DHCP + router com relay

    Olá pessoal eu estou com uma dúvida aqui sobre o funcionamento dessa parceria, um servidor linux DHCP + um roteador (Linux ou um outro cisco, juniper) fazendo relay!

    O que eu gostaria de fazer seria ter um servidor dhcp com várias declarações de sub-redes e que um roteador faça relay para os hosts dessas diversas sub-redes. Eu não estou entendendo bem como é que ocorrerá e como o servidor DHCP irá saber de qual das sub-redes declaradas ele precisa servir o endereço IP!

    Alguém tem alguma idéia de como funciona isso?
    Se eu não expliquei muito bem por favor não deixem de perguntar!! Hehehe
    Valeu!!

    André

  2. #2

    Thumbs up

    Bom pessoal, eu mesmo vou responder aqui! Hehehe
    Eu falei com um amigo aqui de um provedor e me disse que é possível fazer o relay, porém considerando um servidor DHCP servindo um único POOL de uma rede, imagino que nesse caso seria necessário fazer um servidor DHCP para cada rede separada. Eu penso que o Relay do roteador não seja capaz de fazer uma identificação de que rede esta vindo a requisição e que o próprio daemon do DHCP não seja capaz de analisar isso HOJE!

    Porém como eu não tenho tantas máquinas colocamos o servidor DHCP em um switch com TRUNK das VLANs que precisam de IPs dinâmicos, criei interfaces virtuais no linux, fiz declaração para cada rede no dhcpd.conf e iniciei o serviço sem problemas.

    Se alguém sabe bem como é o funcionamento do relay nos roteadores ou mesmo no linux seria interessante postar!! Podemos aprender mais com isso! Hehehe

    Bom, foi isso que aconteceu por aqui!!
    Abraços,

    André

  3. #3

    Padrão

    Olá pessoal!

    Eu reabri este tópico pois hoje eu estava fazendo testes com um provedor com dhcp relay para várias redes!
    Conseguimos fazer funcionar! O roteador que estavamos usando é um da Juniper, não tenho o modelo!

    Basicamente tinhamos uma VLAN reservada para isso em uma rede pequena (255.255.255.252).
    Criei os pools de DHCP dentro do arquivo de configuração do servidor dhcp3-server e uma configuração vazia
    para a rede que nos conectava para não ter erro de inicialização. O arquivo era mais ou menos assim:

    Código :
    authoritative;
    ddns-update-style none;
    log-facility local7;
     
    local-address 5.5.5.2;
    local-port 67;
     
    subnet 6.6.6.0 netmask 255.255.255.0 {
        ddns-updates off;
        default-lease-time 86400;
        max-lease-time 86400;
        option subnet-mask 255.255.255.0;
        option broadcast-address 6.6.6.255;
        option routers 6.6.6.1;
        range 6.6.6.150 6.6.6.160;
    }
     
    subnet 6.6.7.0 netmask 255.255.255.0 {
        ddns-updates off;
        default-lease-time 86400;
        max-lease-time 86400;
        option subnet-mask 255.255.255.0;
        option broadcast-address 6.6.7.255;
        option routers 6.6.7.1;
        range 6.6.7.150 6.6.7.160;
    }
     
    subnet 5.5.5.0 netmask 255.255.255.252 {
    }
    Com essa configuração tive requisições com sucesso nas duas redes configuradas!
    No log tinha entradas assim:

    Código :
    Aug  8 12:57:15 dhcp-server dhcpd: DHCPDISCOVER from 00:19:d1:55:63:a4 (SUPERCOMP) via 6.6.6.1
    Aug  8 12:57:16 dhcp-server dhcpd: DHCPOFFER on 6.6.6.160 to 00:19:d1:55:63:a4 (SUPERCOMP) via 6.6.6.1
    Aug  8 12:57:16 dhcp-server dhcpd: DHCPREQUEST for 6.6.6.160 (5.5.5.2) from 00:19:d1:55:63:a4 (SUPERCOMP) via 6.6.6.1
    Aug  8 12:57:16 dhcp-server dhcpd: DHCPACK on 6.6.6.160 to 00:19:d1:55:63:a4 (SUPERCOMP) via 6.6.6.1
    Como vocês podem ver as negociações sempre passam por 6.6.6.1 que era o roteador fazendo relay!
    Esse mesmo log se repete para a outra rede 6.6.7.0!
    Só quis colocar isso aqui pois eu mesmo não tinha certeza disso e vi que funciona bem!
    O que o servidor DHCP verifica é de onde esta vindo a requisição, no caso o IP do roteador que recebeu a requisição e oferece um ip do pool definido para essa rede!

    Claro que no servidor eu precisei definir rotas estaticas para cada uma dessas redes:

    Código :
    route add -net 6.6.6.0 netmask 255.255.255.0 gw 5.5.5.1
    route add -net 6.6.7.0 netmask 255.255.255.0 gw 5.5.5.1
    Bom pessoal é isso ai!
    Espero que isso acabe ajudando alguém um dia!

    André