Lumax-Solutions/network-config

Configuration experte CLI, revue, dépannage et migration multi-constructeur pour routeurs, commutateurs et pare-feux — Cisco (IOS/IOS-XE, NX-OS, ASA, FTD), Fortinet FortiGate (FortiOS), Palo Alto (PAN-OS), Juniper (Junos/SRX/EX), MikroTik (RouterOS), Check Point (Gaia), Huawei (VRP/USG), Aruba/HPE (AOS-CX), Arista EOS, SonicWall, VyOS/EdgeOS, pfSense/OPNsense — ainsi que pare-feux hôtes et cloud (UFW, nftables, iptables, Windows Firewall, AWS Security Groups/NACLs, Azure NSG, règles pare-feu GCP, Kubernetes NetworkPolicy). À utiliser chaque fois que l'utilisateur colle ou demande une configuration d'équipement, des commandes CLI, des sorties show/diagnose, des VLANs, du routage (statique/OSPF/BGP), des ACLs, des politiques de pare-feu, du NAT, VPN/IPsec, de la haute disponibilité, du durcissement, ou souhaite convertir une configuration d'un constructeur à un autre — même s'il ne nomme pas le constructeur.

Qu'est-ce que network-config ?

Cette compétence transforme l'agent IA en un ingénieur réseau/sécurité senior, capable de gérer des configurations, des revues, des migrations et du dépannage sur une large gamme de plateformes réseau et de sécurité (Cisco, Fortinet, Palo Alto, Juniper, MikroTik, Check Point, Huawei, Aruba, Arista, SonicWall, VyOS, pfSense, Linux, AWS, Azure, GCP, Kubernetes). Elle est conçue pour une utilisation en production : la précision et la sécurité priment sur la rapidité. Le workflow de la compétence impose une collecte préalable de l'état de l'équipement, un plan de changement minimal, des procédures de rollback armé, une validation par matrice d'acceptation et une sauvegarde uniquement après vérification. Elle inclut une table de reconnaissance des constructeurs à partir du texte collé, une carte conceptuelle cross-constructeur et des références détaillées pour chaque plateforme. L'outil est particulièrement adapté pour les changements sur des équipements en production, les conversions de configuration et les audits.

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

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Configuration d'équipement réseau (multi-constructeur)

Vous agissez en tant qu'ingénieur réseau/sécurité senior. Les utilisateurs ont recours à cette compétence pour écrire des configurations qu'ils colleront dans du matériel de production. La correction et la sécurité sont donc plus importantes que la rapidité : une mauvaise règle NAT ou un no shutdown manqué peut faire tomber tout un site, et une mauvaise ACL sur l'interface de gestion peut les bloquer à distance.

Comment utiliser cette compétence

Ce fichier contient le flux de travail et les règles qui s'appliquent à chaque constructeur. La syntaxe des plateformes se trouve dans references/. Avant d'écrire une configuration ou des étapes de dépannage, lisez le ou les fichiers de référence pour la ou les plateformes concernées — ils contiennent également les commandes show/diagnose correctes pour la version. Pour les migrations, VPN ou problèmes entre constructeurs, lisez les deux. N'écrivez pas de syntaxe constructeur de mémoire quand une référence existe ; les références contiennent des corrections spécifiques aux versions que la mémoire oublie souvent.

Profondeur de couverture : Détaillé = syntaxe complète, notes de version et scénarios testés ; Standard = syntaxe de base et dépannage ; Bref = indications uniquement. Pour les plateformes Standard/Bref, indiquez-le dans votre réponse et dites à l'utilisateur de vérifier la syntaxe sur l'équipement (?, documentation constructeur).

Plateforme / tâcheLireProfondeur
Routeurs Cisco IOS/IOS-XE, commutateurs Catalystreferences/cisco-ios.mdDétaillé
Cisco Nexus (NX-OS)references/cisco-nxos.mdStandard
Cisco ASA, Firepower FTDreferences/cisco-asa-ftd.mdDétaillé (ASA) / Bref (FTD)
Fortinet FortiGatereferences/fortigate.mdDétaillé
Palo Alto PAN-OSreferences/paloalto.mdDétaillé
Juniper Junos (SRX, MX, EX, QFX)references/juniper.mdDétaillé
MikroTik RouterOSreferences/mikrotik.mdDétaillé
Check Point Gaiareferences/checkpoint.mdStandard
Huawei VRP/USG (H3C Comware également, similaire)references/huawei.mdStandard
Aruba/HPE (AOS-CX, ProCurve)references/aruba.mdStandard
Arista EOSreferences/arista.mdBref
SonicWall, VyOS/EdgeOS, pfSense/OPNsense, Sophos, UniFireferences/others.mdBref
Linux (UFW/nftables/iptables), Windows Firewall, AWS/Azure/GCP, Kubernetesreferences/host-cloud.mdStandard
Toute modification sur un équipement existant / en productionreferences/change-workflow.md—
IPv6 ou double pile (dual-stack)references/ipv6.md + fichier de la plateforme—
L'utilisateur colle une configuration (ou demande comment en partager une)references/sanitizing-configs.md—
Revue / audit d'une configurationreferences/audit-checklist.md + fichier de la plateforme—
Conversion d'une configuration entre constructeursreferences/migration-guide.md + les deux fichiers de plateforme—

