Tunnels GRE pour les VPN de couche 3
Configuration des tunnels GRE pour les VPN de couche 3
Junos OS vous permet de configurer un tunnel d’encapsulation de routage générique (GRE) entre les routeurs PE et CE pour un VPN de couche 3. Le tunnel GRE peut comporter un ou plusieurs sauts. Vous pouvez configurer le tunnel du routeur PE vers un routeur CE local (comme illustré sur la Figure 1) ou vers un routeur CE distant (comme illustré sur la Figure 2).


Pour plus d’informations sur la configuration des interfaces de tunnel, reportez-vous à la bibliothèque d’interfaces de services Junos OS pour les périphériques de routage.
Vous pouvez configurer les tunnels GRE manuellement ou configurer Junos OS pour instancier dynamiquement les tunnels GRE.
Les sections suivantes décrivent comment configurer les tunnels GRE manuellement et dynamiquement :
- Configuration manuelle des tunnels GRE entre les routeurs PE et CE
- Configuration dynamique des tunnels GRE
Configuration manuelle des tunnels GRE entre les routeurs PE et CE
Vous pouvez configurer manuellement un tunnel GRE entre un routeur PE et un routeur CE local ou CE distant pour un VPN de couche 3, comme expliqué dans les sections suivantes :
- Configuration de l’interface de tunnel GRE sur le routeur PE
- Configuration de l’interface de tunnel GRE sur le routeur CE
Configuration de l’interface de tunnel GRE sur le routeur PE
Vous configurez le tunnel GRE en tant qu’interface logique sur le routeur PE. Pour configurer l’interface de tunnel GRE, incluez l’instruction unit
suivante :
unit logical-unit-number { tunnel { source source-address; destination destination-address; routing-instance { destination routing-instance-name; } } family inet { address address; } }
Vous pouvez inclure cette instruction aux niveaux hiérarchiques suivants :
[edit interfaces interface-name]
[edit logical-systems logical-system-name interfaces interface-name]
Dans le cadre de la configuration de l’interface de tunnel GRE, vous devez inclure les instructions suivantes :
source source-address
: spécifiez la source ou l’origine du tunnel GRE, généralement le routeur PE.destination destination-address
: spécifie la destination ou le point d’extrémité du tunnel GRE. Il peut s’agir d’un routeur fournisseur, du routeur CE local ou du routeur CE distant.
Par défaut, l’adresse de destination du tunnel est supposée se trouver dans la table de routage Internet par défaut, inet.0. Si l’adresse de destination du tunnel n’est pas dans inet.0, vous devez spécifier la table de routage à rechercher pour l’adresse de destination du tunnel en configurant l’instruction routing-instance
. C’est le cas si l’interface d’encapsulation du tunnel est également configurée sous l’instance de routage.
destination
routing-instance-name
: spécifiez le nom de l’instance de routage lors de la configuration de l’interface de tunnel GRE sur le routeur PE.
Pour terminer la configuration de l’interface de tunnel GRE, incluez l’instruction interface
de l’interface GRE sous l’instance de routage appropriée :
interface interface-name;
Vous pouvez inclure cette instruction aux niveaux hiérarchiques suivants :
[edit routing-instances routing-instance-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name]
Configuration de l’interface de tunnel GRE sur le routeur CE
Vous pouvez configurer le routeur CE local ou distant pour qu’il serve de point de terminaison au tunnel GRE.
Pour configurer l’interface de tunnel GRE sur le routeur CE, incluez l’instruction unit
suivante :
unit logical-unit-number { tunnel { source address; destination address; } family inet { address address; } }
Vous pouvez inclure cette instruction aux niveaux hiérarchiques suivants :
[edit interfaces interface-name]
[edit logical-systems logical-system-name interfaces interface-name]
Configuration dynamique des tunnels GRE
Lorsque le routeur reçoit une route VPN vers une adresse de saut suivant BGP, mais qu’aucun chemin MPLS n’est disponible, un tunnel GRE peut être généré dynamiquement pour acheminer le trafic VPN sur le réseau BGP. Le tunnel GRE est généré, puis ses informations de routage sont copiées dans la table de routage inet.3. Les routes IPv4 sont le seul type de routes pris en charge pour les tunnels GRE dynamiques. De plus, la plate-forme de routage doit disposer d’un PIC de tunnel.
Lors de la configuration d’un tunnel GRE dynamique vers un routeur CE distant, ne configurez pas OSPF sur l’interface du tunnel. Cela crée une boucle de routage qui oblige le routeur à arrêter le tunnel GRE. Le routeur tente de rétablir le tunnel GRE, mais il est forcé de l’interrompre à nouveau lorsque l’OSPF devient actif sur l’interface du tunnel et découvre un chemin vers le point de terminaison du tunnel. Ce n’est pas un problème lors de la configuration de tunnels GRE statiques vers un routeur CE distant.
Pour générer des tunnels GRE de manière dynamique, incluez l’instruction dynamic-tunnels
suivante :
dynamic-tunnels tunnel-name { destination-networks prefix; source-address address; }
Vous pouvez inclure cette instruction aux niveaux hiérarchiques suivants :
-
[edit routing-options]
-
[edit routing-instances routing-instance-name routing-options]
-
[edit logical-systems logical-system-name routing-options]
-
[edit logical-systems logical-system-name routing-instances routing-instance-name routing-options ]
Spécifiez la plage de préfixes IPv4 (par exemple, 10/8 ou 11.1/16) pour le réseau de destination en incluant l’instruction destination-networks
. Seuls les tunnels situés dans la plage de préfixes IPv4 spécifiée peuvent être initiés.
destination-networks prefix;
Vous pouvez inclure cette instruction aux niveaux hiérarchiques suivants :
-
[edit routing-options]
-
[edit routing-instances routing-instance-name routing-options]
-
[edit logical-systems logical-system-name routing-options]
-
[edit logical-systems logical-system-name routing-instances routing-instance-name routing-options ]
Spécifiez l’adresse source des tunnels GRE en incluant l’instruction source-address
. L’adresse source spécifie l’adresse utilisée comme source pour le point de terminaison du tunnel local. Il peut s’agir de n’importe quelle adresse locale sur le routeur (généralement l’ID du routeur ou l’adresse de bouclage).
source-address address;
Vous pouvez inclure cette instruction aux niveaux hiérarchiques suivants :
-
[edit routing-options]
-
[edit routing-instances routing-instance-name routing-options]
-
[edit logical-systems logical-system-name routing-options]
-
[edit logical-systems logical-system-name routing-instances routing-instance-name routing-options ]
Voir aussi
Configuration d’une interface de tunnel GRE entre routeurs PE
Cet exemple montre comment configurer une interface de tunnel GRE (Generic Routing Encapsulation) entre des routeurs PE pour fournir une connectivité VPN. Vous pouvez utiliser cette configuration pour tunneliser le trafic VPN sur un réseau central non MPLS. La topologie de réseau utilisée dans cet exemple est illustrée à la Figure 3. Les routeurs P présentés dans cette illustration n’exécutent pas MPLS.

