{"id":91,"date":"2026-08-30T19:55:30","date_gmt":"2026-08-30T17:55:30","guid":{"rendered":"https:\/\/asfy.fr\/index.php\/tutoriels\/vtp-synchroniser-les-vlans-entre-plusieurs-switches-et-eviter-le-piege-classique\/"},"modified":"2026-08-30T21:56:40","modified_gmt":"2026-08-30T19:56:40","slug":"vtp-synchroniser-les-vlans-entre-plusieurs-switches-et-eviter-le-piege-classique","status":"publish","type":"sv_tutoriel","link":"https:\/\/asfy.fr\/index.php\/tutoriels\/vtp-synchroniser-les-vlans-entre-plusieurs-switches-et-eviter-le-piege-classique\/","title":{"rendered":"VTP : synchroniser les VLANs entre plusieurs switches (et \u00e9viter le pi\u00e8ge classique)"},"content":{"rendered":"<p>Le VTP (VLAN Trunking Protocol) permet de synchroniser automatiquement la liste des VLANs sur plusieurs switches Cisco. Pratique en th\u00e9orie, mais \u00e0 manier avec pr\u00e9caution \u2014 une mauvaise manipulation peut effacer les VLANs de tout un r\u00e9seau en quelques secondes.<\/p>\n<figure class=\"sv-diagram\">\n<svg viewBox=\"0 0 480 220\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Synchronisation VTP entre un switch serveur et deux switches clients\">\n  <line x1=\"240\" y1=\"90\" x2=\"120\" y2=\"150\" stroke=\"#1f1f1f\" stroke-width=\"2\" marker-end=\"url(#arrow)\"\/>\n  <line x1=\"240\" y1=\"90\" x2=\"360\" y2=\"150\" stroke=\"#1f1f1f\" stroke-width=\"2\" marker-end=\"url(#arrow)\"\/>\n  <defs>\n    <marker id=\"arrow\" markerWidth=\"8\" markerHeight=\"8\" refX=\"6\" refY=\"3\" orient=\"auto\">\n      <path d=\"M0,0 L6,3 L0,6 Z\" fill=\"#1f1f1f\"\/>\n    <\/marker>\n  <\/defs>\n  <rect x=\"190\" y=\"40\" width=\"100\" height=\"50\" rx=\"8\" fill=\"#fff\" stroke=\"#e0533d\" stroke-width=\"2\"\/>\n  <text x=\"240\" y=\"60\" font-size=\"12\" text-anchor=\"middle\" fill=\"#1f1f1f\" font-weight=\"600\">Switch A<\/text>\n  <text x=\"240\" y=\"76\" font-size=\"10\" text-anchor=\"middle\" fill=\"#e0533d\">VTP Server<\/text>\n  <rect x=\"70\" y=\"150\" width=\"100\" height=\"50\" rx=\"8\" fill=\"#fff\" stroke=\"#1f1f1f\" stroke-width=\"2\"\/>\n  <text x=\"120\" y=\"170\" font-size=\"12\" text-anchor=\"middle\" fill=\"#1f1f1f\" font-weight=\"600\">Switch B<\/text>\n  <text x=\"120\" y=\"186\" font-size=\"10\" text-anchor=\"middle\" fill=\"#555\">VTP Client<\/text>\n  <rect x=\"310\" y=\"150\" width=\"100\" height=\"50\" rx=\"8\" fill=\"#fff\" stroke=\"#1f1f1f\" stroke-width=\"2\"\/>\n  <text x=\"360\" y=\"170\" font-size=\"12\" text-anchor=\"middle\" fill=\"#1f1f1f\" font-weight=\"600\">Switch C<\/text>\n  <text x=\"360\" y=\"186\" font-size=\"10\" text-anchor=\"middle\" fill=\"#555\">VTP Client<\/text>\n  <text x=\"240\" y=\"20\" font-size=\"11\" text-anchor=\"middle\" fill=\"#666\">Domaine VTP : \u00ab\u00a0ASFY\u00a0\u00bb<\/text>\n<\/svg><figcaption>Le switch serveur propage sa base de VLANs aux switches clients du m\u00eame domaine VTP, via les liens trunk.<\/figcaption><\/figure>\n<h2>Le principe<\/h2>\n<p>Sans VTP, cr\u00e9er un VLAN implique de le configurer manuellement sur chaque switch du r\u00e9seau. Avec VTP, un switch configur\u00e9 en mode <strong>serveur<\/strong> propage sa base de VLANs \u00e0 tous les switches du m\u00eame domaine VTP connect\u00e9s en trunk, qui re\u00e7oivent automatiquement la mise \u00e0 jour, sans intervention manuelle sur chaque \u00e9quipement.<\/p>\n<h2>Les trois modes VTP<\/h2>\n<ul>\n<li><strong>Server<\/strong> \u2014 peut cr\u00e9er, modifier et supprimer des VLANs ; propage les changements aux autres switches du domaine.<\/li>\n<li><strong>Client<\/strong> \u2014 re\u00e7oit et applique les mises \u00e0 jour, ne peut pas cr\u00e9er de VLAN localement.<\/li>\n<li><strong>Transparent<\/strong> \u2014 ne participe pas \u00e0 la synchronisation ; conserve ses propres VLANs configur\u00e9s localement, mais relaie les messages VTP re\u00e7us vers les autres switches sans les appliquer.<\/li>\n<\/ul>\n<h2>Le domaine VTP : la cl\u00e9 de la synchronisation<\/h2>\n<p>Deux switches ne synchronisent leurs VLANs que s&rsquo;ils appartiennent au m\u00eame \u00ab\u00a0domaine\u00a0\u00bb VTP, identifi\u00e9 par un nom (sensible \u00e0 la casse) configur\u00e9 manuellement. Un switch dont le domaine VTP est vide adopte automatiquement le premier domaine qu&rsquo;il re\u00e7oit sur un trunk \u2014 un comportement \u00e0 conna\u00eetre avant de brancher un nouvel \u00e9quipement.<\/p>\n<h2>Le pi\u00e8ge classique : le num\u00e9ro de r\u00e9vision<\/h2>\n<p>Chaque changement sur un switch en mode serveur incr\u00e9mente un num\u00e9ro de r\u00e9vision de configuration. Si vous branchez sur le r\u00e9seau un switch en mode serveur avec un num\u00e9ro de r\u00e9vision plus \u00e9lev\u00e9 \u2014 m\u00eame avec une base de VLANs vide ou obsol\u00e8te \u2014 <strong>il \u00e9crasera la configuration VLAN de tout le domaine<\/strong>. C&rsquo;est l&rsquo;un des incidents les plus document\u00e9s dans les r\u00e9seaux Cisco, souvent caus\u00e9 par un switch de test ou de rechange mal r\u00e9initialis\u00e9 avant sa remise en service.<\/p>\n<h2>Comment se prot\u00e9ger<\/h2>\n<pre>Switch(config)# vtp mode transparent<\/pre>\n<p>Beaucoup d&rsquo;architectes r\u00e9seau recommandent aujourd&rsquo;hui d&rsquo;utiliser VTP en mode transparent partout, ou de d\u00e9sactiver VTP purement et simplement, en g\u00e9rant les VLANs manuellement ou via un outil d&rsquo;automatisation externe (Ansible, par exemple). Le gain de temps de VTP ne compense pas toujours le risque en environnement de production, surtout sur un r\u00e9seau critique.<\/p>\n<h2>V\u00e9rifier l&rsquo;\u00e9tat VTP d&rsquo;un switch<\/h2>\n<pre>Switch# show vtp status<\/pre>\n<p>Cette commande affiche le mode actuel, le domaine VTP configur\u00e9 et le num\u00e9ro de r\u00e9vision \u2014 \u00e0 v\u00e9rifier syst\u00e9matiquement avant de connecter un nouveau switch \u00e0 un r\u00e9seau existant, en particulier un switch qui a d\u00e9j\u00e0 servi ailleurs.<\/p>\n<h2>VTP version 3 : une am\u00e9lioration notable<\/h2>\n<p>VTP version 3 introduit une protection par mot de passe primaire\/secondaire et une meilleure gestion du num\u00e9ro de r\u00e9vision, r\u00e9duisant (sans l&rsquo;\u00e9liminer compl\u00e8tement) le risque de l&rsquo;incident d\u00e9crit plus haut. Elle reste toutefois moins r\u00e9pandue que les versions 1 et 2 sur les parcs d&rsquo;\u00e9quipements existants.<\/p>\n<h2>Commandes utiles : application et supervision<\/h2>\n<h3>Configuration<\/h3>\n<p>Avant toute chose, un switch doit \u00eatre configur\u00e9 dans le bon mode selon le r\u00f4le qu&rsquo;il doit jouer dans le domaine VTP. Voici les trois possibilit\u00e9s, avec la commande et l&rsquo;usage associ\u00e9 pour chacune.<\/p>\n<h4>Mode Server<\/h4>\n<p>C&rsquo;est le mode par d\u00e9faut sur la plupart des switches Cisco. Le switch peut <strong>cr\u00e9er, modifier et supprimer des VLANs<\/strong>, et propage automatiquement ces changements \u00e0 tous les autres switches du m\u00eame domaine VTP. \u00c0 r\u00e9server \u00e0 un switch c\u0153ur de r\u00e9seau clairement identifi\u00e9, pas \u00e0 n&rsquo;importe quel \u00e9quipement.<\/p>\n<pre>Switch(config)# vtp mode server\nSwitch(config)# vtp domain ASFY\nSwitch(config)# vtp password VotreMotDePasseFort<\/pre>\n<h4>Mode Client<\/h4>\n<p>Le switch <strong>re\u00e7oit et applique<\/strong> les VLANs envoy\u00e9s par le serveur, mais ne peut en cr\u00e9er aucun localement \u2014 toute tentative de cr\u00e9er un VLAN sur un switch en mode client est rejet\u00e9e. Utile pour des switches d&rsquo;acc\u00e8s qui n&rsquo;ont pas besoin de g\u00e9rer eux-m\u00eames les VLANs.<\/p>\n<pre>Switch(config)# vtp mode client\nSwitch(config)# vtp domain ASFY\nSwitch(config)# vtp password VotreMotDePasseFort<\/pre>\n<h4>Mode Transparent<\/h4>\n<p>Le switch <strong>ne participe pas<\/strong> \u00e0 la synchronisation : il g\u00e8re ses propres VLANs localement, de fa\u00e7on totalement ind\u00e9pendante du domaine VTP. Il relaie cependant les messages VTP qu&rsquo;il re\u00e7oit vers ses autres ports trunk, sans les appliquer \u00e0 sa propre configuration. C&rsquo;est le mode le plus s\u00fbr contre l&rsquo;incident du num\u00e9ro de r\u00e9vision, et celui recommand\u00e9 par d\u00e9faut sur un r\u00e9seau de production.<\/p>\n<pre>Switch(config)# vtp mode transparent\nSwitch(config)# vtp domain ASFY<\/pre>\n<h4>R\u00e9glages communs aux trois modes<\/h4>\n<p>Quel que soit le mode choisi, prot\u00e9gez le domaine avec un mot de passe et, si le mat\u00e9riel le permet, utilisez la version 3 pour b\u00e9n\u00e9ficier de ses protections suppl\u00e9mentaires :<\/p>\n<pre>Switch(config)# vtp password VotreMotDePasseFort\nSwitch(config)# vtp version 3<\/pre>\n<h3>Supervision (monitoring)<\/h3>\n<p>Avant de brancher un switch sur un domaine existant, ou pour diagnostiquer un probl\u00e8me de synchronisation, plusieurs commandes permettent d&rsquo;inspecter pr\u00e9cis\u00e9ment l&rsquo;\u00e9tat VTP d&rsquo;un \u00e9quipement.<\/p>\n<h4>show vtp status : l&rsquo;identit\u00e9 VTP du switch<\/h4>\n<pre>Switch# show vtp status<\/pre>\n<p>C&rsquo;est la commande la plus importante \u00e0 conna\u00eetre \u2014 elle donne toutes les informations sur le switch lui-m\u00eame (son \u00ab\u00a0identit\u00e9\u00a0\u00bb VTP) :<\/p>\n<ul>\n<li><strong>VTP Version<\/strong> \u2014 la version du protocole utilis\u00e9e (1, 2 ou 3).<\/li>\n<li><strong>Configuration Revision<\/strong> \u2014 le num\u00e9ro de r\u00e9vision actuel, \u00e0 v\u00e9rifier syst\u00e9matiquement avant de connecter un nouveau switch (voir le pi\u00e8ge d\u00e9crit plus haut).<\/li>\n<li><strong>Maximum VLANs supported locally<\/strong> et <strong>Number of existing VLANs<\/strong> \u2014 la capacit\u00e9 et l&rsquo;usage actuel.<\/li>\n<li><strong>VTP Operating Mode<\/strong> \u2014 Server, Client ou Transparent.<\/li>\n<li><strong>VTP Domain Name<\/strong> \u2014 le domaine configur\u00e9 (vide si jamais d\u00e9fini).<\/li>\n<li><strong>VTP Pruning Mode<\/strong> \u2014 indique si le VTP pruning est actif (limite la diffusion inutile de trafic VLAN sur les trunks qui n&rsquo;en ont pas besoin).<\/li>\n<li><strong>MD5 digest<\/strong> \u2014 une empreinte de la base de VLANs, utile pour v\u00e9rifier rapidement si deux switches ont exactement la m\u00eame configuration sans comparer VLAN par VLAN.<\/li>\n<li><strong>Configuration last modified by\/at<\/strong> \u2014 l&rsquo;adresse IP et l&rsquo;horodatage du dernier changement, tr\u00e8s utile pour identifier l&rsquo;origine d&rsquo;un incident.<\/li>\n<\/ul>\n<h4>show vtp devices : voir tout le domaine VTP (VTPv3 uniquement)<\/h4>\n<pre>Switch# show vtp devices<\/pre>\n<p>Disponible uniquement en <strong>VTP version 3<\/strong>, cette commande interroge l&rsquo;ensemble du domaine VTP (pas seulement les voisins directement connect\u00e9s, contrairement \u00e0 CDP) et affiche la liste de tous les switches membres :<\/p>\n<ul>\n<li><strong>VTP Feature<\/strong> \u2014 la fonctionnalit\u00e9 synchronis\u00e9e concern\u00e9e (VLAN, MST&#8230;).<\/li>\n<li><strong>Conf<\/strong> \u2014 indique s&rsquo;il y a un conflit de configuration d\u00e9tect\u00e9 pour ce membre.<\/li>\n<li><strong>Revision<\/strong> \u2014 le num\u00e9ro de r\u00e9vision de configuration de ce switch.<\/li>\n<li><strong>Primary Server<\/strong> \u2014 l&rsquo;adresse MAC du serveur primaire pour cette fonctionnalit\u00e9.<\/li>\n<li><strong>Device ID<\/strong> \u2014 l&rsquo;adresse MAC du switch d\u00e9couvert.<\/li>\n<li><strong>Device Description<\/strong> \u2014 le nom d&rsquo;h\u00f4te du switch d\u00e9couvert.<\/li>\n<\/ul>\n<p>Exemple de sortie :<\/p>\n<pre>VTP Feature  Conf Revision Primary Server Device ID      Device Description\nVLAN         No   6        0019.569d.5700 0011.214e.d180 SW3\nVLAN         No   6        0019.569d.5700 0011.bb0b.3600 SW2<\/pre>\n<p>Un param\u00e8tre optionnel <code>conflict<\/code> permet d&rsquo;afficher uniquement les switches en conflit de configuration :<\/p>\n<pre>Switch# show vtp devices conflict<\/pre>\n<p>Une commande pr\u00e9cieuse pour avoir une vue compl\u00e8te du domaine depuis un seul switch, sans devoir se connecter individuellement \u00e0 chaque \u00e9quipement.<\/p>\n<h4>show vtp counters : d\u00e9tecter les anomalies<\/h4>\n<pre>Switch# show vtp counters<\/pre>\n<p>Cette commande affiche des compteurs de messages VTP \u00e9chang\u00e9s (Summary advertisements, Subset advertisements, Request advertisements, envoy\u00e9s et re\u00e7us) ainsi que des compteurs d&rsquo;erreurs. Un nombre \u00e9lev\u00e9 de <strong>Configuration revision errors<\/strong> ou <strong>Configuration digest errors<\/strong> signale g\u00e9n\u00e9ralement une incoh\u00e9rence entre switches \u2014 mot de passe diff\u00e9rent, ou version VTP incompatible.<\/p>\n<h4>show vtp password : v\u00e9rifier la protection en place<\/h4>\n<pre>Switch# show vtp password<\/pre>\n<p>Confirme si un mot de passe VTP est actuellement configur\u00e9 sur le switch, sans en r\u00e9v\u00e9ler la valeur en clair \u2014 pratique pour un audit rapide de s\u00e9curit\u00e9 sans avoir besoin de conna\u00eetre le mot de passe lui-m\u00eame.<\/p>\n<h4>show vlan brief : le r\u00e9sultat concret de la synchronisation<\/h4>\n<pre>Switch# show vlan brief<\/pre>\n<p>Ne fait pas partie des commandes VTP \u00e0 proprement parler, mais reste la v\u00e9rification finale la plus parlante : elle montre la liste r\u00e9elle des VLANs pr\u00e9sents sur le switch, donc l&rsquo;effet concret (ou l&rsquo;absence d&rsquo;effet) de la synchronisation VTP sur cet \u00e9quipement pr\u00e9cis.<\/p>\n<p><strong>Besoin d&rsquo;aide pour s\u00e9curiser la gestion de vos VLANs ?<\/strong> <a href=\"\/index.php\/contact\/\">Contactez-nous<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Modes server\/client\/transparent, le risque du num\u00e9ro de r\u00e9vision qui peut effacer tous vos VLANs, et comment s&rsquo;en prot\u00e9ger.<\/p>\n","protected":false},"featured_media":0,"template":"","sv_tuto_categorie":[23],"class_list":["post-91","sv_tutoriel","type-sv_tutoriel","status-publish","hentry","sv_tuto_categorie-reseau"],"_links":{"self":[{"href":"https:\/\/asfy.fr\/index.php\/wp-json\/wp\/v2\/sv_tutoriel\/91","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/asfy.fr\/index.php\/wp-json\/wp\/v2\/sv_tutoriel"}],"about":[{"href":"https:\/\/asfy.fr\/index.php\/wp-json\/wp\/v2\/types\/sv_tutoriel"}],"version-history":[{"count":6,"href":"https:\/\/asfy.fr\/index.php\/wp-json\/wp\/v2\/sv_tutoriel\/91\/revisions"}],"predecessor-version":[{"id":134,"href":"https:\/\/asfy.fr\/index.php\/wp-json\/wp\/v2\/sv_tutoriel\/91\/revisions\/134"}],"wp:attachment":[{"href":"https:\/\/asfy.fr\/index.php\/wp-json\/wp\/v2\/media?parent=91"}],"wp:term":[{"taxonomy":"sv_tuto_categorie","embeddable":true,"href":"https:\/\/asfy.fr\/index.php\/wp-json\/wp\/v2\/sv_tuto_categorie?post=91"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}