Configurando DHCP em roteadores Cisco

Configurando DHCP em roteadores Cisco
Yuri Matheus
Yuri Matheus

Compartilhe

Imagem de destaque #cover

Estou configurando a rede em uma empresa. Nesta empresa, existem dez computadores e um servidor, ambos conectados a um switch que, por sua vez, está conectado a um roteador.

Essas máquinas precisam se comunicar, portanto precisam de um endereço para encaminhar e receber suas mensagens. Esse endereço é conhecido como endereço IP.

Cada máquina na rede (computadores, o servidor, roteador) deve possuir um endereço IP válido para que exista comunicação.

Nesse caso, são onze máquinas (dez computadores e um servidor), mas poderiam ser vinte, cinquenta, cem máquinas. Teríamos que alocar todos, um por um? Isso, além de tomar muito tempo, pode causar alguns erros, como alguma máquina sem endereço ou com endereços repetidos.

Não existe alguma maneira de designar o endereço de todas as máquinas automaticamente?

Conseguimos fazer nosso roteador entregar os endereços IPs para cada máquina que fizer a requisição. Dessa maneira, não precisamos configurar máquina por máquina e, além de economizar tempo que seria usado para alocar os endereços, essa prática evita de ter endereços repetidos.

O protocolo que realiza isso é chamado de DHCP.

O que é o DHCP

DHCP (Dynamic Host Configuration Protocol) é o protocolo que distribui endereços IPs, para as máquinas. Desta forma, cada máquina que fez a requisição recebe um endereço IP e um gateway.

Vamos especificar apenas o endereço do servidor manualmente. Dessa forma o IP do servidor não mudará, já que, caso isso ocorra, alguns serviços providos podem ficar indisponíveis.

Colocarei o endereço do servidor como 192.168.0.2, mas pode ser aquele que mais se adequa a seu projeto.

Agora vamos ver como configurar nosso DHCP!

Banner da promoção da black friday, com os dizeres: A Black Friday Alura está chegando. Faça parte da Lista VIP, receba o maior desconto do ano em primeira mão e garanta bônus exclusivos. Quero ser VIP

Configurando o DHCP nos roteadores Cisco

Para realizar a configuração do serviço de DHCP em um roteador Cisco, precisamos acessá-lo via terminal. No terminal temos que acessar o modo de usuário privilegiado. Para isso digitamos: > enable.

Agora precisamos falar para o roteador que ele será configurado (configure) via o terminal (terminal):

# configure terminal

Vamos falar para ele que o que vamos configurar agora é o serviço IP (ip) para a rede, que entregará os endereços (dhcp). Esse serviço terá o nome (pool) que, no nosso caso, será chamado de REDE.

(config) # ip dhcp pool REDE

Precisamos especificar agora qual a nossa rede (network).

Nossa rede pode ser qualquer uma que esteja dentro de um endereço de IP privado. Neste caso vou utilizar o endereço de rede 192.168.0.0 mas pode ser aquele que melhor se adequar ao caso (desde que seja um endereço válido).

(dhcp-config) # network 192.168.0.0

Além do endereço, temos que dizer qual será a máscara da rede vamos utilizar.

A máscara de rede (ou de sub-rede) é o que divide o endereço IP em duas partes: endereço da rede e endereço do host. Cada vez que na máscara conter um 255, significa que aquela parte do endereço IP pertence a rede.

Rede: 10
Host: 0,0,0
Máscara: 255,0,0,0

Por exemplo, um endereço de rede igual a 10.0.0.0 e sua máscara de rede igual a 255.0.0.0. Isso indica que todos os computadores com endereço 10.alguma_coisa pertencem a rede.

Isto é, o host 10.0.1.0 pertence a essa rede, da mesma forma que o host 10.1.2.3. Já que o 255 indica qual é a rede:

Agora, se tivéssemos um host com o IP 11.0.1.2 ele não pertenceria a rede dos anteriores, pois o que indica a rede é o 10, que representa o 255 na máscara.

Dependendo da máscara dizemos se o IP é de classe A, B, ou C. Em redes privadas funcionam basicamente assim:

  • IP da rede: 10.0.0.0 à 10.255.255.255- IP classe A - Máscara padrão: 255.0.0.0

  • IP da rede: 172.16.0.0 à 172.31.255.255 - IP classe B - Máscara padrão: 255.255.0.0

  • IP da rede: 192.168.0.0 à 192.168.255.255- IP classe C - Máscara padrão: 255.255.255.0

