AUF DIESER SEITE
Beispiel: Konfigurieren eines DHCP-Firewall-Filters zum Schutz der Routing-Engine
In diesem Beispiel wird gezeigt, wie ein Firewall-Filter konfiguriert wird, um sicherzustellen, dass die richtigen DHCP-Pakete die Routing-Engine auf unterstützten Routern erreichen können, auf denen der jdhcpd Prozess ausgeführt wird.
Anforderungen
Dieses Konfigurationsbeispiel gilt nur für Router, bei denen der lokale DHCP-Server und die DHCP-Relay-Agent-Dienste vom Prozess und nicht vom jdhcpd Legacy-Prozess dhcpd oder FUD-Prozess (UDP-Weiterleitung) bereitgestellt werden. Das DHCP-Relay muss auf der Hierarchieebene und nicht auf der [edit forwarding-options dhcp-relay] [edit forwarding-options helpers bootp] Hierarchieebene konfiguriert sein.
Bevor Sie diese Funktion konfigurieren können, ist keine spezielle Konfiguration erforderlich, die über die Geräteinitialisierung hinausgeht.
Überblick
Firewallfilter, die DHCP-Pakete auf der Routing-Engine verarbeiten, müssen sowohl den UDP-Port 67 (Bootps) für den DHCP-Serverdatenverkehr als auch den UDP-Port 68 (BootPC) für den DHCP-Clientdatenverkehr ordnungsgemäß berücksichtigen. Diese Ports sind für den DHCP-Betrieb 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 gesetzt werden, bevor er an die Routing-Engine weitergeleitet wird. Diese Portumschreibung ist ein kritischer Aspekt der DHCP-Implementierung von Juniper.
In DHCP-Relay- und -Proxy-Szenarien folgt der Datenverkehrsstrom bestimmten Portmustern. Vom Client stammende Pakete, die zum Server übertragen werden, verwenden zunächst Quellport 68 und 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 geliefert wird.
Diese Verhaltensweisen haben wichtige Auswirkungen auf die Firewall. Um einen ordnungsgemäßen DHCP-Betrieb zu gewährleisten, müssen die Firewall-Filter so konfiguriert sein, dass sie sowohl die Ports 67 als auch 68 zulassen. Diese Dual-Port-Anforderung berücksichtigt sowohl die ursprünglichen Clientanforderungen (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 verarbeiten und gleichzeitig den beabsichtigten Schutz für die Routing-Engine zu gewährleisten.
In diesem Beispiel werden nicht alle möglichen Konfigurationsoptionen und auch nicht 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
Vorgehensweise
CLI-Schnellkonfiguration
Um den DHCP-Filter für die 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 dann 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 dazu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus.
So konfigurieren Sie einen DHCP-Firewall-Filter zum Schutz der Routing-Engine:
Erstellen Sie einen Firewall-Filter, 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 68 user@host# set from destination-port 67
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 durch Eingabe des show firewall Befehls. Wenn die Ausgabe nicht die beabsichtigte 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 Schritte 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.
Aktion
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 beide konfigurierten Zähler auf, dhcp-client-accept und dhcp-server-accept. Wenn Sie den Befehl mehr als einmal ausgeben, können Sie sehen, dass sowohl das Byte- als auch das Paketfeld anzeigen, dass der Datenverkehr akzeptiert und gezählt wird.