Tunnel L2 - GRETAP
1. Introduction : Pourquoi utiliser GRETAP ?
1.1. À quoi sert un tunnel GRETAP ?
Un tunnel GRETAP (GRE Tunnel Access Point) est une variante Layer 2 du tunnel GRE classique. Contrairement au GRE standard qui transporte des paquets IP (Layer 3), GRETAP transporte des trames Ethernet complètes, ce qui permet de bridger des réseaux distants comme s'ils étaient connectés au même switch. Exemple concret :
1.2. Avantages de GRETAP
1.3. Inconvénients
2. Prérequis
2.1. Ce dont vous avez besoin
2.2. Ports et NAT
3. Étape 1 : Créer le bridge et le tunnel sur Tunnel-IP.com
Les tunnels L2 fonctionnent avec des bridges**bridges** sur la plateforme. Un bridge est un switch virtuel qui regroupe vos tunnels L2 et vos subnets. Vous devez d'abord créer un bridge, puis créer le tunnel en l'associant à ce bridge.
3.1. Créer le bridge
3.2. Créer le tunnel GRETAP
<span class="editor-theme-code">GRETAP_Tunnel</span>).
Endpoint (IP publique du routeur / box, ex : <span class="editor-theme-code">203.0.113.1</span>).
Bridge : Sélectionnez le bridge créé précédemment.
MTU : Taille maximale des paquets (-1 pour laisser la plateforme choisir).
Clé (si applicable).
Validez. La plateforme s'occupera de configurer le tunnel côté Tunnel-IP.com.
Attendez que le tunnel soit créé
Cliquez sur "Accéder" pour récupérer les détails du tunnel
3.3. Créer le subnet
1. Allez dans "Subnets"
2. Copiez le bloc d'IP publique et collez le dans le formulaire
3. Sélectionnez le bridge (et non un tunnel directement) comme destination
4. Cliquez sur Créer
5. Une fois son statut à "Actif", la route est correctement installée sur les routeurs de la plateforme
**Important :** La première IP du subnet sera utilisée comme gateway**gateway** sur le bridge côté plateforme. Par exemple, pour le subnet `198.51.100.0/29`, la gateway sera `198.51.100.1`.
4. Étape 2 : Configurer le tunnel
Contrairement au GRE classique (L3), GRETAP transporte des trames Ethernet (Layer 2). Côté client, vous devez créer l'interface GRETAP puis la bridger**bridger** avec votre interface LAN (ou lui assigner directement une IP du subnet).
4.1. Exemple pour Linux (Ubuntu/Debian)
Étapes :
Créer l'interface GRETAP :
ip link add gretap0 type gretap remote 172.16.126.33
ip link set gretap0 up
<span class="editor-theme-code">gretap0</span> : Nom de l'interface GRETAP.
<span class="editor-theme-code">remote 172.16.126.33</span> : IP distante (Tunnel-IP.com).
Option A : Assigner directement une IP publique :
Si vous souhaitez que le routeur lui-même ait une IP publique :
ip addr add 198.51.100.2/29 dev gretap0
ip route add default via 198.51.100.1 dev gretap0
<span class="editor-theme-code">198.51.100.2/29</span> : Une IP du subnet (la première IP .1 est la gateway côté plateforme).
<span class="editor-theme-code">198.51.100.1</span> : Gateway (première IP du subnet, côté plateforme).
Option B : Bridger avec une interface LAN :
Si vous souhaitez que des machines sur votre LAN aient directement les IPs publiques :
ip link add br0 type bridge
ip link set br0 up
ip link set gretap0 master br0
ip link set eth1 master br0 # Interface LAN vers vos machines
Les machines connectées à <span class="editor-theme-code">eth1</span> pourront alors utiliser les IPs du subnet directement, avec <span class="editor-theme-code">198.51.100.1</span> comme gateway.
Activer le forwarding (si nécessaire) :
echo 1 > /proc/sys/net/ipv4/ip_forward
(Pour rendre permanent, ajoutez <strong class="editor-theme-bold editor-theme-code editor-theme-italic">net.ipv4.ip_forward=1</strong> dans <strong class="editor-theme-bold editor-theme-code editor-theme-italic">/etc/sysctl.conf</strong>*.)
4.2. Exemple pour MikroTik
MikroTik ne supporte pas nativement le GRETAP en tant que tel. Cependant, l'interface EoIP de MikroTik remplit la même fonction (tunnel GRE Layer 2). Si vous souhaitez interopérer avec un GRETAP Linux/Cisco, vous pouvez utiliser un EoIP côté MikroTik avec les mêmes paramètres, ou utiliser un bridge avec un tunnel GRE classique.
Alternative avec EoIP :
```
/interface/eoip/add remote-address=172.16.126.33 tunnel-id=100 name=eoip-tunnel
Bridger avec une interface LAN :```
/interface/bridge/add name=br-gretap
/interface/bridge/port/add bridge=br-gretap interface=eoip-tunnel
/interface/bridge/port/add bridge=br-gretap interface=ether2 # Interface LAN
Option : Assigner une IP au bridge :```
/ip/address/add address=198.51.100.2/29 interface=br-gretap
/ip/route/add dst-address=0.0.0.0/0 gateway=198.51.100.1
4.3. Exemple pour Cisco (IOS/XE)
Étapes :
```
enable
configure terminal
Créer l'interface tunnel en mode GRETAP :```
interface Tunnel0
tunnel source 192.168.1.1 # IP locale du routeur
tunnel destination 172.16.126.33 # IP distante
tunnel mode gre multipoint
no shutdown
Créer le Bridge Domain et l'associer :```
bridge-domain 100
member Tunnel0 service-instance 1
member Vlan100
Configurer l'interface VLAN :```
interface Vlan100
ip address 198.51.100.2 255.255.255.248
no shutdown
Sauvegarder la configuration :```
write memory
La configuration de bridge L2 sur Cisco varie fortement selon la plateforme (IOS, IOS-XE, NX-OS). Consultez la documentation de votre modèle.
4.4. Exemple pour Arista (EOS)
Étapes :
```
enable
configure terminal
Créer l'interface tunnel GRE en mode bridge :```
interface Tunnel0
tunnel source 192.168.1.1
tunnel destination 172.16.126.33
tunnel mode gre
no shutdown
Bridger le tunnel avec un VLAN :interface Tunnel0
switchport access vlan 100
interface Vlan100
ip address 198.51.100.2/29
no shutdown
Sauvegarder la configuration :```
write memory
4.5. Exemple pour Juniper (JunOS)
Étapes :
edit
Créer l'interface GRE et le bridge domain :set interfaces gr-0/0/0 tunnel source 192.168.1.1
set interfaces gr-0/0/0 tunnel destination 172.16.126.33
set interfaces gr-0/0/0 family bridge interface-mode trunk
set interfaces gr-0/0/0 family bridge vlan-id-list 100
set bridge-domains GRETAP-BD vlan-id 100
set bridge-domains GRETAP-BD routing-interface irb.100
set interfaces irb unit 100 family inet address 198.51.100.2/29
Appliquer la configuration :```
commit
commit
5. Étape 3 : Configurer les IPs publiques
5.1. Architecture L2
Internet → [Infrastructure Tunnel-IP.com] → [Bridge plateforme] → (Tunnel GRETAP) → [Votre Bridge/Interface] → [Vos Machines]
<span class="editor-theme-code">198.51.100.1</span>).
Vos machines utilisent les autres IPs du subnet.
Comme le tunnel est L2, les trames Ethernet passent directement, pas besoin de NAT ni de routage complexe.
5.2. Attribution des IPs
Un <span class="editor-theme-code">/29</span> contient 8 adresses IP :
<span class="editor-theme-code">198.51.100.0</span> : Adresse réseau (inutilisable).
<span class="editor-theme-code">198.51.100.1</span> : Gateway plateforme (réservée automatiquement).
<span class="editor-theme-code">198.51.100.2</span> à <span class="editor-theme-code">198.51.100.6</span> : IPs utilisables pour vos machines.
<span class="editor-theme-code">198.51.100.7</span> : Adresse broadcast (inutilisable).
5.3. Configuration sur les machines
Sur chaque machine qui doit utiliser une IP publique :
Linux :
ip addr add 198.51.100.2/29 dev eth0
ip route add default via 198.51.100.1
MikroTik :
/ip/address/add address=198.51.100.2/29 interface=ether1
/ip/route/add dst-address=0.0.0.0/0 gateway=198.51.100.1
Si vous avez bridgé l'interface GRETAP avec votre LAN, les machines peuvent être configurées directement avec les IPs publiques et la gateway `198.51.100.1`, comme si elles étaient sur un réseau local classique.
6. Commandes spécifiques par constructeur
Constructeur | Commande pour vérifier le tunnel | Commande pour vérifier le bridge |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7. Vérification et Dépannage
7.1. Tester la connectivité
```
ping 198.51.100.1 # Ping de la gateway plateforme
Vérifier l'interface GRETAP (Linux) :```
ip -d link show gretap0 # Vérifier les paramètres
bridge fdb show dev gretap0 # Vérifier la table MAC
Depuis une machine locale :```
ping 8.8.8.8 # Vérification internet
curl -4 ifconfig.me # Vérification de l'IP sortante
7.2. Problèmes courants
| **Cause | ||
|---|---|---|
Le tunnel ne répond pas | Protocole 47 bloqué | Vérifiez la redirection sur votre box / configurez une DMZ |
Pas de connectivité L2 | Clé GRE incorrecte | Vérifiez que la clé correspond à celle fournie par la plateforme |
La gateway ne répond pas | Subnet non associé au bridge | Vérifiez que le subnet est bien associé au bridge sur la plateforme |
Latence élevée / Pertes de paquets | MTU trop grande | Réduisez la MTU :
(overhead GRETAP = 38 octets) |
Les IPs publiques ne fonctionnent pas | Mauvaise gateway | Utilisez la première IP du subnet comme gateway (ex:
) |
8. Bonnes Pratiques
<span class="editor-theme-code">iptables</span> ou ACL).
GRETAP n'offre aucun chiffrement natif. Envisagez IPsec ou Wireguard en complément si le chiffrement est nécessaire.
Performance :
<span class="editor-theme-code">1462</span> pour éviter la fragmentation (overhead GRETAP = 38 octets).
Vérifiez que la MTU de votre lien WAN est suffisante pour encapsuler les trames.
Bridging :