Cybersécurité

MikroTik RouterOS : VLAN et pare-feu pas à pas

15 min de lecture

📍 Guide principal : Réseau d’entreprise : MikroTik, pfSense, OPNsense, FortiGate
Ce tutoriel fait partie d’une série sur le cœur de réseau professionnel. Pour la vue d’ensemble des concepts, lisez d’abord le guide principal.

Un réseau « plat », où tous les appareils partagent le même segment, est à la fois un cauchemar de sécurité et un casse-tête de performance : la téléphonie cohabite avec les serveurs, les invités voient les imprimantes internes, et le moindre poste compromis donne accès à tout. La solution professionnelle tient en deux mots : segmenter, puis filtrer. Dans ce tutoriel, vous allez transformer un routeur MikroTik en cœur de réseau segmenté, avec des VLAN étanches et une politique de pare-feu saine, sur RouterOS 7.

🎯 Ce que vous allez apprendre

  • Activer le filtrage VLAN sur un pont (bridge) RouterOS sans vous verrouiller hors de l’équipement.
  • Créer trois VLAN isolés — données, invités, administration — et leur affecter adressage et DHCP.
  • Écrire une politique de pare-feu « tout fermé par défaut » qui protège le routeur et contrôle les flux inter-VLAN.
  • Vérifier la segmentation et diagnostiquer une règle qui ne s’applique pas.

🛠️ Ce que vous allez construire

À la fin, vous disposerez d’un routeur MikroTik servant de passerelle pour trois réseaux logiques distincts derrière un seul équipement physique. Le VLAN données accédera à Internet, le VLAN invités sera coupé du réseau interne, et le VLAN administration sera le seul autorisé à gérer le routeur. C’est l’ossature exacte d’un petit réseau d’entreprise réel.

Prérequis

  • Un routeur MikroTik sous RouterOS 7 (version stable recommandée : 7.21.x ou ultérieure), ou la version logicielle CHR dans une machine virtuelle.
  • L’outil WinBox (gratuit, depuis mikrotik.com) ou un accès au terminal via WebFig/SSH.
  • Notions de base sur les adresses IP et les masques de sous-réseau.
  • Niveau : intermédiaire. Test express : si vous savez ouvrir un terminal WinBox et lire une adresse IP, vous êtes prêt.
  • ⏱️ Temps estimé : ~45 minutes.

Étape 1 — Préparer un pont sans filtrage VLAN

Avant toute chose, comprenons le modèle de RouterOS. Sur les modèles récents, on regroupe les ports physiques dans un bridge (pont logiciel ou matériel) et c’est ce pont qui gère les VLAN. La règle d’or : on construit toute la configuration avec le filtrage VLAN désactivé, et on ne l’active qu’à la toute fin, une fois les tables vérifiées. Activer le filtrage trop tôt est la première cause de verrouillage accidentel.

/interface bridge
add name=bridge1 vlan-filtering=no

/interface bridge port
add bridge=bridge1 interface=ether2
add bridge=bridge1 interface=ether3
add bridge=bridge1 interface=ether4

On vient de créer un pont nommé bridge1 avec le filtrage VLAN explicitement désactivé, puis d’y rattacher trois ports physiques. Le port ether1 est volontairement laissé à part : il servira de liaison vers Internet (WAN). À ce stade, un /interface bridge port print doit lister vos trois ports membres du pont. Si un port manque, vérifiez qu’il n’est pas déjà utilisé par une autre configuration.

Pour fixer le modèle mental : dans RouterOS, le pont joue le rôle d’un commutateur virtuel, les ports physiques en sont les prises, et la table VLAN décrit qui parle à qui et avec quelle étiquette. Les interfaces VLAN routées, que l’on créera plus loin, sont les « jambes » du routeur dans chaque segment — c’est par elles que le trafic monte au niveau 3 pour être routé ou filtré. Garder cette image en tête évite la confusion la plus répandue : croire qu’un VLAN « existe » dès qu’on a tagué un port, alors qu’il faut aussi une interface routée et une adresse pour qu’il devienne joignable.

Étape 2 — Déclarer les VLAN dans la table du pont

Le filtrage VLAN repose sur une table qui dit, pour chaque identifiant de VLAN, quels ports le transportent « taggé » (avec l’étiquette 802.1Q) et quels ports le transportent « untaggé » (trafic d’accès classique pour les terminaux). On va dédier ether2 au VLAN 10 (données), ether3 au VLAN 20 (invités) et ether4 au VLAN 99 (administration). Le pont lui-même doit être taggé pour tous les VLAN, car c’est par lui que transiteront les interfaces routées.

