DEV Community

Cover image for Deploy automatizado de switch Juniper via DHCP
Cristian Cardoso
Cristian Cardoso

Posted on

Deploy automatizado de switch Juniper via DHCP

Nesse post, pretendo mostrar como fazer instalação de um switch Juniper de forma automatizada utilizando DHCP.

Para essa missão, vamos utilizar o pacote isc-dhcp-server, no meu servidor Debian na versão 10 o pacote é a versão 4.4, dependendo da versão de Linux ou Unix utilizado isso pode variar.

Esse é o cenário que montei no EVE-NG para demonstração:

Image description

Na imagem acima, temos o servidor Debian 10, que baixei do repositório do pessoal que mantêm o EVE-NG e o switch Juniper vQFX com sua RE + PFE, logo abaixo.

1 - Configurando o servidor DHCP

Como falei inicialmente, precisamos efetuar a configuração do servidor DHCP, primeiro passo é instalar o bicho:

root@debian:~# apt install isc-dhcp-server
Enter fullscreen mode Exit fullscreen mode

Após a instalação, vamos até o diretório "/etc/dhcp/" e renomear o dhcpd.conf original, para gerarmos um zerado nosso.

root@debian:~# cd /etc/dhcp/
root@debian:/etc/dhcp# mv dhcpd.conf dhcpd.conf-old
Enter fullscreen mode Exit fullscreen mode

Agora vamos editar um novo arquivo, só com parâmetros uteis ao nosso propósito.

root@debian:/etc/dhcp# vim.tiny dhcpd.conf
Enter fullscreen mode Exit fullscreen mode

Abaixo o arquivo criado

Image description

No arquivo de configuração acima criamos um espaço com uma opção chamada NEW_OP, com uma série de variáveis especificas para leitura do Junos, isso é encapsulado pela linha:

option NEW_OP-encapsulation code 43 = encapsulate NEW_OP;
Enter fullscreen mode Exit fullscreen mode

O código 43 é o código utilizado no dhcpd.conf para execução de opções de um fabricante em especifico e com isso efetuar a leitura de todas as variáveis criadas para o switch que vai ser instalado.

2 - Configurando servidor Apache

Após a configuração do DHCP, vamos instalar o apache, para que seja possível efetuar downloads via porta 80.

root@debian:~# apt install apache2
Enter fullscreen mode Exit fullscreen mode

Esse apache, já vem com o básico que é a porta 80 para funcionamento, logo nem vamos precisar configurar nada muito avançado para essa demonstração, no Debian o serviço é instalado e já saí funcionando, logo podemos já visualizar à tela abaixo no navegador via IP do servidor.

Image description

Com o Apache instalado, vamos via terminal no diretório padrão que é em "/var/www/html" e vamos criar o diretório "juniper" para acomodar o arquivo .conf do nosso switch e dentro do diretório vamos criar nosso arquivo "sw.conf"

root@debian:~# cd /var/www/html/
root@debian:/var/www/html# mkdir juniper
root@debian:/var/www/html# cd juniper
root@debian:/var/www/html/juniper# vim.tiny sw.conf
Enter fullscreen mode Exit fullscreen mode

Abaixo o arquivo de configuração do nível de sistema que foi criado

Image description

Após a criação desse arquivo, é possível acessá-lo via navegador no servidor Debian, como podemos ver aqui:

Image description

OBS: Para casos onde o servidor Apache for ficar sempre ativo, necessário fazer tratativas de segurança, para evitar possíveis invasões, reforçando que aqui estramos tratando apenas um exemplo de laboratório.

3 - Configuração do switch

Após configurarmos o DHCP + Apache com o nosso arquivo para inserção no switch, vamos botar tudo para funcionar de fato.

Primeiro vamos ter que botar o vQFX no EVE-NG para funcionar, antes até do servidor DHCP, para que façamos a inserção da opção "auto-image-upgrade", sem isso o arquivo não é baixado no switch de fato, isso só é necessário no vQFX, em hardware físico essa opção vem ativa por padrão.

Image description

Outra ação necessária é executar o comando de show interfaces na em0 para pegarmos o endereço mac para inserirmos em nosso host sw-juniper no DHCP.

Image description

Com o mac em mãos, vamos atualizar o arquivo de DHCP no host fixado "sw-juniper" na linha onde havia o mac antigo, vamos inserir o novo:

host switch-juniper {
        hardware ethernet 50:00:00:09:00:00; #Aqui inserimos o novo mac
Enter fullscreen mode Exit fullscreen mode

Após essa atualização, vamos reinicializar o serviço de DHCP

root@debian:~# systemctl restart isc-dhcp-server.service
Enter fullscreen mode Exit fullscreen mode

Com isso, o DHCP vai identificar o mac do switch como fixo e o switch através do auto-image-upgrade vai baixar as configurações

Após a reinicialização do DHCP já com o mac correto o switch que está com a interface de gerência em0 com a configuração via DHCP e o auto-image-upgrade ativado vai fazer download das configurações e executar o commit da nova configuração:

Aqui é exibido na tela os parâmetros detectados do host fixado no DHCP, que são "chamados" pelo auto-image-upgrade

Image description

Abaixo exibo a configuração que foi aplicada através do arquivo baixado via Apache

Image description

Nesse tutorial vimos como configurar um servidor DHCP com Apache para uso em novas instalações de switches Juniper, claro em meu exemplo fiz apenas um pequeno trecho de configuração, mas é possível criar um arquivo .conf completo que o auto-image-upgrade consegue baixar e efetuar a leitura, dessa forma o switch já sai plenamente funcional.

Link's uteis:

Juniper ZTP link

Juniper auto-image-upgrade link

E por último, queria agradecer ao amigo Eduardo Schoedler e a minha esposa Vanessa Mello que me mostraram essa maravilha.

Top comments (0)