Entrar ou criar conta

ULC Lab · implementação reproduzível

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 e provisionamento de redes com Ansible para restaurantes do zero à escala
Ligado ao treinamento Automação e provisionamento de redes com Ansible para restaurantes do zero à escala
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.