Entrar ou criar conta

Laboratório: Automação de configuração de switch e ponto de acesso OpenWrt com Ansible

Você terá um ambiente simulado com um switch e um ponto de acesso OpenWrt sendo configurados automaticamente via Ansible, a partir de um servidor de automação. O laboratório pode ser realizado em cerca de 2 horas.

Automação de redes para restaurantes com Ansible
Ligado ao treinamento Automação de redes para restaurantes com Ansible

Roteiro para estudo em ambiente de laboratório ou de teste. Execute apenas em equipamentos, redes e contas que você tenha autorização para usar, com backup e homologação próprios. Comandos podem causar indisponibilidade ou perda de dados. Software e marcas citados pertencem aos seus titulares. Termos de Uso.

ULC-LAB-REST-0002 · Status de validaçãoNão validado pela Upnetix: roteiro derivado da documentação oficial, para você executar e validar
Duração estimada
120 min
Passos
12
Validações
5
Versões da documentação consultada
Ansible 2.14 · Netmiko 4.2.0 · OpenWrt 22.03 · Linux Bridge a versão estável atual
Objetivo

Demonstrar, de ponta a ponta, como automatizar a configuração inicial de switches e pontos de acesso em uma filial de restaurante usando Ansible, Netmiko e OpenWrt. O foco é mostrar como reduzir erros manuais e acelerar a padronização de redes, usando apenas ferramentas de código aberto e equipamentos acessíveis.

Topologia

Um servidor Linux (control node) com Ansible instalado acessa, via SSH, um switch virtualizado (usando Linux Bridge para simular um switch gerenciável) e um ponto de acesso OpenWrt em máquina virtual. Todos os dispositivos estão na mesma sub-rede privada (exemplo: 192.168.56.0/24). O servidor automatiza a configuração de VLANs no switch e SSID no AP.


+-------------------+
|  Servidor Ansible |
| 192.168.56.10     |
+--------+----------+
         |
         |
+--------v----------+
| Switch (LinuxBr)  |
| 192.168.56.20     |
+--------+----------+
         |
         |
+--------v----------+
| AP OpenWrt        |
| 192.168.56.30     |
+-------------------+

Equipamentos e software

ItemRequisito, licença ou versão
Servidor Linux (físico ou VM)1 vCPU, 1 GB RAM, interface de rede, Ubuntu 22.04 ou similar
VM OpenWrt1 vCPU, 256 MB RAM, versão 22.03 ou superior
Switch virtualizado (Linux Bridge)1 vCPU, 512 MB RAM, Ubuntu 22.04 ou similar
AnsibleGPLv3 · 2.14
NetmikoMIT · 4.2.0
OpenWrtGPLv2 · 22.03
Linux BridgeGPLv2 · a versão estável atual