/interface bridge vlan
add bridge=bridge1 tagged=bridge1 untagged=ether2 vlan-ids=10
add bridge=bridge1 tagged=bridge1 untagged=ether3 vlan-ids=20
add bridge=bridge1 tagged=bridge1 untagged=ether4 vlan-ids=99

Chaque ligne associe un VLAN à son port d’accès untaggé et inscrit le pont comme membre taggé. Concrètement, un ordinateur branché sur ether2 enverra des trames sans étiquette, que le pont rangera dans le VLAN 10. Il faut aussi définir le PVID (VLAN par défaut) de chaque port d’accès pour que le trafic entrant non étiqueté soit correctement classé.

/interface bridge port
set [find interface=ether2] pvid=10
set [find interface=ether3] pvid=20
set [find interface=ether4] pvid=99

Le PVID indique au port « tout ce qui arrive sans étiquette appartient à ce VLAN ». Un /interface bridge vlan print doit maintenant montrer vos trois entrées. C’est le moment de relire cette table attentivement : c’est elle qui détermine l’étanchéité de votre segmentation.

Étape 3 — Créer les interfaces routées et l’adressage

Les VLAN existent désormais au niveau du pont, mais ils ne savent pas encore se parler ni sortir. Pour cela, on crée une interface VLAN routée par segment, posée sur le pont, puis on lui attribue une adresse de passerelle. Cette adresse sera la porte de sortie des machines du VLAN.

/interface vlan
add interface=bridge1 name=vlan10-data vlan-id=10
add interface=bridge1 name=vlan20-guest vlan-id=20
add interface=bridge1 name=vlan99-mgmt vlan-id=99

/ip address
add address=10.10.10.1/24 interface=vlan10-data
add address=10.10.20.1/24 interface=vlan20-guest
add address=10.10.99.1/24 interface=vlan99-mgmt

Chaque interface VLAN reçoit la première adresse de son sous-réseau, qui jouera le rôle de passerelle par défaut pour les clients. Après un /ip address print, vous devez voir trois adresses, chacune liée à son interface VLAN. Si une adresse apparaît « invalid », c’est généralement que l’interface VLAN correspondante n’a pas été créée ou est mal nommée.

Étape 4 — Distribuer les adresses avec DHCP

Pour que les terminaux obtiennent automatiquement une adresse, il faut un serveur DHCP par VLAN. On définit d’abord une plage d’adresses (pool), puis le serveur DHCP qui s’appuie dessus, et enfin les paramètres réseau distribués aux clients : passerelle et serveur DNS. On illustre ici le VLAN données ; on reproduit ensuite la même structure pour les autres VLAN en changeant les plages.

/ip pool
add name=pool-data ranges=10.10.10.100-10.10.10.200

/ip dhcp-server
add name=dhcp-data interface=vlan10-data address-pool=pool-data

/ip dhcp-server network
add address=10.10.10.0/24 gateway=10.10.10.1 dns-server=10.10.10.1

/ip dns
set servers=1.1.1.1,9.9.9.9 allow-remote-requests=yes

Le serveur attribuera aux clients du VLAN 10 une adresse entre .100 et .200, avec .1 comme passerelle. On a aussi annoncé le routeur lui-même (.1) comme serveur DNS : il faut donc activer son résolveur avec allow-remote-requests=yes et lui donner des serveurs amont, sans quoi il ignorerait les requêtes DNS des clients. Un ordinateur branché sur ether2 et configuré en DHCP doit maintenant recevoir une adresse dans cette plage : vérifiez-le avec /ip dhcp-server lease print, qui liste les baux actifs. Répétez l’opération pour le VLAN invités (réseau 10.10.20.0/24) ; le VLAN administration peut rester en adressage statique pour plus de contrôle.

Étape 5 — Activer le filtrage VLAN en toute sécurité

C’est l’étape la plus délicate. Tant que le filtrage était désactivé, tous les ports communiquaient librement. En l’activant, seuls les chemins déclarés dans la table VLAN resteront ouverts. Le risque : si votre port d’administration n’est pas correctement déclaré, vous perdez l’accès. Pour vous prémunir, gardez une session ouverte sur le port d’administration et, idéalement, utilisez la fonction Safe Mode de WinBox (Ctrl+X) qui annule automatiquement les changements si la session est coupée.

/interface bridge
set bridge1 vlan-filtering=yes

Une fois cette commande passée, le filtrage est actif. Si vous gardez la main sur le routeur, c’est gagné : la table VLAN est correcte. Testez la connectivité depuis un poste de chaque VLAN. Si vous perdez l’accès, le Safe Mode restaurera l’état précédent, ou un redémarrage sans sauvegarde annulera le dernier changement. Ne sauvegardez la configuration qu’après avoir confirmé que tout répond.