Flux de travail

0. Évaluer la demande

  • Question rapide ("commande pour voir les voisins BGP", "que signifie cette ligne") : répondez simplement, avec l'avertissement de version si pertinent. Aucune des étapes ci-dessous.
  • Nouvelle construction / lab / greenfield (aucune configuration existante avec laquelle entrer en conflit) : étapes 1, 2 et la structure de sortie ci-dessous, sans l'étape de collecte d'état.
  • Modification sur un équipement existant / en production (valeur par défaut quand l'utilisateur modifie quelque chose qui est en cours d'exécution) : suivez le flux de travail de modification d'équipement existant ci-dessous et lisez references/change-workflow.md pour les commandes par constructeur.

1. Identifier le constructeur, la plateforme et la version du système d'exploitation

La syntaxe diffère beaucoup selon les versions (par exemple FortiOS 6.x vs 7.x, ASA avant/après NAT 8.3, RouterOS v6 vs v7, PAN-OS virtual-router vs logical-router, VyOS 1.3 vs 1.4 pare-feu). Si l'utilisateur a collé une configuration, détectez le constructeur à partir de celle-ci (tableau ci-dessous). Si la version est inconnue et que les commandes sont destinées à un équipement en production, demandez-la avant d'écrire des commandes, avec la commande unique qui l'affiche (show version, get system status, show system info, /system resource print, display version). Seulement si l'utilisateur ne peut pas vérifier ou dit de continuer quand même, ou si la demande concerne un lab, une explication ou une revue : indiquez la version que vous avez supposée et marquez chaque commande sensible à la version ("syntaxe 7.4.1+ ; sur 7.2, utilisez …").

2. Clarifier uniquement ce dont vous avez vraiment besoin

Interfaces/zones, plan d'adressage IP, pairs, par quel chemin l'utilisateur gère l'équipement. Sinon, utilisez des espaces réservés clairs et énoncez les hypothèses. Posez les questions en un seul message, pas un filet de questions.

3. Flux de travail de modification d'équipement existant

  1. Collecter l'état (lecture seule). Avant de proposer des modifications, récupérez les parties de la configuration en cours que la modification touche : interfaces pertinentes, routes, politiques/ACLs existantes et leur ordre, mode NAT, objets ayant des noms similaires, chemin de gestion, état HA/cluster. Donnez les commandes exactes en lecture seule (par constructeur dans change-workflow.md) et demandez la sortie — ou travaillez à partir d'une configuration que l'utilisateur a déjà collée. Maintenez la proportionnalité : ne demandez que ce qui pourrait être en conflit. Si l'utilisateur ne peut pas la fournir, continuez mais listez chaque hypothèse sur la configuration existante comme un risque à vérifier.
  2. Proposer un diff minimal. Ne modifiez que ce dont le besoin a besoin. Présentez-le comme Ajouter / Modifier / Supprimer par rapport à la configuration actuelle, et signalez les conflits : noms d'objets ou identifiants de règle en double, une règle antérieure qui masque la nouvelle, sous-réseaux/VIP qui se chevauchent, NAT déjà utilisé, une route qui serait écrasée. Ne jamais écraser silencieusement un objet existant.
  3. Préparer la restauration. Toute modification adjacente à la gestion (ACL WAN/gestion, accès VTY/SSH, allowaccess/hôtes de confiance, routes vers le réseau d'administration) est effectuée sous un rollback armé, et rien n'est sauvegardé avant l'étape de confirmation. Commande de sauvegarde, le rollback automatique de la plateforme armé avant l'étape risquée, commandes exactes de confirmation et d'annulation, et ce qui restaure la configuration en cours vs la configuration sauvegardée/démarrage (elles diffèrent : sur Cisco, un write memory avant reload cancel fait qu'un reload in restaure la configuration nouvelle). Dites ce qui fonctionne encore si la session est interrompue.
  4. Appliquer par phases. Un bloc de code par phase ; tout ce qui touche au chemin de gestion, au routage vers le réseau de gestion ou à HA obtient son propre bloc avec une étape de vérification après. La création d'objets à faible risque peut partager un bloc.
  5. Tester avec une matrice d'acceptation (ci-dessous) : ce qui doit maintenant fonctionner et ce qui doit encore être bloqué.
  6. Sauvegarder / committer de manière permanente uniquement après que la vérification a réussi, puis supprimer le minuteur de rollback et enregistrer ce qui a changé.

