Exemple : Configuration du transfert basé sur les filtres sur l’adresse source
Cet exemple montre comment configurer le transfert basé sur les filtres (FBF), parfois aussi appelé routage basé sur des stratégies (PBR). Le filtre classe les paquets pour déterminer leur chemin de transfert au sein du périphérique de routage entrant.
Le transfert basé sur les filtres est pris en charge pour IP version 4 (IPv4) et IP version 6 (IPv6).
QFX5110, QFX5120, QFX5130, QFX5200, QFX5210, QFX5220, QFX5230, QFX5240 et QFX5700 ne soutiennent instance-type forwardingpas ; seuls instance-type virtual-router sont pris en charge.
Conditions préalables
Aucune configuration spéciale au-delà de l’initialisation de l’appareil n’est requise pour cet exemple.
Présentation
Dans cet exemple, nous utilisons FBF pour la sélection des fournisseurs de services lorsque les clients disposent d’une connectivité Internet fournie par différents FAI mais partagent une couche d’accès commune. Lorsqu’un média partagé (tel qu’un modem câble) est utilisé, un mécanisme sur la couche d’accès commune examine les adresses de couche 2 ou 3 et fait la distinction entre les clients. Vous pouvez utiliser le transfert basé sur les filtres lorsque la couche d’accès commune est implémentée à l’aide d’une combinaison de commutateurs de couche 2 et d’un seul routeur.
Avec FBF, tous les paquets reçus sur une interface sont pris en compte. Chaque paquet passe par un filtre qui a des conditions de correspondance. Si les conditions de correspondance sont remplies pour un filtre et que vous avez créé une instance de routage, FBF est appliqué au paquet. Le paquet est transféré en fonction du saut suivant spécifié dans l’instance de routage. Pour les routes statiques, le saut suivant peut être un LSP spécifique.
La correspondance de filtre d’utilisation de classe source et les vérifications de transfert de chemin inverse unicast ne sont pas prises en charge sur une interface configurée pour FBF.
Pour configurer FBF, effectuez les tâches suivantes :
Créez un filtre de correspondance sur le périphérique d’entrée. Pour spécifier un filtre de correspondance, incluez l’instruction
filter filter-nameau niveau de la[edit firewall]hiérarchie. Un paquet qui passe par le filtre est comparé à un ensemble de règles pour le classer et déterminer son appartenance à un ensemble. Une fois classé, le paquet est transféré à une table de routage spécifiée dans l’action accept dans le langage de description du filtre. La table de routage transfère ensuite le paquet vers le tronçon suivant correspondant à l’entrée d’adresse de destination dans la table.Créez des instances de routage qui spécifient la ou les tables de routage vers lesquelles un paquet est transféré et la destination vers laquelle le paquet est transféré au niveau de la
[edit routing-instances]hiérarchie. En voici quelques exemples :[edit] routing-instances { routing-table-name1 { instance-type forwarding; routing-options { static { route 0.0.0.0/0 next-hop 172.16.0.14; } } } routing-table-name2 { instance-type forwarding; routing-options { static { route 0.0.0.0/0 next-hop 172.16.0.18; } } } }Créez un groupe RIB pour partager des routes d’interface avec les instances de routage de transfert utilisées dans le transfert basé sur des filtres (FBF). Cette partie de la configuration résout les routes installées dans les instances de routage vers les sauts suivants directement connectés sur cette interface. Créez le groupe de tables de routage au niveau de la
[edit routing-options]hiérarchie.[edit] routing-options { interface-routes { rib-group; inet { int-routes; } } } } routing-options { rib-groups { int-routes { import-rib { inet.0; webtraffic.inet.0; } } } }
Cet exemple montre un filtre de paquets qui dirige le trafic client vers un routeur de saut suivant dans les domaines, SP1 ou SP2, en fonction de l’adresse source du paquet.
Si une adresse source est attribuée au paquet à un client SP1, le transfert basé sur la destination se produit à l’aide de la table de routage sp1-route-table.inet.0. Si une adresse source est attribuée au paquet à un client SP2, le transfert basé sur la destination s’effectue à l’aide de la table de routage sp2-route-table.inet.0. Si un paquet ne correspond à aucune de ces conditions, le filtre accepte le paquet et le transfert basé sur la destination s’effectue à l’aide de la table de routage standard inet.0.
Topologie
Figure 1 Affiche la topologie utilisée dans cet exemple.
Sur le périphérique P1, un filtre d’entrée classe les paquets reçus du périphérique PE3 et du périphérique PE4. Les paquets sont acheminés en fonction des adresses source. Les paquets dont l’adresse source se trouve dans les réseaux 10.1.1.0/24 et 10.1.2.0/24 sont acheminés vers l’équipement PE1. Les paquets dont l’adresse source se trouve dans les réseaux 10.2.1.0/24 et 10.2.2.0/24 sont acheminés vers l’équipement PE2.