Neste caso vou utilizar a padrão da classe C (255.255.255.0). Dessa forma, o endereço 192.168.0 pertence a rede.

(dhcp-config) # network 192.168.0.0 255.255.255.0

Com isso, cada máquina já consegue um endereço IP, porém ainda precisamos especificar qual o endereço do roteador, sem ele, as máquinas não conseguirão se comunicar a uma rede desconhecida (como a internet).

Como queremos especificar qual o roteador padrão da nossa rede, basta digitar: default-router seguido do endereço IP do roteador, que no nosso caso é o: 192.168.0.1.

Ótimo! Agora nossas máquinas já sabem para quem deverão encaminhar os pacotes caso não conheçam o destino.

Hum… mas e se nosso roteador tentar entregar o endereço 192.168.0.1, o que acontecerá?

Existirá um erro na rede!

Se ele entregar esses endereços essas máquinas não conseguem se comunicar, ou em alguns casos, a rede inteira não consegue. Senão ele não entrega, por já existir esse endereço, e nos retorna um aviso sobre o conflito de endereços IPs e entrega outros endereços para os hosts:

Para resolver esses problemas basta dizer para o roteador remover este endereço (192.168.0.1) do nosso pool DHCP. Assim nosso roteador não o entrega:

(config) # ip dhcp excluded-address 192.168.0.1

Vamos remover o endereço do nosso servidor também para evitar os mesmos problemas. Neste caso, o IP do servidor é 192.168.0.2:

Nossa configuração está quase concluída! Vamos checar algum de nossos hosts e ver se ele conseguiu obter as informações:

Com isso nossas máquinas têm um endereço IP e um gateway, logo conseguimos acessar outros serviços fora de nossa rede, como sites na internet, por exemplo. Vamos tentar acessar o site da Alura pelo navegador e ver se obtemos sucesso:

Deu um erro! Nome de host não resolvido… Como assim?

Esses nomes, ou domínios, são o que digitamos em nossos navegadores quando queremos acessar alguma página. Por exemplo, quando vamos acessar a Alura, nós temos apenas que digitar em nosso navegador www.alura.com.br (às vezes nem digitamos o www).

Para isso precisamos de um serviço chamado DNS (Domain Name System, ou sistema de nomes de domínios). Ele nada mais é do que um outro protocolo de rede que resolve nomes de domínio, transformando-os em endereços IPs.

Por exemplo, o endereço www.google.com.br pode ser equivalente à 216.58.202.67. Esse é o processo de resolve.

Podemos deixar nosso roteador entregar o endereço do servidor DNS (DNS Server), basta informar seu endereço.

Para isso vamos voltar ao seu modo de configuração, na parte que configura o serviço de DHCP, e digitar:

(dhcp-config) # dns-server

Precisamos informar o endereço IP do nosso servidor DNS. No meu caso, o endereço IP do servidor é aquele que removemos anteriormente do pool de entregas do DHCP: 192.168.0.2.

(dhcp-config) # dns-server 192.168.0.2

Pronto dessa maneira temos o serviço de DNS configurado. Vamos tentar acessar novamente o site da Alura:

Sucesso! Agora temos todas as máquinas conectadas com seus endereços IPs, gateway e DNS sendo alocados dinamicamente.

Conclusão

Tínhamos que configurar o endereço IP de vários hosts, vimos como realizar sua configuração de uma maneira dinâmica utilizando o DHCP.

Entendemos também como configurar o serviço de DHCP em roteadores Cisco, provendo endereços IPs, DNS e gateways para os computadores que requisitarem.

Com o DHCP não precisamos especificar o endereço IP de máquina por máquina, ele faz isso automaticamente, o que nos poupa muito tempo.

Gostou de redes? Essa é apenas uma parte desse vasto mundo de redes. Aqui na Alura, temos uma formação completa em Redes. Nela você aprenderá sobre protocolos, como configurar roteadores e switches, sobre segurança da informação e muito mais!

Yuri Matheus
Yuri Matheus

Yuri é desenvolvedor e instrutor. É estudante de Sistemas de Informação na FIAP e formado como Técnico em Informática no Senac SP. O seu foco é nas plataformas Java e Python e em outras áreas como Arquitetura de Software e Machine Learning. Yuri também atua como editor de conteúdo no blog da Alura, onde escreve, principalmente, sobre Redes, Docker, Linux, Java e Python.

Veja outros artigos sobre DevOps