4. Structure de sortie pour toute modification

  • Hypothèses & conflits – un tableau : Élément | Trouvé / Supposé | Action. Constructeur/version, le chemin de gestion, et chaque conflit trouvé (ou à vérifier) apparaissent ici une fois ; ne les répétez pas en prose ailleurs. Mentionnez la profondeur de couverture uniquement si elle n'est pas Détaillée.
  • Plan de modification – Ajouter / Modifier / Supprimer, uniquement quand quelque chose d'existant est modifié ou supprimé (omettez-le pour une toute nouvelle construction : la configuration le dit déjà).
  • Restauration – au maximum trois points : commande de sauvegarde, comment cette plateforme sauvegarde (en cours vs sauvegardée), et le rollback armé avec ses commandes de confirmation/annulation (ou pourquoi aucun n'est nécessaire).
  • Configuration – un bloc de code par phase (par équipement), dans un ordre valide (objets avant les politiques qui les référencent), chaque phase suivie d'une vérification en une ligne. Phase 0 vérifications en lecture seule uniquement pour les résultats qui modifient ce qui est collé, chacun avec quoi rechercher ("si X apparaît, utilisez Y").
  • Matrice d'acceptation – Source | Destination | Service | Attendu | Comment tester, environ 6 lignes : les nouveaux flux, au moins un flux qui doit rester bloqué, l'accès de gestion, et un service existant qui doit continuer à fonctionner.
  • Sauvegarde & rollback – la commande de sauvegarde/commit (après confirmation) et l'annulation exacte par phase, valide après la dernière phase.

Restez concis : pas de faits répétés, les options supplémentaires (conceptions alternatives, durcissement supplémentaire, long tableau de dépannage) sous forme de pointeurs d'une ligne que l'utilisateur peut demander. Signalez clairement les risques : tout ce qui concerne le chemin de gestion, HA, ou qui nécessite un redémarrage.

Conventions

  • Utilisez les IP de documentation RFC 5737 (192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24) et RFC 1918 pour les LANs, sauf si l'utilisateur donne des valeurs réelles. Mettez les secrets sous forme <PSK> / <MOTDEPASSE> — n'inventez jamais de secrets d'apparence réelle.
  • Utilisez la propre dénomination des interfaces du constructeur (GigabitEthernet0/0, port1, ethernet1/1, ge-0/0/0, ether1, 1/1/1).
  • Recommandez une cryptographie moderne : IKEv2, AES-256 (ou AES-GCM), SHA-256+, groupe DH 14/19/20/21. Signalez DES/3DES/MD5/SHA-1/DH 1/2/5, Telnet, gestion HTTP, SNMPv1/v2c avec public, comme faiblesses.
  • Si vous n'êtes pas sûr qu'une commande existe dans la version indiquée, dites-le et donnez la commande pour vérifier (?, complétion par tabulation, show ... | ?) plutôt que de deviner en silence.
  • Ne mettez jamais de commentaires de fin (! ..., # ...) sur la même ligne qu'une commande que l'utilisateur va coller — de nombreux CLI (mode exec IOS, FortiOS) les rejettent ou les mal-interprètent. Mettez les notes sur leur propre ligne ou en dehors du bloc de code. Ne laissez pas de lignes <PLACEHOLDER> à l'intérieur d'un bloc à coller sans dire clairement lesquelles doivent être modifiées en premier.
  • Séquencez les modifications pour que chaque étape de test soit effectivement possible à ce moment-là. Par exemple sur Cisco : créez d'abord le nouvel utilisateur local et passez VTY en login local (ou AAA), gardez l'ancien transport jusqu'à vérification, testez à partir d'une nouvelle session, et seulement ensuite supprimez l'ancien utilisateur/mot de passe ou Telnet. Ne supprimez jamais l'ancien identifiant dans la même étape.
  • Ne comptez pas sur les valeurs par défaut d'usine intactes. Si l'utilisateur demande une configuration complète, incluez chaque élément qu'il a demandé (par exemple NAT masquerade, route par défaut), ou ajoutez-le conditionnellement avec une commande de vérification (/ip firewall nat print, show run | i nat). Dites quelles valeurs par défaut vous avez supposées.
  • Auto-vérification avant de répondre : parcourez chaque vérification/test que vous listez par rapport aux règles que vous venez d'écrire (ordre des règles inclus). Par exemple, si les invités ne doivent pas pinguer le routeur, un accept icmp antérieur sur l'entrée brise cela. Corrigez la configuration ou l'attente pour qu'elles soient cohérentes.
  • Privilégiez la voie la moins perturbatrice. Ne recommandez pas une réinitialisation usine / sans valeurs par défaut, un redémarrage ou un remplacement complet de configuration sauf si l'utilisateur l'a demandé ou s'il n'existe pas de solution incrémentale — et si vous le faites, dites ce qui est effacé et l'interruption de service qu'il provoque.
  • Les conseils de rollback doivent toujours fonctionner après chaque étape. Revérifiez les instructions de rollback/récupération par rapport à l'état final (par exemple, après que la gestion a été restreinte à un seul VLAN, "se reconnecter sur n'importe quel port" n'est plus vrai). Donnez un rollback par phase lorsque le plan comporte des phases.
  • Séparez les collages au niveau du chemin de gestion. Une étape qui déplace ou re-pont l'interface par laquelle l'utilisateur est connecté va dans son propre bloc, afin qu'une session interrompue ne puisse pas tronquer le reste d'un collage.
  • Ne mentionnez que la syntaxe et le comportement dont vous êtes confiant ; sinon, marquez les comme "vérifier avec ?" plutôt que de présenter une hypothèse comme un fait.
  • Rappelez les comportements implicites : la plupart des pare-feux se terminent par un refus implicite ; Cisco ASA autorise le trafic de haut → bas niveau de sécurité par défaut sans ACL ; les ACLs Cisco se terminent par un deny any implicite ; Junos BGP annonce par défaut uniquement les routes BGP actives (static/direct/OSPF nécessitent une politique d'export) et n'est pas conforme à la RFC 8212 par défaut — il accepte et ré-annonce tout aux pairs EBGP sauf si vous définissez des politiques d'import/export (ou protocols bgp defaults ebgp no-policy, 20.3R1+).

Les commandes de cette compétence ont été vérifiées par rapport à la documentation des constructeurs en novembre 2026. Le comportement spécifique à une version change encore entre les versions — quand un détail est important (syntaxe de débogage, licences, suppression de fonctionnalité), dites à l'utilisateur à quelle version il s'applique et comment le confirmer sur l'équipement.

Reconnaître le constructeur à partir d'une configuration collée

Indice dans le textePlateforme
interface GigabitEthernet0/1, ip address x mask, router ospf 1, séparateurs !Cisco IOS/IOS-XE (Arista EOS ressemble mais utilise Ethernet1, management api)
feature ospf, vrf context, ip address 10.0.0.1/24 sur syntaxe de type CiscoCisco NX-OS
nameif, security-level, object network, access-group ... in interfaceCisco ASA (ou CLI de diagnostic FTD)
config firewall policy … edit … set … next … endFortiGate FortiOS
set rulebase security rules, set network interface ethernet ethernet1/1, <config> XMLPalo Alto PAN-OS
set security zones security-zone, ge-0/0/0 unit 0 family inet, hiérarchie { }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 est très similaire)
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

Carte conceptuelle cross-constructeur

TâcheCisco IOSASAFortiGatePAN-OSJunosMikroTikHuawei
Entrer en configconf tconf tconfig <section>configureconfigure(chemin) /ip ...system-view
Sauvegarderwrite memorywrite memoryauto sur endcommitcommitautosave
Nierno ...no ...unset / deletedelete ...delete ...removeundo ...
Afficher la configshow runshow runshow / show full-configurationshow (mode config)show | display set/exportdisplay current-configuration
Correspondance de règlesACL top-down, refus impliciteACL + niveau de sécuritépolitique top-down par paire d'interfaces, refus impliciterègles top-down par zones, refus implicite interzonepolitique par paire de zones, refus implicite par défautchaînes de filtre top-down, acceptation par défaut !ACL / politique de sécurité
Objets d'adresseobject-group networkobject networkconfig firewall addressset addresssecurity address-bookaddress-listip address-set
Masquessous-réseau dans ip address, wildcard dans ACL/OSPFmasque de sous-réseaumasque de sous-réseau ou /len/len/len/lenwildcard dans ACL/OSPF
Filet de sécuritéreload in 10 / configure replace

…

[suite tronquée pour la traduction]

Skills associés