Auf dieser Seite
Beispiel: Konfigurieren eines DHCP-Firewallfilters zum Schutz der Routing-Engine
In diesem Beispiel wird gezeigt, wie ein Firewallfilter konfiguriert wird, um sicherzustellen, dass ordnungsgemäße DHCP-Pakete die Routing-Engine auf Routern der MX-Serie, MX-Serie, M120 und M320, auf denen der jdhcpd Prozess ausgeführt wird, erreichen können.
Anforderungen
Dieses Konfigurationsbeispiel gilt nur für Router, bei denen lokale DHCP-Server- und DHCP-Relay-Agent-Dienste vom Prozess und nicht vom jdhcpd Legacy-Prozess dhcpd oder FUD-Prozess (UDP-Weiterleitung) bereitgestellt werden. Router der MX-Serie, M120-Router und M320-Router verwenden jdhcpd. Das DHCP-Relay muss auf der [edit forwarding-options dhcp-relay] Hierarchieebene und nicht auf der [edit forwarding-options helpers bootp] Hierarchieebene konfiguriert werden.
Über die Geräteinitialisierung hinaus ist keine spezielle Konfiguration erforderlich, bevor Sie diese Funktion konfigurieren können.
Überblick
Firewallfilter, die DHCP-Pakete auf der Routing-Engine verarbeiten, müssen sowohl UDP-Port 67 (bootps) für DHCP-Serverdatenverkehr als auch UDP-Port 68 (bootpc) für DHCP-Clientdatenverkehr ordnungsgemäß berücksichtigen. Diese Ports sind für DHCP-Vorgänge von grundlegender Bedeutung und müssen in Firewall-Filterkonfigurationen korrekt behandelt werden.
Das Junos OS weist spezifische DHCP-Paketverarbeitungsverhaltensweisen auf, die Administratoren verstehen müssen. Wenn Pakete auf Linecards empfangen werden, führt der jdhcpd-Prozess eine Kapselung durch und ändert die UDP-Header, wobei sowohl der Quell- als auch der Zielport auf 68 festgelegt werden, bevor die Weiterleitung an die Routing-Engine erfolgt. Diese Portumschreibung ist ein kritischer Aspekt der DHCP-Implementierung von Juniper.
In DHCP-Relay- und -Proxyszenarien folgt der Datenverkehrsfluss bestimmten Portmustern. Vom Client stammende Pakete, die an den Server gesendet werden, verwenden zunächst den Quellport 68 und den Zielport 67. Wenn der Server antwortet, verwendet er Quell- und Zielport 67, aber die Linecard führt eine weitere Änderung durch, indem sie diese auf Port 68 umschreibt, bevor sie an die Routing-Engine übermittelt wird.
Diese Verhaltensweisen haben erhebliche Auswirkungen auf die Firewall. Um einen ordnungsgemäßen DHCP-Betrieb zu gewährleisten, müssen Firewall-Filter so konfiguriert werden, dass sie sowohl Port 67 als auch Port 68 zulassen. Diese Dual-Port-Anforderung erfüllt sowohl die ursprünglichen Client-Anforderungen (unter Verwendung von Port 68 bis 67) als auch die umgeschriebenen Serverantworten (konvertiert von Port 67 in 68). Der Filter muss diese Flexibilität beibehalten, um alle legitimen DHCP-Datenverkehrsszenarien zu bewältigen und gleichzeitig den beabsichtigten Schutz für die Routing-Engine zu bieten.
In diesem Beispiel werden weder alle möglichen Konfigurationsoptionen angezeigt, noch wird gezeigt, wie der Filter in Ihrer Konfiguration angewendet wird. Dieses Beispiel gilt sowohl für die statische Anwendung des Filters als auch für die dynamische Anwendung mit einem dynamischen Profil.
Konfiguration
Verfahren
CLI-Schnellkonfiguration
Um den DHCP-Beispielfilter der Routing-Engine schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, und kopieren Sie dann die Befehle und fügen Sie sie in die CLI ein.
[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
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen hierzu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus.
So konfigurieren Sie einen DHCP-Firewallfilter zum Schutz der Routing-Engine:
Erstellen Sie einen Firewallfilter, oder geben Sie einen an.
[edit firewall] user@host# edit family inet filter RE-protect
Erstellen Sie einen Filterbegriff für den Kunden.
[edit firewall family inet filter RE-protect] user@host# edit term dhcp-client-accept
Geben Sie die Übereinstimmungsbedingungen für DHCP-Pakete an.
[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
Geben Sie die Aktion an, die für übereinstimmende Pakete ausgeführt werden soll.
[edit firewall family inet filter RE-protect term dhcp-client-accept] user@host# set then count dhcp-client-accept user@host# set then accept
Erstellen Sie einen Filterbegriff für den Server.
[edit firewall family inet filter RE-protect] user@host# edit term dhcp-server-accept
Geben Sie die Übereinstimmungsbedingungen für DHCP-Pakete an.
[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]
Geben Sie die Aktion an, die für übereinstimmende Pakete ausgeführt werden soll.
[edit firewall family inet filter RE-protect term dhcp-server-accept] user@host# set then count dhcp-client-accept user@host# set then accept
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den show firewall Befehl eingeben. Wenn die Ausgabe nicht die gewünschte Konfiguration anzeigt, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
[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;
}
}
}
}
Wenn Sie mit der Konfiguration des Geräts fertig sind, rufen Sie den Konfigurationsmodus auf commit .
Verifizierung
Führen Sie die folgenden Aufgaben aus, um zu bestätigen, dass der DHCP-Schutzfilter der Routing-Engine DHCP-Pakete ordnungsgemäß weiterleitet:
Überprüfen des DHCP-Filtervorgangs
Zweck
Stellen Sie sicher, dass beide Leistungsindikatoren inkrementiert werden, wenn DHCP-Datenverkehr an die Routing-Engine übergeben wird.
Action!
Geben Sie im Betriebsmodus den show firewall family inet filter RE-protect Befehl ein.
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
Bedeutung
Die Ausgabe listet die beiden konfigurierten Zähler dhcp-client-accept und dhcp-server-accept auf. Wenn Sie den Befehl mehr als einmal eingeben, können Sie sehen, dass sowohl das Byte- als auch das Paketfeld anzeigen, dass Datenverkehr akzeptiert und gezählt wird.