Pour plus d’informations sur la configuration, reportez-vous aux sections suivantes :
- Configuration de l’instance de routage sur le routeur A
- Configuration de l’instance de routage sur le routeur D
- Configuration des protocoles MPLS, BGP et OSPF sur le routeur A
- Configuration de MPLS, BGP et OSPF sur le routeur D
- Configuration de l’interface tunnel sur le routeur A
- Configuration de l’interface tunnel sur le routeur D
- Configuration des options de routage sur le routeur A
- Configuration des options de routage sur le routeur D
- Récapitulatif de la configuration du routeur A
- Récapitulatif de la configuration du routeur D
Configuration de l’instance de routage sur le routeur A
Configurer une instance de routage sur le routeur A :
[edit routing-instances] gre-config { instance-type vrf; interface fe-1/0/0.0; route-distinguisher 10.255.14.176:69; vrf-import import-config; vrf-export export-config; protocols { ospf { export import-config; area 0.0.0.0 { interface all; } } } }
Configuration de l’instance de routage sur le routeur D
Configurer une instance de routage sur le routeur D :
[edit routing-instances] gre-config { instance-type vrf; interface fe-1/0/1.0; route-distinguisher 10.255.14.178:69; vrf-import import-config; vrf-export export-config; protocols { ospf { export import-config; area 0.0.0.0 { interface all; } } } }
Configuration des protocoles MPLS, BGP et OSPF sur le routeur A
Bien qu’il ne soit pas nécessaire de configurer MPLS sur les routeurs P de cet exemple, il est nécessaire de le faire sur les routeurs PE pour l’interface entre les routeurs PE et CE et sur l’interface GRE (gr-1/1/0.0
) reliant les routeurs PE (routeur A et routeur D). Configurer MPLS, BGP et OSPF sur le routeur A :
[edit protocols] mpls { interface all; } bgp { group pe-to-pe { type internal; neighbor 10.255.14.178 { family inet-vpn { unicast; } } } } ospf { area 0.0.0.0 { interface all; interface gr-1/1/0.0 { disable; } } }
Configuration de MPLS, BGP et OSPF sur le routeur D
Bien qu’il ne soit pas nécessaire de configurer MPLS sur les routeurs P de cet exemple, il est nécessaire de le faire sur les routeurs PE pour l’interface entre les routeurs PE et CE et sur l’interface GRE (gr-1/1/0.0
) reliant les routeurs PE (routeur D et routeur A). Configurer MPLS, BGP et OSPF sur le routeur D :
[edit protocols] mpls { interface all; } bgp { group pe-to-pe { type internal; neighbor 10.255.14.176 { family inet-vpn { unicast; } } } } ospf { traffic-engineering; area 0.0.0.0 { interface all; interface fxp0.0 { disable; } interface gr-1/1/0.0 { disable; } } }
Configuration de l’interface tunnel sur le routeur A
Configurez l’interface du tunnel sur le routeur A (le tunnel n’est pas numéroté) :
[edit interfaces interface-name] unit 0 { tunnel { source 10.255.14.176; destination 10.255.14.178; } family inet; family mpls; }
Configuration de l’interface tunnel sur le routeur D
Configurez l’interface du tunnel sur le routeur D (le tunnel n’est pas numéroté) :
[edit interfaces interface-name] unit 0 { tunnel { source 10.255.14.178; destination 10.255.14.176; } family inet; family mpls; }
Configuration des options de routage sur le routeur A
Dans le cadre de la configuration des options de routage pour le routeur A, vous devez configurer des groupes de tables de routage afin d’activer la résolution de routage VPN dans la table de routage inet.3.
Configurez les options de routage sur le routeur A :
[edit routing-options] interface-routes { rib-group inet if-rib; } rib inet.3 { static { route 10.255.14.178/32 next-hop gr-1/1/0.0; } } rib-groups { if-rib { import-rib [ inet.0 inet.3 ]; } }
Configuration des options de routage sur le routeur D
Dans le cadre de la configuration des options de routage pour le routeur D, vous devez configurer des groupes de tables de routage afin d’activer la résolution de routage VPN dans la table de routage inet.3.
Configurez les options de routage sur le routeur D :
[edit routing-options] interface-routes { rib-group inet if-rib; } rib inet.3 { static { route 10.255.14.176/32 next-hop gr-1/1/0.0; } } rib-groups { if-rib { import-rib [ inet.0 inet.3 ]; } }
Récapitulatif de la configuration du routeur A
Configurer l’instance de routage
gre-config { instance-type vrf; interface fe-1/0/0.0; route-distinguisher 10.255.14.176:69; vrf-import import-config; vrf-export export-config; protocols { ospf { export import-config; area 0.0.0.0 { interface all; } } } }
Configurer MPLS
mpls { interface all; }
Configurer BGP
bgp { traceoptions { file bgp.trace world-readable; flag update detail; } group pe-to-pe { type internal; neighbor 10.255.14.178 { family inet-vpn { unicast; } } } }
Configurer OSPF
ospf { area 0.0.0.0 { interface all; interface gr-1/1/0.0 { disable; } } }
Configurer l’interface du tunnel
interface-name { unit 0 { tunnel { source 10.255.14.176; destination 10.255.14.178; } family inet; family mpls; } }
Configurer les options de routage
interface-routes { rib-group inet if-rib; } rib inet.3 { static { route 10.255.14.178/32 next-hop gr-1/1/0.0; } } rib-groups { if-rib { import-rib [ inet.0 inet.3 ]; } }
Récapitulatif de la configuration du routeur D
Configurer l’instance de routage
gre-config { instance-type vrf; interface fe-1/0/1.0; route-distinguisher 10.255.14.178:69; vrf-import import-config; vrf-export export-config; protocols { ospf { export import-config; area 0.0.0.0 { interface all; } } } }
Configurer MPLS
mpls { interface all; }
Configurer BGP
bgp { group pe-to-pe { type internal; neighbor 10.255.14.176 { family inet-vpn { unicast; } } } }
Configurer OSPF
ospf { traffic-engineering; area 0.0.0.0 { interface all; interface fxp0.0 { disable; } interface gr-1/1/0.0 { disable; } } }
Configurer l’interface du tunnel
interface-name { unit 0 { tunnel { source 10.255.14.178; destination 10.255.14.176; } family inet; family mpls; } }
Configurer les options de routage
interface-routes { rib-group inet if-rib; } rib inet.3 { static { route 10.255.14.176/32 next-hop gr-1/1/0.0; } } rib-groups { if-rib { import-rib [ inet.0 inet.3 ]; } }
Configuration d’une interface tunnel GRE entre un routeur PE et CE
Cet exemple montre comment configurer une interface de tunnel GRE entre un routeur PE et un routeur CE. Vous pouvez utiliser cette configuration pour tunneliser le trafic VPN sur un réseau central non MPLS. La topologie de réseau utilisée dans cet exemple est illustrée à la Figure 4.