Roteiro

  1. Preparar o servidor de automação

    Instale Ansible e Netmiko no servidor Linux. Isso é necessário para controlar os dispositivos de rede via SSH.

    sudo apt update && sudo apt install -y python3-pip git
    pip3 install ansible netmiko

    O que você deve ver: Ansible e Netmiko instalados sem erros.

  2. Configurar o inventário do Ansible

    Crie um arquivo de inventário com os endereços IP dos dispositivos a serem gerenciados.

    echo '[switches]
    192.168.56.20
    
    [aps]
    192.168.56.30' > hosts.ini

    O que você deve ver: Arquivo hosts.ini criado com os IPs corretos.

  3. Preparar o switch virtualizado

    Crie uma bridge Linux para simular um switch gerenciável. Isso permite testar a automação de VLANs.

    sudo brctl addbr br0
    sudo ip addr add 192.168.56.20/24 dev br0
    sudo ip link set br0 up

    O que você deve ver: Bridge br0 ativa e acessível pelo IP 192.168.56.20.

  4. Instalar e configurar OpenWrt em VM

    Instale uma VM OpenWrt e configure o acesso SSH. O OpenWrt será o ponto de acesso Wi-Fi automatizado.

    Consulte a documentação para instalação da imagem OpenWrt. Após instalar, configure IP estático 192.168.56.30/24 e habilite SSH.

    O que você deve ver: VM OpenWrt acessível via SSH em 192.168.56.30.

  5. Gerar chaves SSH e copiar para os dispositivos

    A automação do Ansible depende do acesso SSH sem senha. Gere uma chave SSH e copie para o switch e o AP.

    ssh-keygen -t ed25519 -f ~/.ssh/id_ansible -N ''
    ssh-copy-id -i ~/.ssh/id_ansible.pub root@192.168.56.20
    ssh-copy-id -i ~/.ssh/id_ansible.pub root@192.168.56.30

    O que você deve ver: Acesso SSH sem senha configurado para ambos os dispositivos.

  6. Criar playbook para configurar VLAN no switch

    Crie um playbook Ansible para configurar uma VLAN na bridge Linux. Isso simula a configuração de VLAN em switches reais.

    cat > vlan_switch.yml <<EOF
    - hosts: switches
      gather_facts: no
      tasks:
        - name: Criar VLAN 10
          command: ip link add link br0 name br0.10 type vlan id 10
          ignore_errors: yes
        - name: Ativar VLAN 10
          command: ip link set br0.10 up
          ignore_errors: yes
    EOF

    O que você deve ver: Playbook vlan_switch.yml criado.

  7. Criar playbook para configurar SSID no OpenWrt

    Crie um playbook Ansible para configurar um novo SSID no OpenWrt via SSH, usando comandos UCI.

    cat > ssid_ap.yml <<EOF
    - hosts: aps
      gather_facts: no
      tasks:
        - name: Criar SSID 'RestauranteWiFi'
          command: uci set wireless.@wifi-iface[0].ssid='RestauranteWiFi'
        - name: Aplicar configuração Wi-Fi
          command: uci commit wireless
        - name: Reiniciar Wi-Fi
          command: wifi reload
    EOF

    O que você deve ver: Playbook ssid_ap.yml criado.

  8. Executar playbooks de automação

    Rode os playbooks para aplicar as configurações de VLAN e SSID nos dispositivos.

    ansible-playbook -i hosts.ini vlan_switch.yml
    ansible-playbook -i hosts.ini ssid_ap.yml

    O que você deve ver: Saída do Ansible indicando sucesso nas tarefas.

  9. Verificar configuração da VLAN no switch

    Confirme que a VLAN foi criada na bridge Linux.

    ssh root@192.168.56.20 'ip -d link show br0.10'

    O que você deve ver: Interface br0.10 listada com VLAN ID 10.

  10. Verificar SSID no OpenWrt

    Confirme que o novo SSID está ativo no OpenWrt.

    ssh root@192.168.56.30 'uci get wireless.@wifi-iface[0].ssid'

    O que você deve ver: Saída: RestauranteWiFi

  11. Testar conectividade entre os dispositivos

    Garanta que todos os dispositivos estão acessíveis via ping.

    ping -c 2 192.168.56.20
    ping -c 2 192.168.56.30

    O que você deve ver: Pacotes recebidos de ambos os dispositivos.

  12. Registrar logs da automação

    Salve a saída dos playbooks para análise posterior.

    ansible-playbook -i hosts.ini vlan_switch.yml | tee log_vlan.txt
    ansible-playbook -i hosts.ini ssid_ap.yml | tee log_ssid.txt

    O que você deve ver: Arquivos log_vlan.txt e log_ssid.txt criados com os resultados.

Como saber que funcionou

TesteComandoCritério
Verificar se a VLAN 10 existe no switchssh root@192.168.56.20 'ip -d link show br0.10'Interface br0.10 aparece com ID de VLAN 10.
Verificar SSID configurado no OpenWrtssh root@192.168.56.30 'uci get wireless.@wifi-iface[0].ssid'Saída: RestauranteWiFi
Testar acesso SSH sem senhassh -i ~/.ssh/id_ansible root@192.168.56.20 'echo ok'Saída: ok
Verificar saída dos playbookscat log_vlan.txt | grep 'changed=1'Tarefa marcada como changed.
Testar conectividade IPping -c 2 192.168.56.30Pacotes recebidos sem perda.

Troubleshooting

SintomaCausa provávelCorreção
Falha ao conectar via SSHChave SSH não copiada ou serviço SSH não ativoVerifique sshd nos dispositivos e recopie a chave
Playbook falha com permissão negadaUsuário sem permissão sudo ou rootGaranta que o usuário remoto é root ou tem sudo sem senha
VLAN não aparece no switchBridge não suporta VLAN ou comando incorretoConsulte a documentação do Linux Bridge e ajuste o comando
SSID não muda no OpenWrtComando UCI incorreto ou interface erradaVerifique o índice do wifi-iface e consulte a documentação OpenWrt
Dispositivos não respondem pingConfiguração de rede incorreta ou firewall ativoRevise IPs, máscaras e regras de firewall

Segurança e hardening

  • Utilize senhas fortes para o usuário root nos dispositivos
  • Restrinja o acesso SSH apenas à rede de gerenciamento
  • Desabilite login root por senha após configurar a chave SSH
  • Aplique regras de firewall para limitar o acesso aos serviços de gerenciamento
  • Mantenha o OpenWrt e o sistema do servidor atualizados

Checklist final

Referências

  1. Ansible Documentation · Ansible (Red Hat) (docs.ansible.com)
  2. OpenWrt User Guide · Projeto OpenWrt (openwrt.org)
  3. Netmiko GitHub · GitHub (repositório oficial do projeto) (github.com)
Verificação editorial
Publicado
09/09/2026
Última revisão
09/09/2026
Versão do conteúdo
1.0
Referências
3 oficiais
Revisão técnica
redação e revisão por IA, URLs conferidas na publicação
Status
Atual
Encontrou um erro? Escreva para comercial@upnetix.com.br com o endereço da página. A revisão semestral por IA nunca altera comandos ou configurações sem passar pela fila de revisão.