Comprendre le RPF unicast (commutateurs)
Pour se protéger contre l’usurpation d’adresse IP et certains types d’attaques par déni de service (DoS) et par déni de service distribué (DDoS), le RPF (Reverse-Path Forwarding) unicast vérifie que les paquets arrivent à partir d’un chemin légitime. Pour ce faire, il vérifie l’adresse source de chaque paquet qui arrive sur une interface entrante non fiable et la compare à l’entrée de la table de transfert pour son adresse source. Si le paquet provient d’un chemin valide, c’est-à-dire un chemin que l’expéditeur utiliserait pour atteindre la destination, l’équipement transfère le paquet à l’adresse de destination. S’il ne provient pas d’un chemin valide, l’équipement rejette le paquet. À moins qu’elle ne soit protégée, l’usurpation d’adresse IP peut être un moyen efficace pour les intrus de transmettre des paquets IP à une destination en tant que trafic authentique, alors qu’en fait les paquets ne sont pas réellement destinés à la destination.
Le RPF unicast est pris en charge pour les familles de protocoles IPv4 et IPv6, ainsi que pour la famille d’adresses de réseau privé virtuel (VPN). Le RPF unicast n’est pas pris en charge sur les interfaces configurées en tant que sources de tunnel. Cela affecte uniquement les paquets de transit sortant du tunnel.
Il existe deux modes de RPF unicast, le mode strict et le mode lâche. La valeur par défaut est le mode strict, ce qui signifie que le commutateur transfère un paquet uniquement si l'interface de réception est le meilleur chemin de retour vers l'adresse source unicast du paquet. Le mode strict est particulièrement utile sur les interfaces non approuvées (où des utilisateurs ou des processus non approuvés peuvent placer des paquets sur le segment réseau) et pour les interfaces à routage symétrique (voir Quand activer le RPF unicast). Pour plus d’informations sur le RPF unicast strict, reportez-vous à la RFC 3704, Filtrage d’entrée pour les réseaux multirésidents au http://www.ietf.org/rfc/rfc3704.txt.
Pour activer le RPF unicast en mode strict sur une interface de périphérie client sélectionnée :
[Modifier les interfaces]user@switch# set interface-name unit 0 family inet rpf-check
L'autre mode est le mode lâche, ce qui signifie que le système vérifie si le paquet a une adresse source avec un préfixe correspondant dans la table de routage, mais il ne vérifie pas si l'interface de réception est le meilleur chemin de retour à l'adresse source unicast du paquet.
Pour activer le mode lâche RPF unicast, entrez :
[Modifier les interfaces]user@switch# set interface-name unit 0 family inet rpf-check mode loose
Présentation du RPF unicast pour les commutateurs
Le RPF unicast fonctionne comme un filtre d’entrée qui réduit le transfert de paquets IP susceptibles d’usurper une adresse. Par défaut, le RPF unicast est désactivé sur les interfaces du commutateur. Le commutateur ne prend en charge que la méthode des chemins actifs qui permet de déterminer le meilleur chemin de retour vers une adresse source unicast. La méthode active paths recherche la meilleure entrée de chemin inverse dans la table de transfert. Il ne prend pas en compte les itinéraires alternatifs spécifiés à l’aide de méthodes spécifiques au protocole de routage pour déterminer le meilleur chemin de retour.
Si la table de transfert indique l’interface de réception comme interface à utiliser pour transférer le paquet vers sa source unicast, il s’agit de la meilleure interface de chemin de retour.
Implémentation RPF unicast
- Filtrage de paquets RPF unicast
- Requêtes BOOTP (Bootstrap Protocol) et DHCP
- Gestion des routes par défaut
Filtrage de paquets RPF unicast
Lorsque vous activez le RPF unicast sur le commutateur, celui-ci gère le trafic de la manière suivante :
Si le commutateur reçoit un paquet sur l’interface qui est le meilleur chemin de retour à l’adresse source unicast de ce paquet, il transfère le paquet.
Si l'interface de réception n'est pas le meilleur chemin de retour du commutateur vers l'adresse source unicast du paquet, le commutateur ignore le paquet.
Si le commutateur reçoit un paquet dont l’adresse IP source n’a pas d’entrée de routage dans la table de transfert, il ignore le paquet.
Requêtes BOOTP (Bootstrap Protocol) et DHCP
Les paquets de requête BOOTP (Bootstrap Protocol) et DHCP sont envoyés avec une adresse MAC de diffusion, de sorte que le commutateur n’effectue pas de vérifications RPF unicast sur eux. Le commutateur transfère tous les paquets BOOTP et les paquets de requêtes DHCP sans effectuer de vérifications RPF unicast.
Gestion des routes par défaut
Si le meilleur chemin de retour à la source est la route par défaut (0.0.0.0
) et que la route par défaut pointe vers reject
, le commutateur ignore les paquets. Si la route par défaut pointe vers une interface réseau valide, le commutateur effectue une vérification RPF unicast normale sur les paquets.
Sur l’EX4300, la route par défaut n’est pas utilisée lorsque le commutateur est configuré en mode strict RPF unicast.
Quand activer le RPF unicast ?
Activez le RPF unicast lorsque vous souhaitez vous assurer que le trafic arrivant sur une interface réseau provient d’une source qui réside sur un réseau que cette interface peut atteindre. Vous pouvez activer le RPF unicast sur des interfaces non approuvées pour filtrer les paquets usurpés. Par exemple, une application courante du RPF unicast consiste à défendre un réseau d’entreprise contre les attaques DoS/DDoS provenant d’Internet.
Activez le RPF unicast uniquement sur les interfaces à routage symétrique et aussi près que possible de la source de trafic, arrête le trafic usurpé avant qu’il ne puisse proliférer ou atteindre les interfaces sur lesquelles le RPF unicast n’est pas activé. Étant donné que le RPF unicast est activé globalement sur les commutateurs EX3200, EX4200 et EX4300, assurez-vous que toutes les interfaces sont acheminées de manière symétrique avant d’activer le RPF unicast sur ces commutateurs, comme illustré à la Figure 1. L’activation du RPF unicast sur des interfaces à routage asymétrique entraîne le filtrage des paquets provenant de sources légitimes. Une interface à routage symétrique utilise le même chemin dans les deux sens entre la source et la destination.
Le RPF unicast est activé globalement sur les commutateurs EX3200, EX4200 et EX4300. Assurez-vous donc que toutes les interfaces sont acheminées de manière symétrique avant d’activer le RPF unicast sur ces commutateurs. L’activation du RPF unicast sur des interfaces à routage asymétrique entraîne le filtrage des paquets provenant de sources légitimes.

