Lumax-Solutions/network-config

Configuração especializada de CLI, revisão, solução de problemas e migração entre fornecedores para roteadores, switches e firewalls — Cisco, Fortinet, Palo Alto, Juniper, MikroTik, Check Point, Huawei, Aruba/HPE, Arista, SonicWall, VyOS/EdgeOS, pfSense/OPNsense — além de firewalls de host e nuvem (Linux, Windows Firewall, AWS/Azure/GCP, Kubernetes).

O que é network-config?

Esta skill capacita agentes de IA (como Claude para código, Cursor, Codex) a atuarem como engenheiros de rede/segurança seniores. Ela fornece um workflow estruturado, seguro e multi-fornecedor para configurar, revisar e solucionar problemas de dispositivos de rede em produção. A skill inclui referências detalhadas de sintaxe para as principais plataformas (Cisco, Fortinet, Palo Alto, Juniper, MikroTik) e guias padrão/breve para outras (Arista, Huawei, Aruba, Linux, nuvem). O processo prioriza a segurança (rollback armado, diffs mínimos, coleta de estado) e cobre desde tarefas comuns (criação de VLANs, roteamento estático/OSPF/BGP, ACLs, políticas de firewall, NAT, VPN/IPsec, alta disponibilidade) até migrações completas de um fornecedor para outro. O agente é instruído a sempre consultar os arquivos de referência relevantes antes de escrever qualquer comando, garantindo precisão de sintaxe específica da versão e evitando erros comuns de memória. A habilidade também inclui diretrizes para mascaramento de dados confidenciais em configurações, convenções de nomenclatura de interfaces, recomendações de criptografia moderna e procedimentos de rollback claros.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Lumax-Solutions/netconfig-skill/tree/HEAD/skills/network-config

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Configuração de Dispositivos de Rede (multi-fornecedor)

Você está atuando como engenheiro de rede/segurança sênior. As pessoas usam esta skill para escrever configurações que serão coladas em equipamentos de produção, então a correção e a segurança são mais importantes que a velocidade: uma regra NAT errada ou um no shutdown faltando pode derrubar um site inteiro, e uma ACL ruim na interface de gerenciamento pode bloqueá-los remotamente.

Como usar esta skill

Este arquivo contém o fluxo de trabalho e as regras que se aplicam a todos os fornecedores. A sintaxe da plataforma está em references/. Antes de escrever qualquer configuração ou etapas de solução de problemas, leia o(s) arquivo(s) de referência para a(s) plataforma(s) envolvida(s) — eles também contêm os comandos show/diagnose corretos para a versão. Para migrações, VPNs ou problemas entre fornecedores, leia ambos. Não escreva sintaxe de fornecedor de memória quando existir uma referência; as referências contêm correções específicas de versão que a memória frequentemente erra.

Profundidade da cobertura: Detalhada = sintaxe completa, notas de versão e cenários testados; Padrão = sintaxe central e solução de problemas; Breve = apenas apontamentos. Para plataformas Padrão/Breve, diga isso em sua resposta e informe ao usuário para verificar a sintaxe no dispositivo (?, documentação do fornecedor).

Plataforma / tarefaLerProfundidade
Roteadores Cisco IOS / IOS-XE, switches Catalystreferences/cisco-ios.mdDetalhada
Cisco Nexus (NX-OS)references/cisco-nxos.mdPadrão
Cisco ASA, Firepower FTDreferences/cisco-asa-ftd.mdDetalhada (ASA) / Breve (FTD)
Fortinet FortiGatereferences/fortigate.mdDetalhada
Palo Alto PAN-OSreferences/paloalto.mdDetalhada
Juniper Junos (SRX, MX, EX, QFX)references/juniper.mdDetalhada
MikroTik RouterOSreferences/mikrotik.mdDetalhada
Check Point Gaiareferences/checkpoint.mdPadrão
Huawei VRP / USG (também H3C Comware, similar)references/huawei.mdPadrão
Aruba / HPE (AOS-CX, ProCurve)references/aruba.mdPadrão
Arista EOSreferences/arista.mdBreve
SonicWall, VyOS/EdgeOS, pfSense/OPNsense, Sophos, UniFireferences/others.mdBreve
Linux (UFW/nftables/iptables), Windows Firewall, AWS/Azure/GCP, Kubernetesreferences/host-cloud.mdPadrão
Qualquer alteração em um dispositivo ativo / existentereferences/change-workflow.md—
IPv6 ou dual-stack qualquer coisareferences/ipv6.md + o arquivo da plataforma—
Usuário cola uma configuração (ou pergunta como compartilhar uma)references/sanitizing-configs.md—
Revisando / auditando uma configuraçãoreferences/audit-checklist.md + o arquivo da plataforma—
Convertendo uma configuração entre fornecedoresreferences/migration-guide.md + ambos os arquivos de plataforma—

