Auf dieser Seite
Beispiel: Konfigurieren eines Filters zum Ausschließen des DHCPv6- und ICMPv6-Steuerungsdatenverkehrs für LAC-Abonnenten
In diesem Beispiel wird gezeigt, wie ein standardmäßiger zustandsloser Firewallfilter konfiguriert wird, der DHCPv6- und ICMPv6-Steuerpakete von der Berücksichtigung für die Leerlauftimeout-Erkennung für getunnelte Teilnehmer in der LAC ausschließt.
Anforderungen
Vor der Konfiguration dieses Beispiels ist keine spezielle Konfiguration erforderlich, die über die Geräteinitialisierung hinausgeht.
Überblick
Der Abonnentenzugriff auf einer LAC kann eingeschränkt werden, indem ein Leerlaufzeitlimit konfiguriert wird, das den maximalen Zeitraum angibt, den ein Abonnent nach dem Einrichten der Abonnentensitzung im Leerlauf bleiben kann. Die LAC überwacht den Upstream- und Downstream-Datenverkehr des Teilnehmers, um festzustellen, ob der Teilnehmer inaktiv ist. Basierend auf den Abrechnungsstatistiken der Sitzung. Der Teilnehmer gilt nicht als inaktiv, solange Datenverkehr in beide Richtungen erkannt wird. Wenn für die Dauer des Leerlauftimeouts kein Datenverkehr erkannt wird, wird der Abonnent ordnungsgemäß abgemeldet, ähnlich wie bei einer von RADIUS initiierten Trennung oder einer von der CLI initiierten Abmeldung.
Nachdem jedoch ein Tunnel für L2TP-Abonnenten eingerichtet wurde, werden alle Pakete, die den Tunnel am LAC durchlaufen, als Datenpakete behandelt. Folglich sind die Abrechnungsstatistiken für die Sitzung ungenau, und der Teilnehmer gilt nicht als inaktiv, solange DHCPv6- und ICMPv6-Steuerpakete gesendet werden.
Ab Junos OS Version 17.2R1 können Sie einen Firewall-Filter für die Produktfamilie mit Begriffen definieren, die inet6 auf diese Steuerungspakete abgestimmt sind. Fügen Sie die Verwendung der exclude-accounting Beendigungsaktion in die Filterbegriffe ein, um diese Steuerpakete zu verwerfen.
Konfiguration
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die für Ihre Netzwerkkonfiguration erforderlich sind, und kopieren Sie dann die Befehle und fügen Sie sie in die CLI auf Hierarchieebene [edit] ein.
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
Konfigurieren des Filters
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Weitere Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus imCLI-Benutzerhandbuch.
So konfigurieren Sie den Filter:
Legen Sie das Leerlaufzeitlimit für Abonnentensitzungen fest.
[edit access profile v6-exclude-idle] user@host# set session-options client-idle-timeout 10
Geben Sie an, dass das Leerlauftimeout nur für eingehenden Datenverkehr gilt.
[edit access profile v6-exclude-idle] user@host# set session-options client-idle-timeout-ingress-only
Definieren Sie den Firewallfilterbegriff, der die DHCPv6-Steuerpakete aus der Abrechnungsstatistik ausschließt.
Geben Sie eine Übereinstimmung für Pakete an, wobei das erste Feld für den nächsten Header auf UDP (17) festgelegt ist.
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-DHCP-INET6 from next-header udp
Geben Sie eine Übereinstimmung für Pakete mit dem Quellport 546 oder 547 (DHCPv6) an.
[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
Geben Sie eine Übereinstimmung für Pakete mit dem DHCP-Zielport 546 oder 547 (DHCPv6) an.
[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
Zählen Sie die übereinstimmenden DHCPv6-Pakete.
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-DHCP-INET6 then count exclude-acct-dhcpv6
Schließen Sie die übereinstimmenden DHCPv6-Pakete aus den Abrechnungsstatistiken aus.
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-DHCP-INET6 then exclude-accounting
Definieren Sie den Firewallfilterbegriff, der die ICMPv6-Steuerpakete aus der Abrechnungsstatistik ausschließt.
Geben Sie eine Übereinstimmung für Pakete an, wobei das erste Feld "Nächster Header" auf ICMPv6 (58) festgelegt ist.
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-ICMP6 from next-header icmp6
Geben Sie eine Übereinstimmung für Pakete mit einem ICMPv6-Nachrichtentyp an.
[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
Zählen Sie die übereinstimmenden ICMPv6-Pakete.
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-ICMP6 then count exclude-acct-icmpv6
Schließen Sie die übereinstimmenden ICMPv6-Pakete aus den Abrechnungsstatistiken aus.
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-DHCP-INET6 then exclude-accounting
Definieren Sie den Standardfilterbegriff, um alle anderen Pakete zu akzeptieren.
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term default then accept
Konfigurieren Sie das dynamische Profil so, dass der Filter auf Ein- und Ausgabeschnittstellen für die
inet6Familie angewendet wird.[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
Ermöglichen Sie eine genaue Abrechnung der Abonnentenverwaltung.
[edit dynamic-profiles pppoe-dynamic-profile interfaces pp0 unit "$junos-interface-unit"] user@host# set actual-transit-statistics
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie die show accessBefehle , show firewallund show dynamic-profiles eingeben. Wenn die Ausgabe nicht die gewünschte Konfiguration anzeigt, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.
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;
}
}
}
}
}
}
Wenn Sie mit der Konfiguration des Geräts fertig sind, rufen Sie den Konfigurationsmodus auf commit .