Les interfaces de commutation suivantes sont plus susceptibles d’être routées symétriquement et sont donc candidates pour l’activation du RPF unicast :
De la périphérie fournisseur de services au client
De la périphérie client à un fournisseur de services
Un seul point d’accès hors du réseau (généralement sur le périmètre du réseau)
Un réseau de terminaux qui n’a qu’un seul lien
Sur les commutateurs EX3200, EX4200 et EX4300, nous vous recommandons d’activer explicitement le RPF unicast sur toutes les interfaces ou sur une seule interface. Pour éviter toute confusion possible, ne l’activez pas uniquement sur certaines interfaces :
L’activation explicite du RPF unicast sur une seule interface facilite la tâche si vous choisissez de le désactiver à l’avenir, car vous devez désactiver explicitement le RPF unicast sur chaque interface sur laquelle vous l’avez explicitement activé. Si vous activez explicitement le RPF unicast sur deux interfaces et que vous le désactivez sur une seule interface, le RPF unicast est toujours implicitement activé globalement sur le commutateur. L’inconvénient de cette approche est que le commutateur affiche l’indicateur qui indique que le RPF unicast est activé uniquement sur les interfaces sur lesquelles le RPF unicast est explicitement activé, donc même si le RPF unicast est activé sur toutes les interfaces, cet état n’est pas affiché.
L’activation explicite du RPF unicast sur toutes les interfaces permet de savoir plus facilement si le RPF unicast est activé sur le commutateur, car chaque interface affiche l’état correct. (Seules les interfaces sur lesquelles vous activez explicitement le RPF unicast affichent l’indicateur qui indique que le RPF unicast est activé.) L’inconvénient de cette approche est que si vous voulez désactiver le RPF unicast, vous devez le désactiver explicitement sur chaque interface. Si le RPF unicast est activé sur n’importe quelle interface, il est implicitement activé sur toutes les interfaces.
Quand ne pas activer le RPF unicast
En règle générale, vous n’activerez pas le RPF unicast si :
Les interfaces de commutation sont multirésidentes.
Les interfaces de commutation sont des interfaces de confiance.
BGP porte des préfixes et certains de ces préfixes ne sont pas annoncés ou ne sont pas acceptés par le FAI en vertu de sa stratégie. (Dans ce cas, l’effet est le même que le filtrage d’une interface à l’aide d’une liste d’accès incomplète.)
Les interfaces des commutateurs sont orientées vers le cur du réseau. Les interfaces orientées vers le cur sont généralement acheminées de manière asymétrique.
Une interface à routage asymétrique utilise des chemins différents pour envoyer et recevoir des paquets entre la source et la destination, comme illustré sur la Figure 2. Cela signifie que si une interface reçoit un paquet, cette interface ne correspond pas à l’entrée de la table de transfert comme le meilleur chemin de retour à la source. Si l’interface de réception n’est pas le meilleur chemin de retour à la source d’un paquet, le RPF unicast entraîne le rejet du paquet par le commutateur, même s’il provient d’une source valide.