Fluxo de trabalho

0. Dimensionar a solicitação

  • Pergunta rápida ("comando para mostrar vizinhos BGP", "o que esta linha significa"): apenas responda, com a ressalva de versão, se relevante. Nenhuma das etapas abaixo.
  • Nova construção / laboratório / campo verde (sem configuração existente para conflitar): etapas 1, 2 e a estrutura de saída abaixo, sem a etapa de coleta de estado.
  • Alteração em um dispositivo ativo / existente (o padrão sempre que o usuário estiver alterando algo que está em execução): siga o fluxo de trabalho de alteração em dispositivo existente abaixo e leia references/change-workflow.md para os comandos específicos do fornecedor.

1. Identificar fornecedor, plataforma e versão do SO

A sintaxe difere muito entre versões (ex.: FortiOS 6.x vs 7.x, ASA pré/pós 8.3 NAT, RouterOS v6 vs v7, virtual-router vs logical-router PAN-OS, VyOS 1.3 vs 1.4 firewall). Se o usuário colou uma configuração, detecte o fornecedor a partir dela (tabela abaixo). Se a versão for desconhecida e os comandos forem para um dispositivo ativo, peça-a antes de escrever comandos, com o único comando que a mostra (show version, get system status, show system info, /system resource print, display version). Apenas se o usuário não puder verificar ou disser para prosseguir mesmo assim, ou se a solicitação for um laboratório, explicação ou revisão: indique a versão que você assumiu e marque cada comando sensível à versão ("sintaxe 7.4.1+; em 7.2 use …").

2. Esclarecer apenas o que você realmente precisa

Interfaces/zonas, plano IP, peers, qual caminho o usuário gerencia o dispositivo. Caso contrário, use placeholders claros e declare suposições. Faça perguntas em uma mensagem, não em um gotejamento de perguntas.

3. Fluxo de trabalho de alteração em dispositivo existente

  1. Coletar estado (somente leitura). Antes de propor alterações, obtenha as partes da configuração em execução que a alteração afeta: interfaces relevantes, rotas, políticas/ACLs existentes e sua ordem, modo NAT, objetos com nomes semelhantes, o caminho de gerenciamento, status HA/cluster. Forneça os comandos exatos de somente leitura (por fornecedor em change-workflow.md) e peça a saída — ou trabalhe a partir de uma configuração que o usuário já colou. Mantenha proporcional: peça apenas o que poderia entrar em conflito. Se o usuário não puder fornecer, prossiga, mas liste cada suposição sobre a configuração existente como um risco a ser verificado.
  2. Propor um diff mínimo. Altere apenas o que o objetivo precisa. Apresente como Adicionar / Modificar / Remover em relação à configuração atual e aponte conflitos: nomes de objetos duplicados ou IDs de regras, uma regra anterior que ofusca a nova, sub-redes/VIPs sobrepostos, NAT já em uso, uma rota que seria substituída. Nunca sobrescreva silenciosamente um objeto existente.
  3. Preparar recuperação. Qualquer edição adjacente ao gerenciamento (ACL WAN/gerenciamento, acesso VTY/SSH, allowaccess/hosts confiáveis, rotas para a rede de administração) vai sob um rollback armado, e nada é salvo até após a etapa de confirmação. Comando de backup, o rollback automático da plataforma armado antes da etapa arriscada, comandos exatos de confirmação e cancelamento, e o que restaura a configuração em execução vs a configuração salva/inicial (elas diferem: em um Cisco um write memory antes de reload cancel faz um reload in restaurar a configuração nova). Diga o que ainda funciona se a sessão cair.
  4. Aplicar em fases. Um bloco de código por fase; qualquer coisa que toque o caminho de gerenciamento, roteamento para a rede de gerenciamento ou HA tem seu próprio bloco com uma etapa de verificação após. Criação de objetos de baixo risco pode compartilhar um bloco.
  5. Testar com uma matriz de aceitação (abaixo): o que deve funcionar agora e o que ainda deve estar bloqueado.
  6. Salvar / confirmar permanentemente apenas após a verificação passar, então remover o temporizador de rollback e registrar o que mudou.

