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, les routeurs MX Series, M120 et M320 exécutant le jdhcpd processus.
Conditions préalables
Cet exemple de configuration s’applique uniquement aux routeurs pour lesquels les services de serveur local DHCP et d’agent de relais DHCP sont fournis par le processus plutôt que par le jdhcpd processus hérité dhcpd ou le processus fud (transfert UDP). Les routeurs MX Series, les routeurs M120 et les routeurs M320 utilisent jdhcpd. Le relais DHCP doit être configuré 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 traitent les paquets DHCP sur le moteur de routage doivent prendre correctement en compte le port UDP 67 (bootps) pour le trafic du serveur DHCP et le port UDP 68 (bootpc) pour le trafic du client DHCP. Ces ports sont essentiels aux opérations DHCP et doivent être correctement gérés dans les configurations de filtres de pare-feu.
Junos OS présente des comportements spécifiques de gestion des paquets DHCP que les administrateurs doivent comprendre. Lorsque les paquets sont reçus sur des cartes de ligne, le processus jdhcpd effectue l’encapsulation et modifie les en-têtes UDP, en définissant les ports source et de destination sur 68 avant de les transférer au moteur de routage. Cette réécriture de port est un aspect essentiel de l’implémentation DHCP de Juniper.
Dans les scénarios de relais et de proxy DHCP, le flux de trafic suit des modèles de port spécifiques. Les paquets provenant du client qui arrivent sur le serveur utilisent initialement le port source 68 et le port de destination 67. Lorsque le serveur répond, il utilise le port source et le port de destination 67, mais la carte de ligne effectue une autre modification, en les réécrivant sur le port 68 avant de les transmettre au moteur de routage.
Ces comportements ont d’importantes répercussions sur le pare-feu. Pour garantir le bon fonctionnement du protocole DHCP, les filtres de pare-feu doivent être configurés pour autoriser les ports 67 et 68. Cette exigence de double port prend en charge à la fois les demandes d’origine du client (utilisant les ports 68 à 67) et les réponses réécrites du serveur (converties des ports 67 à 68). Le filtre doit conserver cette flexibilité pour gérer tous les scénarios de trafic DHCP légitimes tout en assurant la protection prévue pour le moteur de routage.
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 from destination-port [67 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 67 user@host# set from source-port 68 user@host# set from destination-port 67 user@host# set from destination-port 68
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é.