Sur cette page
Exemple : Configuration d’un filtre pour exclure le trafic de contrôle DHCPv6 et ICMPv6 pour l’abonné LAC
Cet exemple montre comment configurer un filtre de pare-feu sans état standard qui exclut les paquets de contrôle DHCPv6 et ICMPv6 de la prise en compte de la détection des délais d’inactivité pour les abonnés tunnelisés au niveau du LAC.
Conditions préalables
Aucune configuration spéciale au-delà de l’initialisation de l’appareil n’est requise avant de configurer cet exemple.
Présentation
L’accès des abonnés sur un LAC peut être limité en configurant un délai d’inactivité qui spécifie la période maximale pendant laquelle un abonné peut rester inactif après l’établissement de la session d’abonné. Le LAC surveille le trafic de données en amont et en aval de l’abonné pour déterminer si l’abonné est inactif. Basé sur les statistiques de comptabilisation des sessions. L’abonné n’est pas considéré comme inactif tant que le trafic de données est détecté dans un sens ou dans l’autre. Lorsqu’aucun trafic n’est détecté pendant la durée du délai d’inactivité, l’abonné est déconnecté normalement, de la même manière qu’une déconnexion initiée par RADIUS ou une déconnexion initiée par l’interface de ligne de commande.
Toutefois, une fois qu’un tunnel est établi pour les abonnés L2TP, tous les paquets transitant par le tunnel au niveau du LAC sont traités comme des paquets de données. Par conséquent, les statistiques comptables de la session sont inexactes et l’abonné n’est pas considéré comme inactif tant que des paquets de contrôle DHCPv6 et ICMPv6 sont envoyés.
À partir de Junos OS version 17.2R1, vous pouvez définir un filtre de pare-feu pour la inet6
famille avec des termes à faire correspondre sur ces paquets de contrôle. Incluez l’utilisation de l’action exclude-accounting
de terminaison dans les termes de filtrage pour supprimer ces paquets de contrôle.
Configuration
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.
set access profile v6-exclude-idle session-options client-idle-timeout 10 set access profile v6-exclude-idle session-options client-idle-timeout-ingress-only edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER set interface-specific set term EXCLUDE-ACCT-DHCP-INET6 from next-header udp set term EXCLUDE-ACCT-DHCP-INET6 from source-port 546 set term EXCLUDE-ACCT-DHCP-INET6 from source-port 547 set term EXCLUDE-ACCT-DHCP-INET6 from destination-port 546 set term EXCLUDE-ACCT-DHCP-INET6 from destination-port 547 set term EXCLUDE-ACCT-DHCP-INET6 then count exclude-acct-dhcpv6 set term EXCLUDE-ACCT-DHCP-INET6 then exclude-accounting set term EXCLUDE-ACCT-ICMP6 from next-header icmp6 set term EXCLUDE-ACCT-ICMP6 from icmp-type router-solicit set term EXCLUDE-ACCT-ICMP6 from icmp-type neighbor-solicit set term EXCLUDE-ACCT-ICMP6 from icmp-type neighbor-advertisement set term EXCLUDE-ACCT-ICMP6 then count exclude-acct-icmpv6 set term EXCLUDE-ACCT-ICMP6 then exclude-accounting set term default then accept top edit dynamic-profiles pppoe-dynamic-profile interfaces pp0 unit "$junos-interface-unit" set family inet6 filter input EXCLUDE-ACCT-INET6-FILTER set family inet6 filter output EXCLUDE-ACCT-INET6-FILTER set actual-transit-statistics
Configurer le filtre
Procédure étape par étape
L’exemple suivant nécessite que vous naviguiez à 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 de configuration dans leGuide de l’utilisateur de l’interface de ligne de commande.
Pour configurer le filtre :
Définissez le délai d’inactivité pour les sessions d’abonné.
[edit access profile v6-exclude-idle] user@host# set session-options client-idle-timeout 10
Spécifiez que le délai d’inactivité s’applique uniquement au trafic entrant.
[edit access profile v6-exclude-idle] user@host# set session-options client-idle-timeout-ingress-only
Définissez le terme de filtre de pare-feu qui exclut les paquets de contrôle DHCPv6 des statistiques comptables.
Spécifiez une correspondance sur les paquets avec le premier champ d’en-tête suivant défini sur UDP (17).
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-DHCP-INET6 from next-header udp
Spécifiez une correspondance sur les paquets dont le port source est 546 ou 547 (DHCPv6).
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-DHCP-INET6 from source-port 546 user@host# set term EXCLUDE-ACCT-DHCP-INET6 from source-port 547
Spécifiez une correspondance sur les paquets dont le port de destination DHCP est 546 ou 547 (DHCPv6).
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-DHCP-INET6 from destination-port 546 user@host# set term EXCLUDE-ACCT-DHCP-INET6 from destination-port 547
Comptez les paquets DHCPv6 correspondants.
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-DHCP-INET6 then count exclude-acct-dhcpv6
Excluez les paquets DHCPv6 correspondants des statistiques comptables.
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-DHCP-INET6 then exclude-accounting
Définissez le terme de filtre de pare-feu qui exclut les paquets de contrôle ICMPv6 des statistiques comptables.
Spécifiez une correspondance sur les paquets avec le premier champ d’en-tête suivant défini sur ICMPv6 (58).
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-ICMP6 from next-header icmp6
Spécifiez une correspondance sur les paquets avec un type de message ICMPv6.
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-ICMP6 from icmp-type router-solicit user@host# set term EXCLUDE-ACCT-ICMP6 from icmp-type neighbor-solicit user@host# set term EXCLUDE-ACCT-ICMP6 from icmp-type neighbor-advertisement
Comptez les paquets ICMPv6 correspondants.
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-ICMP6 then count exclude-acct-icmpv6
Excluez les paquets ICMPv6 correspondants des statistiques comptables.
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-DHCP-INET6 then exclude-accounting
Définissez le terme de filtre par défaut pour accepter tous les autres paquets.
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term default then accept
Configurez le profil dynamique pour appliquer le filtre aux interfaces d’entrée et de sortie de la
inet6
famille.[edit dynamic-profiles pppoe-dynamic-profile interfaces pp0 unit "$junos-interface-unit"] user@host# set family inet6 filter input EXCLUDE-ACCT-INET6-FILTER user@host# set family inet6 filter output EXCLUDE-ACCT-INET6-FILTER
Activez la gestion des abonnés et une comptabilité précise.
[edit dynamic-profiles pppoe-dynamic-profile interfaces pp0 unit "$junos-interface-unit"] user@host# set actual-transit-statistics
Résultats
À partir du mode de configuration, confirmez votre configuration en saisissant les show access
commandes , show firewall
et show dynamic-profiles
. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration.
user@host# show access profile v6-exclude-idle { session-options { client-idle-timeout 10; client-idle-timeout-ingress-only; } }
user@host# show firewall family inet6 { filter EXCLUDE-ACCT-INET6-FILTER { interface-specific; term EXCLUDE-ACCT-DHCP-INET6 { from { next-header udp; source-port [ 546 547 ]; destination-port [ 546 547 ]; } then { count exclude-acct-dhcpv6; exclude-accounting } } term EXCLUDE-ACCT-ICMP6 { from { next-header icmp6; icmp-type [ router-solicit neighbor-solicit neighbor-advertisement ] } then { count exclude-acct-icmpv6; exclude-accounting; } } term default { then accept; } } }
user@host# show dynamic-profiles pppoe-dynamic-profile { interfaces { pp0 { unit "$junos-interface-unit" { actual-transit-statistics; family inet6 { filter { input EXCLUDE-ACCT-INET6-FILTER; output EXCLUDE-ACCT-INET6-FILTER; } } } } } }
Si vous avez terminé de configurer l’appareil, passez commit en mode de configuration.