Pour établir la connectivité, OSPF est configuré sur toutes les interfaces. À des fins de démonstration, les adresses d’interface de bouclage sont configurées sur les périphériques de routage pour représenter les réseaux dans les clouds.
La Configuration rapide de l’interface de ligne de commande section affiche la configuration complète de tous les périphériques de la topologie. La Configuration du transfert basé sur les filtres sur l’appareil P1 section montre la configuration étape par étape du périphérique de routage entrant, le périphérique P1.
Configuration
- Configuration rapide de l’interface de ligne de commande
- Configuration du filtre de pare-feu sur P1
- Configuration du transfert basé sur les filtres sur l’appareil P1
- Résultats
Configuration rapide de l’interface de ligne de commande
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à votre configuration réseau, puis copiez et collez les commandes dans l’interface de ligne de commande au niveau de la [edit] hiérarchie.
Appareil P1
set firewall filter classify-customers term sp1-customers from source-address 10.1.1.0/24 set firewall filter classify-customers term sp1-customers from source-address 10.1.2.0/24 set firewall filter classify-customers term sp1-customers then log set firewall filter classify-customers term sp1-customers then routing-instance sp1-route-table set firewall filter classify-customers term sp2-customers from source-address 10.2.1.0/24 set firewall filter classify-customers term sp2-customers from source-address 10.2.2.0/24 set firewall filter classify-customers term sp2-customers then log set firewall filter classify-customers term sp2-customers then routing-instance sp2-route-table set firewall filter classify-customers term default then accept set interfaces fe-1/2/0 unit 0 family inet filter input classify-customers set interfaces fe-1/2/0 unit 0 family inet address 172.16.0.10/30 set interfaces fe-1/2/1 unit 0 family inet address 172.16.0.13/30 set interfaces fe-1/2/2 unit 0 family inet address 172.16.0.17/30 set protocols ospf rib-group fbf-group set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable set routing-instances sp1-route-table instance-type forwarding set routing-instances sp1-route-table routing-options static route 0.0.0.0/0 next-hop 172.16.0.14 set routing-instances sp2-route-table instance-type forwarding set routing-instances sp2-route-table routing-options static route 0.0.0.0/0 next-hop 172.16.0.18 set routing-options interface-routes rib-group fbf-group set routing-options rib-groups fbf-group import-rib inet.0 set routing-options rib-groups fbf-group import-rib sp1-route-table.inet.0 set routing-options rib-groups fbf-group import-rib sp2-route-table.inet.0
Appareil P2
set interfaces fe-1/2/0 unit 0 family inet address 172.16.0.2/30 set interfaces fe-1/2/1 unit 0 family inet address 172.16.0.6/30 set interfaces fe-1/2/2 unit 0 family inet address 172.16.0.9/30 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
Appareil PE1
set interfaces fe-1/2/0 unit 0 family inet address 172.16.0.14/30 set interfaces lo0 unit 0 family inet address 172.16.1.1/32 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
Appareil PE2
set interfaces fe-1/2/0 unit 0 family inet address 172.16.0.18/30 set interfaces lo0 unit 0 family inet address 172.16.2.2/32 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
Appareil PE3
set interfaces fe-1/2/0 unit 0 family inet address 172.16.0.1/30 set interfaces lo0 unit 0 family inet address 10.1.1.1/32 set interfaces lo0 unit 0 family inet address 10.1.2.1/32 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
Appareil PE4
set interfaces fe-1/2/0 unit 0 family inet address 172.16.0.5/30 set interfaces lo0 unit 0 family inet address 10.2.1.1/32 set interfaces lo0 unit 0 family inet address 10.2.2.1/32 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
Configuration du filtre de pare-feu sur P1
Procédure étape par étape
L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour plus d’informations sur la navigation dans l’interface de ligne de commande, reportez-vous à la section Utilisation de l’éditeur CLI en mode configuration du Guide de l’utilisateur de l’interface de ligne de commande Junos OS.
Pour configurer le filtre de pare-feu sur le routeur ou le commutateur principal :
Configurez les adresses source pour les clients SP1.
[edit firewall filter classify-customers term sp1-customers] user@host# set from source-address 10.1.1.0/24 user@host# set from source-address 10.1.2.0/24
Configurez les actions qui sont effectuées lorsque des paquets sont reçus avec les adresses source spécifiées ; Ils sont consignés et transmis à l’instance de routage sp1-route-table pour le routage via la table de routage sp1-route-table.inet.0.
[edit firewall filter classify-customers term sp1-customers] user@host# set then log user@host# set then routing-instance sp1-route-table
Configurez les adresses source pour les clients SP2.
[edit firewall filter classify-customers term sp2-customers] user@host# set from source-address 10.2.1.0/24 user@host# set from source-address 10.2.2.0/24
Configurez les actions qui sont effectuées lorsque des paquets sont reçus avec les adresses source spécifiées ; Ils sont consignés et transmis à l’instance de routage sp2-route-table pour le routage via la table de routage sp2-route-table.inet.0.
[edit firewall filter classify-customers term sp2-customers] user@host# set then log user@host# set then routing-instance sp2-route-table
Configurez l’action à effectuer lorsque des paquets sont reçus d’une autre adresse source ; ils sont acceptés et acheminés à l’aide de la table de routage unicast IPv4 par défaut, inet.0.
[edit firewall filter classify-customers term default] user@host# set then accept
Configuration du transfert basé sur les filtres sur l’appareil P1
Procédure étape par étape
L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour plus d’informations sur la navigation dans l’interface de ligne de commande, reportez-vous à la section Utilisation de l’éditeur CLI en mode configuration du Guide de l’utilisateur de l’interface de ligne de commande Junos OS.
Pour configurer les instances de routage :
Configurez les interfaces.
[edit interfaces fe-1/2/0] user@host# set unit 0 family inet address 172.16.0.10/30 [edit interfaces fe-1/2/1] user@host# set unit 0 family inet address 172.16.0.13/30 [edit interfaces fe-1/2/2] user@host# set unit 0 family inet address 172.16.0.17/30
Affectez le filtre de pare-feu à l’interface
classify-customersde routeur fe-1/2/0.0 en tant que filtre de paquets d’entrée.[edit interfaces fe-1/2/0] user@host# set unit 0 family inet filter input classify-customers
Configurez la connectivité à l’aide d’un protocole de routage ou d’un routage statique.
Il est recommandé de désactiver le routage sur l’interface de gestion.
[edit protocols ospf area 0.0.0.0] user@host# set interface all user@host# set interface fxp0.0 disable
Créez les instances de routage référencées dans le filtre de
classify-customerspare-feu. Le type d’instance de transfert prend en charge le transfert basé sur des filtres, dans lequel les interfaces ne sont pas associées à des instances.[edit routing-instances] user@host# set sp1-route-table instance-type forwarding user@host# set sp2-route-table instance-type forwarding
Pour chaque instance de routage, définissez un itinéraire par défaut pour transférer le trafic vers le tronçon suivant spécifié (PE1 et PE2 dans cet exemple).
[edit routing-instances ] user@host# set sp1-route-table routing-options static route 0.0.0.0/0 next-hop 172.16.0.14 user@host# set sp2-route-table routing-options static route 0.0.0.0/0 next-hop 172.16.0.18
Associez les tables de routage pour former un groupe de tables de routage. La première table de routage, inet.0, est la table de routage principale et les autres sont des tables de routage secondaires. La table de routage principale détermine la famille d’adresses du groupe de tables de routage, dans ce cas IPv4.
[edit routing-options] user@host# set rib-groups fbf-group import-rib inet.0 user@host# set rib-groups fbf-group import-rib sp1-route-table.inet.0 user@host# set rib-groups fbf-group import-rib sp2-route-table.inet.0
Spécifiez le groupe de tables de routage fbf-group dans la configuration OSPF pour installer des routes OSPF dans les trois tables de routage.
[edit protocols ospf] user@host# set rib-group fbf-group
Validez la configuration lorsque vous avez terminé.
[edit] user@host# commit
Résultats
Confirmez votre configuration en exécutant les show interfacescommandes , show firewall, show protocols, show routing-instanceset show routing-options .
user@host# show interfaces
fe-1/2/0 {
unit 0 {
family inet {
filter {
input classify-customers;
}
address 172.16.0.10/30;
}
}
}
fe-1/2/1 {
unit 0 {
family inet {
address 172.16.0.13/30;
}
}
}
fe-1/2/2 {
unit 0 {
family inet {
address 172.16.0.17/30;
}
}
}
user@host# show firewall
filter classify-customers {
term sp1-customers {
from {
source-address {
10.1.1.0/24;
10.1.2.0/24;
}
}
then {
log;
routing-instance sp1-route-table;
}
}
term sp2-customers {
from {
source-address {
10.2.1.0/24;
10.2.2.0/24;
}
}
then {
log;
routing-instance sp2-route-table;
}
}
term default {
then accept;
}
}
user@host# show protocols
ospf {
rib-group fbf-group;
area 0.0.0.0 {
interface all;
interface fxp0.0 {
disable;
}
}
}
user@host# show routing-instances
sp1-route-table {
instance-type forwarding;
routing-options {
static {
route 0.0.0.0/0 next-hop 172.16.0.14;
}
}
}
sp2-route-table {
instance-type forwarding;
routing-options {
static {
route 0.0.0.0/0 next-hop 172.16.0.18;
}
}
}
user@host# show routing-options
rib-groups {
fbf-group {
import-rib [ inet.0 sp1-route-table.inet.0 sp2-route-table.inet.0 ];
}
}
Vérification
Vérifiez que la configuration fonctionne correctement.
Envoi d’un ping avec des adresses source spécifiées
But
Envoyez des paquets ICMP sur le réseau pour tester le filtre du pare-feu.
Action
Exécutez la
pingcommande en envoyant un ping à l’interface lo0.0 sur le périphérique PE1.L’adresse configurée sur cette interface est 172.16.1.1.
Spécifiez l’adresse source 10.1.2.1, qui est l’adresse configurée sur l’interface lo0.0 sur le périphérique PE3.
user@PE3> ping 172.16.1.1 source 10.1.2.1 PING 172.16.1.1 (172.16.1.1): 56 data bytes 64 bytes from 172.16.1.1: icmp_seq=0 ttl=62 time=1.444 ms 64 bytes from 172.16.1.1: icmp_seq=1 ttl=62 time=2.094 ms ^C --- 172.16.1.1 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 1.444/1.769/2.094/0.325 ms
Exécutez la
pingcommande en envoyant un ping à l’interface lo0.0 sur le périphérique PE2.L’adresse configurée sur cette interface est 172.16.2.2.
Spécifiez l’adresse source 10.2.1.1, qui est l’adresse configurée sur l’interface lo0.0 sur le périphérique PE4.
user@PE4> ping 172.16.2.2 source 10.2.1.1 PING 172.16.2.2 (172.16.2.2): 56 data bytes 64 bytes from 172.16.2.2: icmp_seq=0 ttl=62 time=1.473 ms 64 bytes from 172.16.2.2: icmp_seq=1 ttl=62 time=1.407 ms ^C --- 172.16.2.2 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 1.407/1.440/1.473/0.033 ms
Sens
L’envoi de ces pings active les actions de filtrage du pare-feu.
Vérification du filtre de pare-feu
But
Assurez-vous que les actions de filtre du pare-feu sont prises en compte.
Action
Exécutez la commande sur l’appareil
show firewall logP1.user@P1> show firewall log Log : Time Filter Action Interface Protocol Src Addr Dest Addr 13:52:20 pfe A fe-1/2/0.0 ICMP 10.2.1.1 172.16.2.2 13:52:19 pfe A fe-1/2/0.0 ICMP 10.2.1.1 172.16.2.2 13:51:53 pfe A fe-1/2/0.0 ICMP 10.1.2.1 172.16.1.1 13:51:52 pfe A fe-1/2/0.0 ICMP 10.1.2.1 172.16.1.1