DHCP significa Dynamic Host Configuration Protocol. Basicamente é um mecanismo que atribui endereços IP a computadores de forma dinâmica. Normalmente DHCP é um serviço que roda em uma máquina servidora na rede para atribuir endereços IP dinâmicos aos hosts.
No entanto, Os Cisco Routers (e outros dispositivos como firewalls ASA, etc) podem funcionar também como servidor DHCP, substituindo assim uma máquina dedicada a esta tarefa.
Uma das configurações mais interessantes dentro do IOS da Cisco, na minha opinião, é o IP DHCP Pools. Com esta funcionalidade pode configurar um switch ou router Cisco para actuar como um servidor DHCP.
Este recurso é útil em vários casos, incluindo alguns dos seguintes; DHCP severo para pequenas empresas, servidor DHCP de recuperação de desastres ou ajuda na configuração de dispositivos de endereço IP estático. Vamos analisar cada caso com mais detalhes.
Cisco IOS DHCP pool pode ser configurado para pequenas empresas onde a compra de um DHCP autônomo não é economicamente viável. Pequenas empresas têm que “trabalhar com o que têm” e usar um roteador ou switch Layer 3 que já está no ambiente de rede é uma ótima maneira de fazer isso.
A economia de um plano de recuperação de desastres é fundamental para a continuidade do negócio. Ter o Cisco Router DHCP no seu bolso de trás pode fazer de você um herói no final de um dia inesperado. Usando esta tecnologia você pode ter um modelo de configuração de backup em seu arsenal para um dia ruim.
Mais e mais dispositivos de rede estão vindo com DHCP habilitado por padrão nestes dias. Alguns dispositivos como, câmeras IP, impressoras, ponto de acesso sem fio e outros dispositivos. Using a configured DHCP pool makes it much easier to remotely access these devices and assign static IP addresses as desired.
Lets take a closer look at the configuration and design.
Steps:
1- Create DHCP Pool
2- Specify the following:
- Network (Subnet Address with Network Mask)
- Default Router (Better known as “Default Gateway”)
- DNS Servers
- DHCP Options (Optional)
3- Exclude any addresses reserved for static address assignment, including the default gateway.
DHCP Configuration Commands:
Router(config)# ip dhcp pool VLAN_10
Creates a DHCP Pool named VLAN_10. Dentro deste Pool iremos especificar os itens mencionados acima.
Router(dhcp-config)# rede 172.16.10.0 255.255.255.0
Especifica a rede para o Pool DHCP VLAN_10 como o 172.16.10.0/24 rede.
Router(dhcp-config)# router padrão 172.16.10.1
Especifica que o “gateway padrão” para os clientes dhcp será 172.16.10.1.
Router(dhcp-config)# dns-server 172.16.2.10
Especifica que o servidor DNS será 172.16.2.10
Router(config)# ip dhcp excluded-address 172.16.10.1 172.16.10.20
O comando acima diz ao roteador para excluir endereços 172.16.10.1 até 172.16.10.20 da alocação DHCP. Estes endereços não serão entregues aos clientes. O primeiro endereço a ser usado será 172.16.10.21.
Opcional
Router(dhcp-config)# opção 150 ip 172.16.2.20
Especifica as opções opcionais de DHCP necessárias. Acima da opção DHCP de 150 para Servidor TFTP foi definida para 172.16.2.20.
Verificação:
Show ip dhcp binding
O comando acima irá exibir todos os endereços IP DHCP alocados e seu tempo de locação.
Reencaminhar pedidos de DHCP usando o endereço ip helper Command
DHCP, como todos sabemos, é um protocolo de broadcast (vergonha para si se ainda não o sabe 🙂 !!) que normalmente funciona apenas no mesmo domínio de broadcast Layer 2.
Isto significa que precisa de ter o seu servidor DHCP ligado à mesma sub-rede de rede que os clientes DHCP? Se este fosse o caso, não seria de todo flexível ou económico.
E se tiver segmentado a sua rede interna em muitas sub-redes diferentes e se tiver clientes DHCP em todas essas sub-redes. Isso significaria que você deve ter um servidor DHCP para cada sub-rede?
Felizmente, você não precisa ter essa situação. Com o comando Cisco “ip helper-address” configurado na interface Layer3 que recebe a transmissão DHCP do cliente, você pode transformar a solicitação de transmissão em um unicast e enviá-la para um servidor DHCP centralizado que pode ser localizado para uma sub-rede diferente em sua rede.
A solicitação unicast DHCP será roteada normalmente para o servidor DHCP de destino dentro da rede, mesmo que o servidor esteja longe do cliente DHCP.
O servidor DHCP deve ter um escopo IP Pool apropriado configurado para a subrede específica de onde veio a solicitação DHCP.
Usando este escopo IP, o servidor irá atribuir um endereço IP apropriado para o cliente solicitante. Por exemplo, se a sub-rede cliente DHCP for 192.168.1.0/24, então o servidor DHCP remoto deve ter um IP Pool configurado para atribuir endereços dentro da faixa 192.168.1.0/24.
A sub-rede cliente DHCP de origem é determinada pelo endereço IP atribuído à interface Layer3 que tem o endereço IP helper-address configurado.
Vejamos um exemplo de cenário abaixo com um snapshot de configuração.
Do diagrama de rede acima, dois PCs clientes DHCP estão localizados atrás do Roteador A.
Interface Fe0/0 do roteador tem endereço IP 192.168.1.1/24.
Os clientes DHCP começarão a transmitir solicitações DHCP para obter suas informações de endereço IP atribuídas a partir de um servidor.
Por padrão, essas solicitações de transmissão DHCP serão confinadas dentro do Switch A e nunca chegarão a nenhuma outra sub-rede além do Roteador A.
Ao configurar um “ip helper-address 10.10.10.1” na interface Fe0/0 do Roteador A, dizemos ao roteador para transformar a transmissão DHCP em um unicast DHCP e enviá-lo para o servidor DHCP de destino 10.10.10.1.
O servidor verá que a solicitação DHCP veio da subrede de origem 192.168.1.0/24 e, portanto, atribuirá um endereço IP apropriado de um escopo de pool de IP configurado dentro da faixa 192.168.1.0.
Configuração no Roteador A
RouterA# conf t
RouterA(config)# interface fastethernet0/0
RouterA(config-if)# endereço ip 192.168.1.1 255.255.255.0
RouterA(config-if)# endereço ip helper-address 10.10.10.1
Algumas outras considerações importantes para ip helper-address
Por padrão, o comando ip helper-address encaminha também alguns outros protocolos de transmissão, além do protocolo DHCP (BOOTP). Ele encaminha por padrão os seguintes oito protocolos de transmissão UDP:
- UDP 37 (Time protocol)
- UDP 49 (TACACS)
- UDP 53 (DNS)
- UDP 67 (DHCP Server)
- UDP 68 (DHCP Client)
- UDP 69 (TFTP)
- UDP 137 (NetBios)
- UDP 138 (NetBios Datagram service)
Se você quiser adicionar mais protocolos de transmissão a serem encaminhados, ou mesmo remover alguns dos protocolos de encaminhamento padrão, você pode usar o comando “ip forward-protocol” no modo de configuração global.
Exemplo: Remova os protocolos NetBios (137.138) de serem encaminhados por padrão, e adicione o protocolo NTP 123 para ser encaminhado pelo helper-address do ip.
RouterA(config)# no ip forward-protocol udp 137
RouterA(config)# no ip forward-protocol udp 138
RouterA(config)# ip forward-protocol udp 123
Configuração Exemplo de DHCP em Roteadores Cisco
Todos os modelos da série Cisco têm a capacidade de trabalhar como servidores DHCP, atribuindo assim endereços aos hosts LAN internos. Sem um servidor DHCP na rede, você teria que atribuir endereços IP manualmente a cada host. Esses endereços atribuídos manualmente também são chamados de “endereços IP estáticos”.
Na seção seguinte, mostrarei como configurar um roteador Cisco 851 ou 871 para trabalhar como servidor DHCP. A mesma configuração se aplica também para outros modelos de roteadores série.
Router> enable
Router# config t
! define um nome de pool de endereços IP e intervalo
Router(config)# ip dhcp pool LANPOOL
! define um intervalo de rede para os endereços que serão atribuídos
Router(dhcp-config)# rede 192.168.1.0 255.255.255.0
! define um nome dns para atribuir aos clientes
Router(dhcp-config)# domínio-nome mycompany.com
! define um gateway padrão para os clientes
Router(dhcp-config)# default-router 192.168.1.1
! define o servidor dns para os clientes
Router(dhcp-config)# dns-server 100.100.100.1
! defina um servidor WINS se você tiver um
Router(dhcp-config)# netbios-name-server 192.168.1.2
Router(dhcp-config)# exit
!Os seguintes endereços não serão fornecidos aos clientes
Router(config)# ip dhcp excluded-address 192.168.1.1 192.168.1.10