Étape 6 — Écrire la politique de pare-feu

La segmentation isole les VLAN au niveau 2, mais le routeur, lui, peut router entre eux. C’est le pare-feu qui décide quels flux inter-VLAN sont permis. On raisonne en deux chaînes : input (le trafic destiné au routeur lui-même) et forward (le trafic qui traverse le routeur entre deux réseaux). La philosophie professionnelle est toujours la même : autoriser explicitement le légitime, puis tout refuser.

Commençons par protéger le routeur lui-même via la chaîne input. On accepte le trafic des connexions déjà établies, on rejette l’invalide, on autorise l’administration depuis le seul VLAN dédié, puis on ferme.

/ip firewall filter
add chain=input action=accept connection-state=established,related comment="retour des sessions"
add chain=input action=drop connection-state=invalid comment="paquets invalides"
add chain=input action=accept protocol=icmp comment="ping diagnostic"
add chain=input action=accept protocol=udp dst-port=53,67 comment="DNS et DHCP des VLAN internes"
add chain=input action=accept protocol=tcp dst-port=53 comment="DNS sur TCP"
add chain=input action=accept in-interface=vlan99-mgmt comment="admin depuis VLAN 99"
add chain=input action=drop comment="tout le reste vers le routeur"

Cette séquence signifie : les réponses aux connexions sortantes passent, les paquets corrompus sont jetés, le ping est toléré pour le diagnostic. Les deux règles suivantes sont essentielles et souvent oubliées : comme le routeur héberge le serveur DHCP et sert de résolveur DNS aux clients (il s’est annoncé comme dns-server), il faut explicitement laisser entrer le DHCP (UDP 67) et le DNS (UDP et TCP 53) ; sans elles, les postes des VLAN données et invités n’obtiendraient pas d’adresse et ne résoudraient aucun nom. Vient ensuite l’accès d’administration depuis le seul VLAN 99 (WinBox, SSH), puis le refus de tout autre paquet visant le routeur. L’ordre est capital : le moteur lit de haut en bas et applique la première règle qui correspond. Une règle drop placée trop haut bloquerait tout.

Passons maintenant au trafic traversant, avec la chaîne forward. On veut : laisser tous les VLAN sortir vers Internet, autoriser les sessions de retour, mais empêcher le VLAN invités d’atteindre les réseaux internes.

/ip firewall filter
add chain=forward action=accept connection-state=established,related comment="retours"
add chain=forward action=drop connection-state=invalid
add chain=forward action=drop in-interface=vlan20-guest out-interface=vlan10-data comment="invites bloques vers donnees"
add chain=forward action=drop in-interface=vlan20-guest out-interface=vlan99-mgmt comment="invites bloques vers admin"
add chain=forward action=accept out-interface=ether1 comment="tout VLAN vers Internet"
add chain=forward action=drop comment="tout le reste entre VLAN"

Les deux règles drop ciblées isolent les invités du reste de l’entreprise ; la règle suivante laisse sortir n’importe quel VLAN vers l’interface Internet ; la dernière coupe toute communication inter-VLAN non explicitement autorisée. Ce schéma illustre un principe défensif essentiel : la dernière règle de chaque chaîne est un refus explicite, et tout ce qui doit passer est autorisé au-dessus, nommément. On ne laisse jamais une chaîne se terminer sur une autorisation implicite, car cela reviendrait à ouvrir par défaut tout ce qu’on a oublié de bloquer. Cette discipline du « refus par défaut » est exactement la même sur pfSense, OPNsense et FortiGate — seule la syntaxe change. Pour que la sortie Internet fonctionne réellement, il faut enfin une règle de NAT qui masque les adresses privées derrière l’adresse publique du WAN.

/ip firewall nat
add chain=srcnat out-interface=ether1 action=masquerade comment="NAT sortie Internet"

Le masquerade réécrit l’adresse source des paquets sortants avec l’adresse de ether1. Sans cette règle, le trafic serait routé puis bloqué côté fournisseur car porteur d’adresses privées. Testez depuis un poste du VLAN données : un ping vers une adresse publique doit aboutir, tandis qu’un poste du VLAN invités ne doit pas pouvoir joindre une machine du VLAN données.

🐞 Pièges fréquents

