Exemple : Configuration d’un filtre de pare-feu DHCP pour protéger le moteur de routage
Cet exemple montre comment configurer un filtre de pare-feu pour s’assurer que les paquets DHCP appropriés peuvent atteindre le moteur de routage sur les routeurs MX Series.
Conditions préalables
Cet exemple de configuration s’applique uniquement aux routeurs sur lesquels les services du serveur local DHCP et de l’agent de relais DHCP sont fournis par le processus jdhcpd plutôt que par l’ancien processus dhcpd ou fud (transfert UDP). Les routeurs MX Series, les routeurs M120 et les routeurs M320 utilisent jdhcpd. Pour le relais DHCP, cela signifie que la configuration n’est requise qu’au niveau de la [edit forwarding-options dhcp-relay]
hiérarchie et non au niveau de la [edit forwarding-options helpers bootp]
hiérarchie.
Aucune configuration spéciale au-delà de l’initialisation de l’appareil n’est requise pour que vous puissiez configurer cette fonctionnalité.
Présentation
Les filtres de pare-feu qui effectuent certaines actions sur les paquets DHCP au niveau du moteur de routage, tels qu’un filtre pour protéger le moteur de routage en n’autorisant que les paquets DHCP appropriés, nécessitent que les ports 67 (bootps) et 68 (bootpc) soient configurés comme ports source et de destination.
Les paquets DHCP reçus sur les cartes de ligne sont encapsulés par jdhcpd avec un nouvel en-tête UDP où leurs adresses source et de destination sont définies sur le port 68 avant d’être transmises au moteur de routage. Pour le relais DHCP et le proxy DHCP, les ports UDP source et de destination des paquets envoyés au serveur DHCP à partir du routeur ont tous deux la valeur 67. Le serveur DHCP répond en utilisant les mêmes ports. Toutefois, lorsque la carte de ligne reçoit ces paquets de réponse DHCP, elle change les deux numéros de port de 67 à 68 avant de transmettre les paquets au moteur de routage. Par conséquent, le filtre doit accepter le port 67 pour les paquets relayés du client au serveur, et le port 68 pour les paquets relayés du serveur au client.
Dans cet exemple, vous configurez deux termes de filtrage, dhcp-client-accept
et dhcp-server-accept
. Les conditions de correspondance pour dhcp-client-accept
spécifier une adresse source et une adresse de destination pour les paquets de diffusion, le protocole UDP utilisé pour les paquets DHCP et le port source du bootpc (68). Les paquets qui répondent à ces conditions sont comptés et acceptés. Ce terme n’a pas besoin de spécifier une condition de correspondance pour le port de destination de démarrage ps (67). Comme configuré ci-dessous, ce terme peut gérer à la fois le paquet réel (port 68) passant au moteur de transfert de paquets et le paquet encapsulé (port 67 converti en 68 par jdhcpd) qui atteint le démon DHCP.
Les conditions de correspondance spécifient dhcp-server-accept
le protocole UDP utilisé pour les paquets DHCP, ainsi que les ports 67 et 68 pour les ports source et de destination. Les paquets qui répondent à ces conditions sont comptés et acceptés.
Cet exemple ne montre pas tous les choix de configuration possibles, ni comment le filtre est appliqué dans votre configuration. Cet exemple s’applique à la fois à l’application statique du filtre et à l’application dynamique avec un profil dynamique.
Configuration
Procédure
Configuration rapide de l’interface de ligne de commande
Pour configurer rapidement l’exemple de filtre DHCP du moteur de routage, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, puis copiez et collez les commandes dans l’interface de ligne de commande.
[edit] edit firewall family inet filter RE-protect edit term dhcp-client-accept set from source-address 0.0.0.0/32 set from destination-address 255.255.255.255/32 set from protocol udp set from source-port 68 set then count dhcp-client-accept set then accept up edit term dhcp-server-accept set from protocol udp set from source-port 67 set from source-port 68 set from destination-port 67 set from destination-port 68 set then count dhcp-server-accept set then accept top
Procédure étape par étape
L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour obtenir des instructions sur la façon de procéder, consultez Utilisation de l’éditeur CLI en mode Configuration.
Pour configurer un filtre de pare-feu DHCP afin de protéger le moteur de routage :
Créez ou spécifiez un filtre de pare-feu.
[edit firewall] user@host# edit family inet filter RE-protect
Créez un terme de filtre pour le client.
[edit firewall family inet filter RE-protect] user@host# edit term dhcp-client-accept
Spécifiez les conditions de correspondance pour les paquets DHCP.
[edit firewall family inet filter RE-protect term dhcp-client-accept] user@host# set from source-address 0.0.0.0/32 user@host# set from destination-address 255.255.255.255/32 user@host# set from protocol udp user@host# set from source-port 68 user@host# set from destination-port 67
Spécifiez l’action à effectuer pour les paquets correspondants.
[edit firewall family inet filter RE-protect term dhcp-client-accept] user@host# set then count dhcp-client-accept user@host# set then accept
Créez un terme de filtre pour le serveur.
[edit firewall family inet filter RE-protect] user@host# edit term dhcp-server-accept
Spécifiez les conditions de correspondance pour les paquets DHCP.
[edit firewall family inet filter RE-protect term dhcp-server-accept] user@host# set from protocol udp user@host# set from source-port [67 68] user@host# set from destination-port [67 68]
Spécifiez l’action à effectuer pour les paquets correspondants.
[edit firewall family inet filter RE-protect term dhcp-server-accept] user@host# set then count dhcp-client-accept user@host# set then accept
Résultats
À partir du mode configuration, confirmez votre configuration en entrant la show firewall
commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration de cet exemple pour la corriger.
[edit] user@host# show firewall family inet { filter RE-protect { term dhcp-client-accept { from { source-address { 0.0.0.0/32; } destination-address { 255.255.255.255/32; } protocol udp; source-port 68; destination-port 67; } then { count dhcp-client-accept; accept; } } term dhcp-server-accept { from { protocol udp; source-port [ 67 68 ]; destination-port [ 67 68 ]; } then { count dhcp-server-accept; accept; } } } }
Si vous avez terminé de configurer l’appareil, passez commit
en mode de configuration.
Vérification
Pour vérifier que le filtre de protection DHCP du moteur de routage transmet correctement les paquets DHCP, effectuez les opérations suivantes :
Vérification du fonctionnement du filtre DHCP
But
Vérifiez que les deux compteurs s’incrémentent à mesure que le trafic DHCP passe au moteur de routage.
Action
À partir du mode opérationnel, entrez la show firewall family inet filter RE-protect
commande.
user@host> show firewall family inet filter RE-protect Filter: RE-protect Counters: Name Bytes Packets dhcp-client-accept 328 1 dhcp-server-accept 574 1 user@host> show firewall family inet filter RE-protect Filter: RE-protect Counters: Name Bytes Packets dhcp-client-accept 660 2 dhcp-server-accept 1152 2
Sens
La sortie répertorie les deux compteurs configurés, dhcp-client-accept et dhcp-server-accept. En exécutant la commande plusieurs fois, vous pouvez voir que les champs d’octets et de paquets indiquent tous deux que le trafic est accepté et compté.