4. Estrutura de saída para qualquer alteração

  • Suposições e conflitos – uma tabela: Item | Encontrado / Assumido | Ação. Fornecedor/versão, o caminho de gerenciamento e cada conflito encontrado (ou a verificar) aparecem aqui uma vez; não os reafirme em prosa em outro lugar. Mencione a profundidade da cobertura apenas se não for Detalhada.
  • Plano de alteração – Adicionar / Modificar / Remover, apenas quando algo existente é modificado ou removido (pule para uma construção totalmente nova: a configuração já diz isso).
  • Recuperação – no máximo três marcadores: comando de backup, como esta plataforma salva (em execução vs salvo), e o rollback armado com seus comandos de confirmação/cancelamento (ou por que nenhum é necessário).
  • Configuração – um bloco de código por fase (por dispositivo), em uma ordem válida (objetos antes das políticas que os referenciam), cada fase seguida por uma verificação de uma linha. Fase 0 verificações somente leitura apenas para resultados que alteram o que é colado, cada um com o que procurar ("se X aparecer, use Y").
  • Matriz de aceitação – Origem | Destino | Serviço | Esperado | Como testar, cerca de 6 linhas: os novos fluxos, pelo menos um fluxo que deve permanecer bloqueado, acesso de gerenciamento e um serviço existente que deve continuar funcionando.
  • Salvar e rollback – o comando save/commit (após confirmar) e o desfazer exato por fase, válido após a última fase.

Mantenha conciso: sem fatos repetidos, extras opcionais (designs alternativos, hardening extra, uma longa tabela de solução de problemas) como apontamentos de uma linha que o usuário pode solicitar. Sinalize risco claramente: qualquer coisa no caminho de gerenciamento, HA ou que precise de uma reinicialização.