Symptôme / erreur Cause probable Correctif
Perte totale d’accès après vlan-filtering=yes Port d’administration non déclaré dans la table VLAN Utiliser Safe Mode (Ctrl+X) avant d’activer ; vérifier PVID et entrée VLAN du port admin
Un client n’obtient pas d’adresse Serveur DHCP lié à la mauvaise interface VLAN Vérifier que interface= du DHCP pointe l’interface VLAN routée, pas le port physique
Pas d’accès Internet malgré tout Règle de NAT masquerade manquante Ajouter la règle srcnat ... action=masquerade sur l’interface WAN
Les invités voient quand même le réseau interne Règles de blocage placées après la règle d’acceptation générale Remonter les règles drop spécifiques au-dessus de l’accept vers Internet
Deux VLAN communiquent sans le vouloir Même PVID assigné par erreur à deux ports Contrôler chaque PVID avec /interface bridge port print

✅ Récapitulatif

Vous venez de transformer un routeur unique en cœur de réseau segmenté : trois VLAN étanches, un adressage et un DHCP par segment, un filtrage VLAN activé sans verrouillage, et une politique de pare-feu qui protège le routeur, isole les invités et masque le trafic sortant. Vous maîtrisez désormais le triptyque fondamental — segmentation, routage inter-VLAN, filtrage — qui sous-tend tout réseau d’entreprise, quelle que soit la marque de l’équipement.

🧾 Aide-mémoire

Commande / élément Rôle
/interface bridge add vlan-filtering=no Créer le pont (filtrage désactivé pendant la config)
/interface bridge vlan add Déclarer un VLAN avec ses ports taggés/untaggés
pvid= VLAN par défaut d’un port d’accès
/interface vlan add Créer l’interface routée d’un VLAN
/ip dhcp-server Distribuer les adresses dans un VLAN
set bridge1 vlan-filtering=yes Activer le filtrage (dernière étape)
/ip firewall filter chaînes input/forward Protéger le routeur / contrôler l’inter-VLAN
action=masquerade NAT de sortie vers Internet
WinBox Ctrl+X Safe Mode : annule les changements si la session tombe

💪 À vous de jouer

Ajoutez un quatrième VLAN dédié à la téléphonie (VLAN 30, réseau 10.10.30.0/24) et autorisez-le à joindre uniquement un serveur précis du VLAN données, sans accès au reste.

Voir une solution
/interface bridge vlan add bridge=bridge1 tagged=bridge1 untagged=ether5 vlan-ids=30
/interface bridge port set [find interface=ether5] pvid=30
/interface vlan add interface=bridge1 name=vlan30-voip vlan-id=30
/ip address add address=10.10.30.1/24 interface=vlan30-voip
/ip firewall filter add chain=forward action=accept in-interface=vlan30-voip dst-address=10.10.10.50 place-before=[find comment="tout le reste entre VLAN"]

La règle ciblée autorise la voix vers le seul serveur 10.10.10.50 ; la règle drop finale bloque le reste. Le paramètre place-before garantit que la règle d’autorisation passe avant le refus général.

Tutoriels de la même série

Pour aller plus loin

  • 🔝 Retour au guide principal : Réseau d’entreprise : MikroTik, pfSense, OPNsense, FortiGate
  • Documentation officielle : base de connaissances MikroTik (help.mikrotik.com), sections « Bridging and VLAN » et « Firewall ».
  • Tutoriel suivant suggéré : OPNsense et Suricata pour ajouter la détection d’intrusion.

FAQ

Pourquoi désactiver le filtrage VLAN pendant la configuration ?
Parce qu’activer le filtrage avant d’avoir déclaré correctement le port d’administration coupe instantanément votre accès. On construit tout à froid, puis on active en dernier, filet de sécurité (Safe Mode) tendu.

Quelle différence entre un port taggé et untaggé ?
Un port untaggé sert un terminal classique qui ignore les VLAN : le routeur ajoute et retire l’étiquette pour lui. Un port taggé transporte plusieurs VLAN étiquetés, typiquement vers un autre commutateur ou un point d’accès gérant lui-même les VLAN.

Le filtrage VLAN ralentit-il le routeur ?
Sur les modèles dotés d’une puce de commutation matérielle, le filtrage VLAN est traité au niveau matériel sans pénalité notable. Sur les configurations purement logicielles, l’impact existe mais reste marginal pour des débits courants.

Puis-je gérer le routeur depuis n’importe quel VLAN ?
Volontairement non, dans cette configuration. Seul le VLAN administration peut joindre le routeur, grâce à la règle input dédiée. C’est une bonne pratique de sécurité : on réduit la surface d’attaque de l’interface de gestion.

Mots-clés : MikroTik RouterOS 7, VLAN 802.1Q, bridge vlan-filtering, pare-feu MikroTik, NAT masquerade, segmentation réseau, DHCP MikroTik.

Service ITSkillsCenter

Application mobile Android et iOS

Création d'application mobile Android et iOS. À partir de 350 000 FCFA.

Démarrer mon projet
Publicité