Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores DHCP (Dynamic Host Configuration Protocol) Professor Eduardo Maroñas Monks SUMÁRIO • • • • • • • Histórico Objetivos Funcionalidades Protocolo Aplicações Segurança Referências Bibliográficas Prof. Eduardo M. Monks - Redes de Computadores III 2 Histórico • Década de 70 • A Internet era usada somente para pesquisas acadêmicas, com poucos hosts • Não havia a necessidade de automatizar as configurações dos hosts • Início de 80 • Necessidade de configurar automaticamente hosts sem armazenamento (diskless) • Primeira solução: protocolo RARP (Reverse ARP) na RFC 903 • Mapeamento de IP para endereço MAC • Limitado • Definido o protocolo BOOTP (BOOTSTRAP Protocol ) RFC 951 • Evolução do RARP • Opções de configuração incluídas • 1989 • Primeiras iniciativas do IETF para automatização de configurações em hosts com mais recursos • DHCP (Dynamic Host Configuration Protocol), definido na RFC 2131 Prof. Eduardo M. Monks - Redes de Computadores III 3 Objetivo • De acordo com a RFC 2131 • O DHCP (Dynamic Host Configuration Protocol) provê um mecanismo que possibilita o envio de configurações para hosts em uma rede TCP/IP. • O mecanismo de DHCP é composto por dois componentes principais: • Um protocolo para o repasse de parâmetros de configuração para os hosts, baseado em cliente/servidor • Uma estrutura para alocação de endereços de rede para os hosts Prof. Eduardo M. Monks - Redes de Computadores III 4 Funcionalidades • Eliminar a configuração manual dos hosts • Evitar o conflito de endereçamento • Não necessitar de um servidor de DHCP por subrede • Permitir múltiplos servidores na rede • Possibilitar que os hosts possam movidos entre redes • Plug & Play Prof. Eduardo M. Monks - Redes de Computadores III 5 Protocolos • BOOTstrap Protocol (BOOTP) • Padronizado em 1985 • Os hosts podem configurar os parâmetros de endereçamento na inicialização (boot) • Provê 3 serviços para os hosts: • Definição de endereço IP • Detecção de endereço IP do servidor • Nome do arquivo a ser carregado e executado pelo cliente para dar boot • Fornece além do endereço IP, o gateway, a máscara de subrede e outros • As mensagens são enviadas por meio do protocolo UDP, nas portas 67 (servidor) e porta 68 (cliente) • As mensagens são enviadas em broadcast limitado(255.255.255.255), somente para a rede local (não existe forma de repassar o broadcast para outras redes) Prof. Eduardo M. Monks - Redes de Computadores III 6 Protocolos • BOOTstrap Protocol (BOOTP) • Formato do pacote OpCode Hardware Type Number of Seconds Hardware Address Hop Count Length Unused (in BOOTP) Flags (in DHCP) Transaction ID Client IP address Your IP address Server IP address Gateway IP address Client hardware address (16 bytes) Server host name (64 bytes) Boot file name (128 bytes) Options Prof. Eduardo M. Monks - Redes de Computadores III 7 Protocolos • BOOTstrap Protocol (BOOTP) • Troca de mensagens Argon 00:a0:24:71:e4:44 BOOTP Server BOOTP Request 00:a0:24:71:e4:44 Sent to 255.255.255.255 • BOOTP pode ser usado para o download de imagens de boot para estações diskless • Definição dos endereços IP para os hosts é estática Prof. Eduardo M. Monks - Redes de Computadores III 8 Protocolos • Dynamic Host Configuration Protocol (DHCP) • Padronizado 1993 • Uma extensão do protocolo BOOTP • Mesmas portas e protocolo da camada de transporte que o BOOTP • Melhorias em relação ao BOOTP: • Provê alocação temporária de endereços IP • O cliente DHCP pode adquirir todos os parâmetros de configuração para funcionar • O DHCP é o mecanismo preferencial para configuração dinâmica de hosts • O DHCP é compatível com clientes BOOTP Prof. Eduardo M. Monks - Redes de Computadores III 9 Protocolos • Dynamic Host Configuration Protocol (DHCP) • Troca de mensagens Argon 128.143.137.144 00:a0:24:71:e4:44 DHCP Server DHCP Response: IP address: 128.143.137.144 Default gateway: 128.143.137.1 Netmask: 255.255.0.0 Prof. Eduardo M. Monks - Redes de Computadores III 10 Protocolos • Dynamic Host Configuration Protocol (DHCP) • Tipos de mensagens • Enviada no campo Options Valor Prof. Eduardo M. Monks - Redes de Computadores III Tipo de Mensagem 1 DHCPDISCOVER 2 DHCPOFFER 3 DHCPREQUEST 4 DHCPDECLINE 5 DHCPACK 6 DHCPNAK 7 DHCPRELEASE 8 DHCPINFORM 11 Protocolos • Dynamic Host Configuration Protocol (DHCP) • Outras opções que podem ser configuradas no servidor • Máscara de subrede • Servidor de DNS • Nome do Host • Nome do domínio • Endereço de broadcast • Rotas estáticas • Tempo de renovação do empréstimo • Servidor de tempo Prof. Eduardo M. Monks - Redes de Computadores III 12 Protocolos • Dynamic Host Configuration Protocol (DHCP) • 4 momentos onde o host troca mensagens DHCP: • INIT (inicialização) – solicita o endereçamento e demais configurações • INIT-REBOOT (inicialização após reset) – confirma a validação do endereçamento e configurações prévias • RENEWING (renovação) - solicita o prolongamento do empréstimo do endereço para o servidor que forneceu inicialmente • REBINDING (renovação indiscriminada) solicita renovação de qualquer servidor disponível Prof. Eduardo M. Monks - Redes de Computadores III 13 Protocolos • Dynamic Host Configuration Protocol (DHCP) • Operação DHCP Client 00:a0:24:71:e4:44 • DHCP Discover • DHCP Server DHCPDISCOVER Sent to 255.255.255.255 Cliente>Broadcast DHCP Server DHCP Client 00:a0:24:71:e4:44 • DHCP Offer • DHCPOFFER DHCP Server DHCPOFFER Servidor->Cliente DHCP Server Prof. Eduardo M. Monks - Redes de Computadores III 14 Protocolos • Dynamic Host Configuration Protocol (DHCP) • Operação DHCP Client 00:a0:24:71:e4:44 DHCP Server DHCPREQUEST • DHCP Request • DHCPACK Cliente>Broadcast DHCP Server DHCP Client 00:a0:24:71:e4:44 • DHCP ACK • Servidor->Cliente DHCP Server DHCPREQUEST DHCPACK DHCP Server Prof. Eduardo M. Monks - Redes de Computadores III 15 Protocolos • Dynamic Host Configuration Protocol (DHCP) • Operação DHCP Client 00:a0:24:71:e4:44 • DHCP Release • DHCP Server DHCPRELEASE Cliente->Servidor DHCP Server Prof. Eduardo M. Monks - Redes de Computadores III 16 Protocolos • Dynamic Host Configuration Protocol (DHCP) • Fluxo de mensagens • • • • • Prof. Eduardo M. Monks - Redes de Computadores III Discover: o cliente tenta achar servidores disponíveis Offer: os servidores de DHCP respondem com suas ofertas Request: o cliente seleciona uma das ofertas e faz uma requisição ACK: o servidor reconhece a requisição Quando 50% do empréstimo expirar, o cliente solicitará renovação • Se um ACK for recebido, renova o temporizador de empréstimo • Se um NAK for recebido, volta para o estado inicial (Discover) 17 Aplicações • Clientes e servidores de DHCP existem para a maioria dos sistemas operacionais. • No Linux, a implementação mais comum é o ISC DHCP para cliente e servidor • No Windows, o MS DHCP Server é o mais utilizado • Atualmente, todos os modens/roteadores ADSL possuem uma implementação de servidor DHCP e cliente para receber o IP do provedor Prof. Eduardo M. Monks - Redes de Computadores III 18 Aplicações • Servidor DHCP • Responsável por prover os mecanismos de controle de distribuição das configurações • As configurações básicas a serem definidas são: • Faixa de IPs a serem oferecidos • Máscara de subrede • Gateway padrão • Servidor de DNS • Tempo de empréstimo do IP • Exemplo de configuração do ISC DHCPd Prof. Eduardo M. Monks - Redes de Computadores III 19 Aplicações • Cliente DHCP • Responsável por solicitar as configurações ao servidor • No Microsoft Windows, o utilitário ipconfig possui funcionalidades para gerenciamento dos empréstimos • No Linux, o utilitário mais comum é o dhclient Prof. Eduardo M. Monks - Redes de Computadores III 20 Segurança • Problemas de segurança mais comuns ao DHCP : • Configurações erradas no DHCP • Gateway default errado • Máscara de rede • Faixa de IPs sendo usados manualmente e oferecidos pelo servidor de DHCP • Instalação de um servidor DHCP não permitido na rede (Rogue DHCP - http://en.wikipedia.org/wiki/Rogue_DHCP) • • Difícil de detectar Normalmente, a inserção de dispositivos de rede com o servidor de DHCP ativado por padrão gera este problema • Uso malicioso para roubo de informações (gateway default apontando para a máquina do interessado...) • Serviço do DHCP desativado por problemas no servidor • Existem formas de usar autenticação para serviços de DHCP que diminuem os problemas de segurança • (http://tools.ietf.org/html/rfc3118) Prof. Eduardo M. Monks - Redes de Computadores III 21 Referências Bibliográficas • ISC DHCP – http://www.isc.org/software/dhcp • Dynamic Host Configuration Protocol http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protoco l • DROMS, Ralph;LEMON, Ted. DHCP Handbook. 2nd edition, SAMS Publishing, 2003. Prof. Eduardo M. Monks - Redes de Computadores III 22