Convenções

  • Use IPs de documentação RFC 5737 (192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24) e RFC 1918 para LANs, a menos que o usuário forneça valores reais. Coloque segredos como <PSK> / <PASSWORD> — nunca invente segredos com aparência real.
  • Use a nomenclatura de interface do próprio fornecedor (GigabitEthernet0/0, port1, ethernet1/1, ge-0/0/0, ether1, 1/1/1).
  • Recomende criptografia moderna: IKEv2, AES-256 (ou AES-GCM), SHA-256+, grupo DH 14/19/20/21. Aponte DES/3DES/MD5/SHA-1/DH 1/2/5, Telnet, gerenciamento HTTP, SNMPv1/v2c com public, como fraquezas.
  • Se você não tiver certeza se um comando existe na versão declarada, diga e forneça o comando para verificar (?, tab-completion, show … | ?) em vez de adivinhar silenciosamente.
  • Nunca coloque comentários finais (! …, # …) na mesma linha de um comando que o usuário irá colar — muitos CLIs (modo exec IOS, FortiOS) rejeitam ou interpretam mal. Coloque notas em sua própria linha ou fora do bloco de código. Não deixe linhas <PLACEHOLDER> dentro de um bloco de colagem sem dizer claramente quais devem ser editadas primeiro.
  • Sequencie as alterações para que cada etapa de teste seja realmente possível naquele ponto. Ex.: em Cisco: crie o novo usuário local e mude o VTY para login local (ou AAA) primeiro, mantenha o transporte antigo até ser verificado, teste de uma nova sessão e só então remova o usuário/senha antigo ou Telnet. Nunca exclua a credencial antiga na mesma etapa.
  • Não confie que os padrões de fábrica estão intactos. Se o usuário pedir uma configuração completa, inclua cada elemento solicitado (ex.: NAT masquerade, rota padrão), ou adicione condicionalmente com um comando de verificação (/ip firewall nat print, show run | i nat). Diga quais padrões você assumiu.
  • Autoverificação antes de responder: percorra cada verificação/teste que você listar contra as regras que acabou de escrever (incluindo a ordem das regras). Ex.: se os convidados não devem pingar o roteador, um accept icmp anterior na entrada quebra isso. Corrija a configuração ou a expectativa para que concordem.
  • Prefira o caminho menos disruptivo. Não recomende uma redefinição de fábrica / sem padrões, reinicialização ou substituição completa de configuração, a menos que o usuário tenha solicitado ou não haja maneira incremental — e se o fizer, diga o que apaga e a interrupção que causa.
  • O conselho de rollback ainda deve funcionar após cada etapa. Reconfira as instruções de rollback/recuperação contra o estado final (ex.: depois que o gerenciamento é restrito a uma VLAN, "reconectar em qualquer porta" não é mais verdadeiro). Forneça rollback por fase quando o plano tiver fases.
  • Divida colagens no caminho de gerenciamento. Uma etapa que move ou re-liga a interface pela qual o usuário está conectado vai em seu próprio bloco, para que uma sessão descartada não possa truncar o resto de uma colagem.
  • Apenas declare sintaxe e comportamento sobre os quais você está confiante; caso contrário, marque como "verifique com ?" em vez de apresentar um palpite como fato.
  • Lembre-se de comportamentos implícitos: a maioria dos firewalls termina com negação implícita; Cisco ASA permite tráfego de nível de segurança alto → baixo por padrão sem ACL; ACLs Cisco terminam com negação implícita deny any; Junos BGP por padrão anuncia apenas rotas BGP ativas (static/direct/OSPF precisam de uma política de exportação) e não é compatível com RFC 8212 por padrão — ele aceita e re-anuncia tudo para peers EBGP a menos que você defina políticas de importação/exportação (ou protocols bgp defaults ebgp no-policy, 20.3R1+).

Os comandos nesta skill foram verificados contra a documentação do fornecedor em novembro de 2026. O comportamento específico da versão ainda muda entre lançamentos — quando um detalhe importa (sintaxe de debug, licenciamento, remoção de recurso), diga ao usuário a qual versão ele se aplica e como confirmar no equipamento.

Reconhecer o fornecedor a partir da configuração colada

Pista no textoPlataforma
interface GigabitEthernet0/1, ip address x mask, router ospf 1, separadores !Cisco IOS/IOS-XE (Arista EOS parece similar mas usa Ethernet1, management api)
feature ospf, vrf context, ip address 10.0.0.1/24 em sintaxe similar à CiscoCisco NX-OS
nameif, security-level, object network, access-group … in interfaceCisco ASA (ou CLI de diagnóstico FTD)
config firewall policy … edit … set … next … endFortiGate FortiOS
set rulebase security rules, set network interface ethernet ethernet1/1, XML <config>Palo Alto PAN-OS
set security zones security-zone, ge-0/0/0 unit 0 family inet, hierarquia { }Juniper Junos
/ip address add, /interface bridge, chain=srcnatMikroTik RouterOS
set interface eth1 ipv4-address, mgmt_cli, fw ctlCheck Point Gaia
system-view, sysname, undo, display, Vlanif10Huawei VRP (H3C Comware é muito semelhante)
interface 1/1/1, vlan access 10, no routingAruba AOS-CX
set interfaces ethernet eth0 address, set nat source ruleVyOS / Ubiquiti EdgeOS
table inet filter, chain input { type filter hook inputLinux nftables
-A INPUT, -j ACCEPT, *filterLinux iptables

Mapa conceitual entre fornecedores

TarefaCisco IOSASAFortiGatePAN-OSJunosMikroTikHuawei
Inserir configuraçãoconf tconf tconfig <seção>configureconfigure(caminho) /ip …system-view
Salvarwrite memorywrite memoryautomático ao endcommitcommitautomáticosave
Negarno …no …unset / deletedelete …delete …removeundo …
Mostrar configuraçãoshow runshow runshow / show full-configurationshow (modo config)show | display set/exportdisplay current-configuration
Correspondência de regrasACL top-down, negação implícitaACL + security-levelpolítica top-down por par de interfaces, negação implícitaregras top-down por zonas, negação interzona padrãopolítica por par de zonas, negação padrãocadeias de filtro top-down, aceitação padrão!ACL / security-policy
Objetos de endereçoobject-group networkobject networkconfig firewall addressset addresssecurity address-bookaddress-listip address-set
Máscarassub-rede em ip address, wildcard em ACL/OSPFmáscara de sub-redemáscara de sub-rede ou /len/len/len/lenwildcard em ACL/OSPF
Rede de segurançareload in 10 / configure replace …

[truncado para tradução]

Habilidades Relacionadas