N’activez pas le RPF unicast sur les commutateurs EX3200, EX4200 et EX4300 si des interfaces de commutateur sont acheminées de manière asymétrique, car le RPF unicast est activé globalement sur toutes les interfaces de ces commutateurs. Toutes les interfaces des commutateurs doivent être routées symétriquement pour que vous puissiez activer le RPF unicast sans que le commutateur ne rejette le trafic que vous souhaitez transférer.
Limitations de l’implémentation RPF unicast sur les commutateurs EX3200, EX4200 et EX4300
Sur les commutateurs EX3200, EX4200 et EX4300, le commutateur implémente le RPF unicast à l’échelle mondiale. Vous ne pouvez pas activer le RPF unicast par interface. Le RPF unicast est globalement désactivé par défaut.
Lorsque vous activez le RPF unicast sur n’importe quelle interface, il est automatiquement activé sur toutes les interfaces de commutateur, y compris les groupes d’agrégation de liens (LAG), les interfaces de routage et de pontage intégrées (IRB) et les interfaces VLAN routés (RVI).
Lorsque vous désactivez le RPF unicast sur l’interface (ou les interfaces) sur laquelle vous avez activé le RPF unicast, il est automatiquement désactivé sur toutes les interfaces du commutateur.
Vous devez désactiver explicitement le RPF unicast sur chaque interface sur laquelle il a été explicitement activé, sinon le RPF unicast reste activé sur toutes les interfaces du commutateur.
Les commutateurs QFX, les commutateurs OCX et les commutateurs EX3200 et EX4200 n’effectuent pas de filtrage RPF unicast sur le trafic ECMP (Equal-cost Multipath). La vérification RPF unicast n’examine qu’un seul chemin de retour optimal vers la source du paquet, mais le trafic ECMP utilise un bloc d’adresses composé de plusieurs chemins. L’utilisation de RPF unicast pour filtrer le trafic ECMP sur ces commutateurs peut entraîner la suppression par le commutateur des paquets que vous souhaitez transférer, car le filtre RPF unicast n’examine pas l’intégralité du bloc d’adresses ECMP.