Pour cet exemple, suivez les procédures décrites dans les sections suivantes :
- Configuration de l’instance de routage sans l’interface d’encapsulation
- Configuration de l’instance de routage avec l’interface d’encapsulation
- Configuration de l’interface de tunnel GRE sur le routeur CE1
Configuration de l’instance de routage sans l’interface d’encapsulation
Vous pouvez configurer l’instance de routage avec ou sans l’interface d’encapsulation. Les sections suivantes expliquent comment configurer l’instance de routage sans celui-ci :
- Configuration de l’instance de routage sur le routeur PE1
- Configuration de l’interface de tunnel GRE sur le routeur PE1
- Configuration de l’interface d’encapsulation sur le routeur PE1
Configuration de l’instance de routage sur le routeur PE1
Configurez l’instance de routage sur le routeur PE1 :
[edit routing-instances] vpna { instance-type vrf; interface gr-1/2/0.0; route-distinguisher 10.255.14.174:1; vrf-import vpna-import; vrf-export vpna-export; protocols { bgp { group vpna { type external; peer-as 100; as-override; neighbor 10.49.2.1; } } } }
Configuration de l’interface de tunnel GRE sur le routeur PE1
Configurez l’interface du tunnel GRE sur le routeur PE1 :
[edit interfaces gr-1/2/0] unit 0 { tunnel { source 192.168.197.249; destination 192.168.197.250; } family inet { address 10.49.2.2/30; } }
Dans cet exemple, interface t3-0/1/3
sert d’interface d’encapsulation pour le tunnel GRE.
Lorsque vous configurez l’instruction clear-dont-fragment-bit
sur une interface où la famille de protocoles MPLS est activée, vous devez spécifier une valeur MTU. Cette valeur MTU ne doit pas être supérieure à la valeur maximale prise en charge, qui est 9192.
Par exemple:
user@host# show interfaces gr-1/2/0 unit 0 { clear-dont-fragment-bit; family inet { mtu 9100; address 10.10.1.1/32; } family mpls { mtu 9100; } }
Configuration de l’interface d’encapsulation sur le routeur PE1
Configurez l’interface d’encapsulation sur le routeur PE1 :
[edit interfaces t3-0/1/3] unit 0 { family inet { address 192.168.197.249/30; } }
Configuration de l’instance de routage avec l’interface d’encapsulation
Si l’interface d’encapsulation de tunnel, t3-0/1/3
, est également configurée sous l’instance de routage, vous devez spécifier le nom de cette instance de routage dans la définition de l’interface. Le système utilise cette instance de routage pour rechercher l’adresse de destination du tunnel.
Pour configurer l’instance de routage avec l’interface d’encapsulation, procédez comme suit :
- Configuration de l’instance de routage sur le routeur PE1
- Configuration de l’interface de tunnel GRE sur le routeur PE1
- Configuration de l’interface d’encapsulation sur le routeur PE1
Configuration de l’instance de routage sur le routeur PE1
Si vous configurez l’interface d’encapsulation de tunnel sous l’instance de routage, configurez l’instance de routage sur le routeur PE1 :
[edit routing-instances] vpna { instance-type vrf; interface gr-1/2/0.0; interface t3-0/1/3.0; route-distinguisher 10.255.14.174:1; vrf-import vpna-import; vrf-export vpna-export; protocols { bgp { group vpna { type external; peer-as 100; as-override; neighbor 10.49.2.1; } } } }
Configuration de l’interface de tunnel GRE sur le routeur PE1
Configurez l’interface du tunnel GRE sur le routeur PE1 :
[edit interfaces gr-1/2/0] unit 0 { tunnel { source 192.168.197.249; destination 192.168.197.250; routing-instance { destination vpna; } } family inet { address 10.49.2.2/30; } }
Lorsque vous configurez l’instruction clear-dont-fragment-bit
sur une interface où la famille de protocoles MPLS est activée, vous devez spécifier une valeur MTU. Cette valeur MTU ne doit pas être supérieure à la valeur maximale prise en charge, qui est 9192.
Par exemple:
user@host# show interfaces gr-1/2/0 unit 0 { clear-dont-fragment-bit; family inet { mtu 9100; address 10.10.1.1/32; } family mpls { mtu 9100; } }
Lorsque vous configurez l’instruction clear-dont-fragment-bit
sur une interface où la famille de protocoles MPLS est activée, vous devez spécifier une valeur MTU. Cette valeur MTU ne doit pas être supérieure à la valeur maximale prise en charge, qui est 9192.
Par exemple:
user@host# show interfaces gr-1/2/0 unit 0 { clear-dont-fragment-bit; family inet { mtu 9100; address 10.10.1.1/32; } family mpls { mtu 9100; } }
Configuration de l’interface d’encapsulation sur le routeur PE1
Configurez l’interface d’encapsulation sur le routeur PE1 :
[edit interfaces t3-0/1/3] unit 0 { family inet { address 192.168.197.249/30; } }
Configuration de l’interface de tunnel GRE sur le routeur CE1
Configurez l’interface du tunnel GRE sur le routeur CE1 :
[edit interfaces gr-1/2/0] unit 0 { tunnel { source 192.168.197.250; destination 192.168.197.249; } family inet { address 10.49.2.1/30; } }