Feuriger Bogen. Schützen Sie sich vor Hackern mit IPTABLES, IPFW und PF. Cisco ACL für Advanced. Erweiterte Zugriffslisten Entsperren des icmp-Verkehrs windows 7
Wie können Sie Computer konfigurieren für Windows-Steuerung 2000 / XP / 2003, um Ping-Pakete zu blockieren? Windows 2000 / XP / 2003 verfügt über einen integrierten IP-Sicherheitsmechanismus namens IPSec (IP Security). IPSec ist ein Protokoll, das entwickelt wurde, um einzelne TCP/IP-Pakete auf ihrem Weg über ein Netzwerk zu schützen.
Wir gehen jedoch nicht auf die Details der Funktionsweise und des IPsec-Geräts ein, da IPSec neben der Verschlüsselung auch Ihren Server schützen kann oder Arbeitsplatz ein Mechanismus ähnlich einer Firewall.
Blockieren von PING auf einem einzelnen Computer
Um alle PING-Pakete vom und zum Computer zu blockieren, müssen wir eine IPSec-Richtlinie erstellen, die alle blockiert ICMP-Verkehr... Überprüfen Sie zunächst, ob Ihr Computer auf ICMP-Anfragen reagiert:
Um einen einzelnen Computer einzurichten, müssen wir die folgenden Schritte ausführen:
Lass uns konfigurierenIP-Filterlisten und Filteraktionen
- Öffnen Sie das MMC-Fenster (Start > Ausführen > MMC).
- Fügen Sie das Snap-In IP-Sicherheit und Richtlinienverwaltung hinzu.
- Wählen Sie aus, welcher Computer von dieser Richtlinie gesteuert wird - in unserem Fall ist dies der lokale Computer. Klicken Sie auf Schließen und dann auf OK.
- Klicken Sie mit der rechten Maustaste auf IP-Sicherheitsrichtlinien in der linken Hälfte der MMC. Wählen Sie IP-Filterlisten und Filteraktionen verwalten aus.
- Sie müssen keinen IP-Filter für ICMP (das Protokoll, in dem PING funktioniert) konfigurieren oder erstellen, da ein solcher Filter standardmäßig bereits vorhanden ist - All ICMP Traffic.
Sie können jedoch einen beliebig komplexen IP-Filter konfigurieren, z. B. das Pingen Ihres Computers von allen IPs außer einigen bestimmten verbieten. In einem der folgenden Artikel zu IPSec werden wir uns das Erstellen von IP-Filtern genauer ansehen, bleiben Sie dran.
- Überprüfen Sie im Fenster IP-Filterlisten und Filteraktionen verwalten Ihre Filter und klicken Sie, wenn alles in Ordnung ist, auf die Registerkarte Filteraktionen verwalten. Jetzt müssen wir eine Filteraktion hinzufügen, die bestimmten Datenverkehr blockiert, klicken Sie auf Hinzufügen.
- Klicken Sie im ersten Willkommensfenster auf Weiter.
- Geben Sie in das Feld Filteraktionsname Block ein und klicken Sie auf Weiter.
- Wählen Sie unter Allgemeine Optionen für Filteraktionen die Option Blockieren aus, und klicken Sie dann auf Weiter.
- Kehren Sie zum Fenster IP-Filterlisten und Filteraktionen verwalten zurück und überprüfen Sie Ihre Filter. Wenn alles in Ordnung ist, klicken Sie auf Schließen. Sie können jederzeit Filter und Filteraktionen hinzufügen.
Der nächste Schritt besteht darin, die IPSec-Richtlinie zu konfigurieren und anzuwenden.
Konfigurieren der IPSe-Richtlinie
- Klicken Sie in derselben MMC-Konsole auf Rechtsklick unter IP-Sicherheitsrichtlinien und wählen Sie IP-Sicherheitsrichtlinie erstellen.
- Überspringen Sie die Begrüßung des Assistenten, indem Sie auf Weiter klicken.
- Geben Sie im Feld Name der IP-Sicherheitsrichtlinie einen dem Anlass angemessenen Namen ein, z. B. „PING blockieren“. Weiter klicken
- Im Fenster Anfragen sichere Verbindung Deaktivieren Sie das Kontrollkästchen Standardantwortregel aktivieren. Weiter klicken
- Aktivieren Sie das Kontrollkästchen, um die Eigenschaften zu ändern, und klicken Sie auf Fertig stellen.
- Wir müssen der neuen IPSec-Richtlinie IP-Filter und Filteraktionen hinzufügen. Klicken Sie im Fenster Neue IPSec-Richtlinie auf Hinzufügen
- Weiter klicken.
- Stellen Sie im Fenster Tunnel-Endpunkt sicher, dass die Standardeinstellung ausgewählt ist, und klicken Sie auf Weiter.
Oftmals ärgern sich Nutzer über die Langsamkeit des Internets. Dies gilt insbesondere für das große Heer von Amateuren Netzwerkspiele... Sie können mögliche Verzögerungen reduzieren, indem Sie die Ping-Funktion deaktivieren.
Du wirst brauchen
- - PC mit installiertem Windows-Betriebssystem;
- - Zugang zum Internet.
Anleitung
Anleitung
Wir beschäftigen uns also weiterhin mit der ACL. Dieses Mal haben wir ACLs erweitert. Wir übernehmen die Topologie aus dem vorherigen Artikel, ich hoffe, Sie haben sie gründlich studiert. Wenn dies nicht der Fall ist, empfehle ich dringend, es zu lesen, um die Materialien dieses Artikels verständlicher zu machen.
Zunächst beginne ich damit, was erweiterte ACLs sind. Mit erweiterten ACLs können Sie zusätzlich zur Quelladresse das Protokoll, die Zieladresse und die Ports angeben. Sowie die speziellen Parameter eines bestimmten Protokolls. Es ist am besten, von Beispielen zu lernen, also werden wir ein neues Problem bilden, das das vorherige verkompliziert. Übrigens könnte jemand danach interessiert sein, sich mit den Themen der Verkehrspriorisierung zu befassen, ich rate hier QoS-Klassifizierung und -Markierung guter Artikel, allerdings auf Englisch. Kommen wir in der Zwischenzeit zurück zu unserem Problem:
Eine Aufgabe.
- Erlaube Echoanforderungen von Hosts 192.168.0.0/24 an den Server.
- Vom Server - Echo-Anfragen an das interne Netzwerk verbieten.
- Erlauben Sie den WEB-Zugriff auf den Server vom 192.168.0.11-Host.
- FTP-Zugriff vom 192.168.0.13-Host zum Server zulassen.
Komplexe Aufgabe. Wir werden es auch umfassend lösen. Zunächst werde ich die Syntax für die Anwendung der erweiterten ACL analysieren.
Erweiterte ACL-Optionen
<номер от 100 до 199> <действие permit, deny> <протокол> <источник> <порт> <назначение> <порт> <опции>
Portnummern werden natürlich nur für die TCP/UDP-Protokolle angegeben. Ich kann auch Präfixe haben eq(Portnummer gleich der angegebenen), gt / lt(Portnummer größer / kleiner als angegeben), neq(Portnummer ist nicht gleich der angegebenen), Reichweite(Portbereich).
Benannte ACLs
Accesslisten können übrigens nicht nur nummeriert, sondern auch benannt werden! Vielleicht erscheint Ihnen diese Methode bequemer. Diesmal werden wir genau das tun. Diese Befehle werden im Kontext einer globalen Konfiguration ausgeführt und die Syntax sieht wie folgt aus:
Router (config) #ip access-list erweitert<имя>
Also beginnen wir, die Regeln zu bilden.
- Pings aus dem Netzwerk zulassen 192.168.0.0/24
zum Server. So, Echo-Anfragen sind ein Protokoll ICMP, als Quelladresse wählen wir unser Subnetz, die Zieladresse ist die Serveradresse, der Nachrichtentyp ist auf der eingehenden Schnittstelle Echo, am Ausgang - Echo-Antwort... Router (config) #ip access-list extended INT_IN Router (config-ext-nacl) #permit icmp 192.168.0.0 0.0.0.255 host 10.0.0.100 echo Ja, es ist ein Trick ACL... Sogenannt WildCard-Maske. Sie wird als inverse Maske von der üblichen berechnet. Jene. 255.255.255.255
- Subnetzmaske. In unserem Fall ist das Subnetz 255.255.255.0
, nach Abzug bleibt es nur 0.0.0.255
Ich denke, diese Regel bedarf keiner Erklärung? Protokoll icmp, Quelladresse - Subnetz 192.168.0.0/24
, Zieladresse - Host 10.0.0.100, Nachrichtentyp - Echo(Anfrage). Das sieht man übrigens leicht Host 10.0.0.100 gleichwertig 10.0.0.100 0.0.0.0
Wir wenden diese Regel auf die Schnittstelle an. Router (config) #int fa0 / 0
Router (config-if) #ip access-group INT_IN in Naja, so ähnlich. Wenn Sie nun die Pings überprüfen, können Sie leicht erkennen, dass alles einwandfrei funktioniert. Hier erwartet uns jedoch eine Überraschung, die sich etwas später zeigen wird. Ich werde es noch nicht verraten. Wer hätte es gedacht - gut gemacht! - Vom Server - wir verbieten alle Echo-Anfragen an das interne Netzwerk (192.168.0.0/24). Wir definieren eine neue benannte Liste, INT_OUT, und hängen sie an die Schnittstelle, die dem Server am nächsten ist.
Router (config) #ip access-list erweitert INT_OUT
Router (config-ext-nacl) #deny icmp host 10.0.0.100 192.168.0.0 0.0.0.255 echo
Router (config-ext-nacl) #exit
Router (config) #int fa0 / 1
Router (config-if) #ip access-group INT_OUT in
Lassen Sie mich erklären, was wir getan haben. Eine erweiterte Zugangsliste mit dem Namen INT_OUT erstellt, das Protokoll wurde darin deaktiviert icmp mit Typ Echo vom Gastgeber 10.0.0.100 pro Subnetz 192.168.0.0/24 und auf den Eingang der Schnittstelle angewendet fa0 / 1, d.h. dem Server am nächsten. Versuch zu senden Klingeln vom Server.
SERVER> ping 192.168.0.11
Ping 192.168.0.11 mit 32 Byte Daten:
Antwort vom 10.0.0.1: Zielhost nicht erreichbar.
Antwort vom 10.0.0.1: Zielhost nicht erreichbar.
Antwort vom 10.0.0.1: Zielhost nicht erreichbar.
Ping-Statistik für 192.168.0.11:
Pakete: Gesendet = 4, Empfangen = 0, Verloren = 4 (100% Verlust)
Nun, es schien zu funktionieren, wie es sollte. Für diejenigen, die nicht wissen, wie man Pings sendet, klicken wir auf den für uns interessanten Knoten, zum Beispiel einen Server. Gehen Sie auf die Registerkarte Desktop, dort Eingabeaufforderung (Befehlszeile) und jetzt der versprochene Witz. Versuchen Sie, wie im ersten Punkt vom Host anzupingen. PC> ping 10.0.0.100
Ping 10.0.0.100 mit 32 Byte Daten:
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.Hier ist Ihre Zeit. Es hat einfach alles funktioniert! Warum hat es aufgehört? Das ist die versprochene Überraschung. Ich erkläre, was das Problem ist. Ja, die erste Regel ist nirgendwo hingegangen. Es erlaubt tatsächlich, eine Echo-Anfrage an den Server-Host zu senden. Aber wo ist die Erlaubnis, Echoantworten zu übergeben? Er ist nicht da! Wir senden die Anfrage, aber wir können die Antwort nicht annehmen! Warum hat vorher alles funktioniert? Dann hatten wir keine ACL auf der Schnittstelle fa0 / 1... Und da es keine ACL gibt, ist alles erlaubt. Sie müssen eine Regel erstellen, um den Empfang von icmp-Antworten zuzulassen.
Zur INT_OUT-Liste hinzufügen
Fügen wir dasselbe zur INT_IN-Liste hinzu.
Router (config-ext-nacl) #permit icmp host 10.0.0.100 192.168.0.0 0.0.0.255 echo-reply
Finde jetzt keinen Fehler. Alles läuft super!
- Wir erlauben den WEB-Zugriff auf den Server vom * .11-Knoten aus. Hier müssen Sie jedoch ein wenig wissen, wie mit den Protokollen der 4. Schicht (TCP, UDP) telefoniert wird. Der Client-Port wird willkürlich > 1024 gewählt, und der Server-Port ist derjenige, der dem Dienst entspricht. Für WEB ist dies Port 80 (http-Protokoll) Was ist mit dem WEB-Server? Standardmäßig ist der WEB-Dienst bereits auf dem Server installiert, Sie können ihn in den Knoteneinstellungen sehen. Bitte beachten Sie, dass ein Häkchen vorhanden ist. Und Sie können sich mit dem Server verbinden, indem Sie die Verknüpfung „Webbrowser“ auf dem „Desktop“ eines beliebigen Knotens auswählen. Natürlich wird es jetzt keinen Zugang geben. Da wir ACLs auf den Router-Schnittstellen haben und sie keine Zugriffsregeln haben. Nun, erstellen wir in der Zugriffsliste INT_IN (die auf der Schnittstelle fa0 / 0) fügen Sie die Regel hinzu: Router (config-ext-nacl) #permit tcp host 192.168.0.11 gt 1024 host 10.0.0.100 eq 80 Das heißt, wir erlauben das TCP-Protokoll von unserem Knoten (beliebiger Port,> 1024) an die Serveradresse , HTTP-Port.
Und natürlich die umgekehrte Regel zur INT_OUT-Liste (die auf der Schnittstelle fa0 / 1):
Router (config-ext-nacl) #permit tcp host 10.0.0.100 eq 80 host 192.168.0.11 eingerichtet
Das heißt, wir erlauben TCP vom Hafen 80 Server zu hosten *.11 und die Verbindung sollte bereits hergestellt sein! Du kannst stattdessen etabliert das gleiche anzeigen gt 1024 würde genauso gut funktionieren. Aber die Bedeutung ist etwas anders.
Bitte in den Kommentaren antworten, was sicherer wäre?
- Wir erlauben den FTP-Zugriff vom * .13 Host auf den Server, absolut nichts kompliziertes Lassen Sie uns analysieren, wie die Interaktion über das FTP-Protokoll abläuft. In Zukunft plane ich, der Arbeit verschiedener Protokolle eine ganze Reihe von Artikeln zu widmen, da dies sehr nützlich ist, um präzise (Sniper-)ACL-Regeln zu erstellen. In der Zwischenzeit: Server- und Client-Aktionen:+ Der Client versucht eine Verbindung aufzubauen und sendet von seinem Port X (X> 1024, freier Port) ein Paket (das den Hinweis enthält, dass er im passiven Modus arbeitet) an Port 21 des Servers + Der Server sendet eine Antwort und meldet seine Portnummer, um einen Kanal zu erstellen Daten Y (Y> 1024) an den Client-Port X, extrahiert aus dem Header des TCP-Pakets + Der Client initiiert die Kommunikation, um Daten auf Port X + 1 an den Server-Port Y zu übertragen (genommentake aus dem Kopf der vorherigen Transaktion). Irgendwie so. Klingt etwas kompliziert, aber Sie müssen es nur herausfinden! Fügen Sie die Regeln zur INT_IN-Liste hinzu:
erlauben TCP-Host 192.168.0.13 gt 1024-Host 10.0.0.100 eq 21
erlauben TCP-Host 192.168.0.13 gt 1024-Host 10.0.0.100 gt 1024Und fügen Sie die Regeln der INT_OUT-Liste hinzu:
TCP-Host zulassen 10.0.0.100 eq FTP-Host 192.168.0.13 gt 1024
TCP-Host zulassen 10.0.0.100 gt 1024-Host 192.168.0.13 gt 1024Überprüfung von Befehlszeile, vom Team ftp 10.0.0.100, wo wir uns mit Zugangsdaten anmelden cisco: cisco(aus den Servereinstellungen entnommen), dort geben wir den Befehl ein dir und wir werden sehen, dass die Daten sowie die Befehle erfolgreich übertragen werden.
Das war's für die erweiterte Zugriffsliste.
Sehen wir uns also unsere Regeln an:
Router #sh Zugriff
Erweiterte IP-Zugriffsliste INT_IN
erlauben icmp 192.168.0.0 0.0.0.255 host 10.0.0.100 echo (17 Übereinstimmung(en))
erlauben icmp host 10.0.0.100 192.168.0.0 0.0.0.255 echo-reply
erlauben tcp host 192.168.0.11 gt 1024 host 10.0.0.100 eq www (36 Übereinstimmung(en))
erlauben tcp host 192.168.0.13 gt 1024 host 10.0.0.100 eq ftp (40 Übereinstimmung(en))
erlauben TCP-Host 192.168.0.13 GT 1024 Host 10.0.0.100 GT 1024 (4 Übereinstimmung(en))
Erweiterte IP-Zugriffsliste INT_OUT
icmp-Host verweigern 10.0.0.100 192.168.0.0 0.0.0.255 echo (4 Übereinstimmungen)
erlauben icmp host 10.0.0.100 192.168.0.0 0.0.0.255 Echo-Antwort (4 Treffer)
erlauben tcp host 10.0.0.100 eq www host 192.168.0.11 etabliert (3 Übereinstimmung(en))
erlauben tcp host 10.0.0.100 eq ftp host 192.168.0.13 gt 1024 (16 Übereinstimmung(en))
TCP-Host zulassen 10.0.0.100 gt 1024 Host 192.168.0.13 gt 1024 (3 Übereinstimmung(en))
Das Blockieren von Ping-Antworten im Betriebssystem kann ICMP-Flood-Angriffe verhindern, aber die meisten Systeme verwenden Der Service zur Online-Überwachung (Systemüberwachung). In meinem Thema „Blockieren von Ping (ICMP)-Antworten in Unix/Linux“ erzähle ich Ihnen, wie Sie es trotzdem ausschalten können.
Das Blockieren von PING an den Server ist nützlich, wenn der Server ständig mit DoS-Angriffen über die PING-Funktion konfrontiert ist. Wenn wir IPTables verwenden, können wir einfach aufhören, die Weitergabe von ICMP-Paketen (eigentlich PING) an den Server zu verhindern. Bevor Sie damit beginnen, müssen Sie verstehen, was iptables unter Linux sind. Iptables ist ein System Firewall mit einer Reihe von Regeln, die ein- und ausgehende Pakete kontrollieren. Standardmäßig funktioniert Iptables ohne Regeln, Sie können Regeln erstellen, hinzufügen und bearbeiten.
Ping mit iptables deaktivieren
Erläuterung einiger Parameter in iptables, die zum Erstellen von Regeln für die Verwaltung von ICMP-Paketen erforderlich sind:
A: Fügt Regeln hinzu.
-D: Entfernt die Regel aus der Tabelle.
-p: Option zur Angabe des Protokolls (wobei ‚icmp‘).
--Icmp-type: Option zur Angabe des Typs.
-J: Geh zur Kette.
Im Folgenden gebe ich anschauliche Beispiele.
Wie blockiere ich PING auf dem Server mit Fehlermeldungen?
So können Sie PING mit einer Fehlermeldung "Destination Port Unreachable" teilweise blockieren. Fügen Sie die folgenden Iptables-Regeln hinzu, um PING mit Fehlermeldungen zu blockieren:
# iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT
Block PING auf dem Server ohne Fehlermeldungen.
Verwenden Sie dazu den Befehl für IPTables:
# iptables -A AUSGABE -p icmp --icmp-type echo-request -j DROP # iptables -A INPUT -p icmp --icmp-type echo-reply -j DROP
Blockiert alle ein- und ausgehenden ICMP-Pakete auf dem Server.
Ping mit iptables zulassen
Wenn Sie den Ping auf dem Server blockiert haben und nicht wissen, wie Sie ihn zurückbekommen. Dann erzähle ich dir jetzt, wie es geht. Und dies geschieht durch Hinzufügen der folgenden Regel zu IPtables:
# iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT # iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
Diese Regeln ermöglichen es ICMP-Paketen, vom und zum Server zu gelangen.
Ping-Blockierung mit Kernel-Optionen
Wir können Ping-Antworten auch direkt mit Kernel-Parametern blockieren. Sie können Ping-Antworten vorübergehend oder dauerhaft blockieren. Im Folgenden wird gezeigt, wie Sie dies tun.
Temporäre Ping-Blockierung
Sie können Ping-Antworten mit dem folgenden Befehl vorübergehend blockieren
# echo "1">
Um diesen Befehl zu entsperren, führen Sie Folgendes aus:
# echo 0> / proc / sys / net / ipv4 / icmp_echo_ignore_all
Ping komplett verweigern
Sie können Ping-Antworten blockieren, indem Sie den folgenden Parameter zu . hinzufügen Konfigurationsdatei:
# vim /etc/sysctl.conf
Und zur Anmeldung:
[...] net.ipv4.icmp_echo_ignore_all = 1 [...]
sysctl wird verwendet, um Kernel-Parameter zur Laufzeit zu ändern, einer dieser Parameter kann "ping daemon" sein. Wenn Sie Ping deaktivieren möchten, müssen Sie nur Folgendes tun:
# sysctl -w net.ipv4.icmp_echo_ignore_all = 1
Versuchen Sie jetzt, die Maschine anzupingen, es gibt keine Reaktion darauf, oder? Um Ping wieder zu aktivieren, verwenden Sie:
# sysctl -w net.ipv4.icmp_echo_ignore_all = 0
Das W-Flag wird verwendet, wenn Sie einige Einstellungen ändern möchten.
Führen Sie nun den folgenden Befehl aus, um die Einstellungen sofort anzuwenden, ohne das System neu zu starten:
# sysctl -p
# sysctl --system
Hier meine komplette Konfiguration:
# cd / usr / local / src && wget http: //site/wp-content/uploads/files/sysctl_conf.txt
und dann kannst du ausführen:
# cp /usr/local/src/sysctl_conf.txt /etc/sysctl.conf
Das war's für mich, das Thema "Block Ping (ICMP) Responses on Unix/Linux" ist abgeschlossen.
Lernen Einrichten von MikroTik Sie können den Online-Kurs zu den Geräten dieses Herstellers besuchen. Der Autor des Kurses ist zertifizierter MikroTik-Trainer. Weitere Details können Sie am Ende des Artikels lesen.
Der Artikel beantwortet die Frage, wie gefährlich es ist, ICMP-Verkehr zu blockieren.
ICMP - Streitpunkt
Viele Netzwerkadministratoren glauben, dass das Internet Control Message Protocol (ICMP) ein Sicherheitsrisiko darstellt und daher immer blockiert werden sollte. Es stimmt, dass das Protokoll einige Sicherheitsprobleme hat und einige Anfragen blockiert werden sollten. Dies ist jedoch kein Grund. um den gesamten ICMP-Verkehr zu blockieren!
ICMP-Verkehr hat viele wichtige Funktionen; einige von ihnen sind für die Fehlersuche nützlich, während andere für richtige Arbeit Netzwerke. Im Folgenden sind einige wichtige Teile des ICMP-Protokolls aufgeführt, die Sie kennen sollten. Überlegen Sie, wie Sie sie am besten durch Ihr Netzwerk leiten.
Echoanfrage und und Echoantwort
IPv4 - Echo-Anfrage (Typ8, Code0) und Echo-Antwort (Typ0, Code0)
IPv6 - Echo-Anfrage (Typ128, Code0) und Echo-Antwort (Typ129, Code0)
Wir alle wissen, dass Ping eines der ersten Tools zur Fehlerbehebung ist. Ja, wenn Sie die ICMP-Paketverarbeitung auf Ihrem Gerät aktivieren, bedeutet dies, dass Ihr Host jetzt auffindbar ist, aber Ihr Host hört nicht bereits auf Port 80 und sendet Antworten auf Clientanforderungen? Blockieren Sie natürlich auch diese Anfragen, wenn Sie Ihre DMZ wirklich am Rand des Netzwerks haben möchten. Durch das Blockieren des ICMP-Verkehrs in Ihrem Netzwerk verstärken Sie jedoch nicht den Schutz, im Gegenteil, Sie erhalten ein System mit einem unnötig komplexen Fehlerbehebungsprozess ("Bitte überprüfen Sie, ob das Gateway auf Netzwerkanfragen antwortet?" wird nichts sagen!") .
Denken Sie daran, dass Sie Anfragen auch in eine bestimmte Richtung fließen lassen können. Konfigurieren Sie beispielsweise Ihre Hardware so, dass Echo-Anfragen aus Ihrem Netzwerk ins Internet gehen und Echo aus dem Internet in Ihr Netzwerk antwortet, aber nicht umgekehrt.
Paketfragmentierung erforderlich (IPv4) / Paket zu groß (IPv6)
IPv4 - (Typ3, Code4)
IPv6 - (Typ2, Code0)
Diese ICMP-Komponenten sind sehr wichtig, da sie eine wesentliche Komponente in Path MTU Discovery (PMTUD) darstellen, die ein integraler Bestandteil des TCP-Protokolls ist. Ermöglicht zwei Hosts, den Wert der maximalen TCP-Segmentgröße (MSS) so anzupassen, dass er der kleinsten MTU im Pfad zwischen den beiden Zielen entspricht. Wenn sich auf dem Pfad der Pakete ein Knoten mit einer kleineren maximalen Übertragungseinheit als der Sender oder Empfänger befindet und er nicht über die Mittel verfügt, diese Kollision zu erkennen, wird der Verkehr stillschweigend verworfen. Und Sie werden nicht verstehen, was mit dem Kommunikationskanal passiert; mit anderen Worten: "Es kommen lustige Tage für Sie."
Nicht fragmentieren - ICMP funktioniert nicht!
Das Senden von IPv4-Paketen mit gesetztem Don't Fragment-Bit (die meisten!) oder IPv6-Pakete (denken Sie daran, dass es in IPv6 keine Router-Fragmentierung gibt), die zu groß sind, um über die Schnittstelle übertragen zu werden, führt dazu, dass der Router das Paket verwirft und Formularantwort an die Übertragungsquelle mit den folgenden ICMP-Fehlern: Fragmentation Required ( Fragmentierung erforderlich) oder Paket zu groß ( Paket auch Groß). Können Antworten mit diesen Fehlern nicht an den Absender zurückgesendet werden, interpretiert er das Fehlen von Bestätigungsantworten über die Zustellung von ACK-Paketen ( Bestätigen) vom Empfänger als Überlastung/Verlust und die Quelle für die erneute Übertragung von Paketen, die ebenfalls verworfen werden.
Es ist schwierig, die Ursache eines solchen Problems zu identifizieren und es schnell zu beheben, der Austausch von TCP-Handshakes (TCP-Handshake) funktioniert gut, da es sich um kleine Pakete handelt, aber sobald eine Massendatenübertragung stattfindet, hängt die Übertragungssitzung , da die Übertragungsquelle keine Fehlermeldungen erhält.
Erkundung des Paketzustellungspfads
RFC 4821 wurde entwickelt, um Teilnehmern am Netzwerkverkehr zu helfen, dieses Problem durch eine Paketpfadanalyse zu umgehen. (Pfad-MTU-Erkennung (PLPMTUD)... Der Standard ermöglicht es Ihnen, zu erkennen maximale Lautstärke Daten (Maximale Übertragungseinheit (MTU), die vom Protokoll in einer Iteration übertragen werden kann, indem die maximale Größe des nutzbaren Datenblocks schrittweise erhöht wird (Maximale Segmentgröße (MSS), um auf dem Weg vom Sender zum Empfänger die maximal mögliche Paketgröße ohne Fragmentierung zu finden. Diese Funktionalität reduziert die Abhängigkeit vom Erhalt zeitnaher Antworten mit Fehlern unter Verwendung des Internet Control Message Protocol (ICMP) und ist in den meisten Netzwerkgeräte-Stacks und Clients verfügbar Betriebssysteme... Leider ist dies nicht so effizient wie das direkte Erhalten der maximal möglichen Paketgrößendaten. Bitte erlauben Sie diesen ICMP-Nachrichten, zum Ursprung der Übertragung zurückzukehren, okay?
Zeitüberschreitung bei Paketübertragung
IPv4 - (Typ11, Code0)
IPv6 - (Typ3, Code0)
Traceroute ist ein sehr nützliches Tool zur Fehlerbehebung in Netzwerkverbindungen zwischen zwei Hosts, wobei jeder Schritt des Pfads detailliert beschrieben wird.
Sendet ein Paket mit einer IP-Datenpaket-Lebensdauer (Zeit zu leben (TTL) gleich 1 für den ersten Router, der eine Fehlermeldung (einschließlich der eigenen IP-Adresse) über die überschrittene Paketlebensdauer sendet. Dann sendet es ein Paket mit TTL 2 und so weiter. Dieses Verfahren ist notwendig, um jeden Knoten entlang des Paketpfads zu entdecken.
NDP und SLAAC (IPv6)
Router-Anfrage (RS) (Typ133, Code0)
Router Advertisement (RA) (Typ134, Code0)
Neighbor Solicitation (NS) (Typ135, Code0)
Nachbarwerbung (NA) (Typ136, Code0)
Weiterleiten (Typ137, Code0)
Während IPv4 das Address Resolution Protocol (ARP) für die Layer-2- und Layer-3-Zuordnung verwendet hat Netzwerkmodell OSI, IPv6 verfolgt einen anderen Ansatz in Form des Neighbor Discovery Protocol (NDP). NDP bietet viele Funktionen, einschließlich Routererkennung, Präfixerkennung, Adressauflösung und mehr. Zusätzlich zu NDP ermöglicht Ihnen StateLess Address AutoConfiguration (SLAAC) die dynamische Konfiguration eines Hosts in einem Netzwerk, ähnlich dem Konzept des Dynamic Host Configuration Protocol (DHCP) (obwohl DHCPv6 für eine genauere Steuerung gedacht ist).
Diese fünf Arten von ICMP-Nachrichten dürfen in Ihrem Netzwerk (mit Ausnahme des äußeren Perimeters) nicht blockiert werden, damit IP ordnungsgemäß funktioniert.
Nummerierung des ICMP-Typs
Das Internet Control Message Protocol (ICMP) enthält viele Nachrichten, die durch das Typfeld identifiziert werden.
Eine Art | Name | Spezifikation |
---|---|---|
0 | Echo-Antwort | |
1 | Nicht zugewiesen | |
2 | Nicht zugewiesen | |
3 | Ziel unerreichbar | |
4 | Quelllöschung (eingestellt) | |
5 | Umleiten | |
6 | Alternative Hostadresse (veraltet) | |
7 | Nicht zugewiesen | |
8 | Echo | |
9 | Router-Werbung | |
10 | Router-Anfrage | |
11 | Zeit überschritten | |
12 | Parameterproblem | |
13 | Zeitstempel | |
14 | Antwort mit Zeitstempel | |
15 | Informationsanfrage (eingestellt) | |
16 | Informationsantwort (eingestellt) | |
17 | Adressmaskenanforderung (eingestellt) | |
18 | Adressmaskenantwort (eingestellt) | |
19 | Reserviert (für Sicherheit) | Solo |
20-29 | Reserviert (für Robustheitsexperiment) | ZSu |
30 | Traceroute (eingestellt) | |
31 | Datagramm-Konvertierungsfehler (veraltet) | |
32 | Mobile Host-Umleitung (eingestellt) | David_Johnson |
33 | IPv6 Where-Bin-You (eingestellt) | |
34 | IPv6 Ich bin hier (eingestellt) | |
35 | Registrierungsanfrage für Mobilgeräte (eingestellt) | |
36 | Antwort auf die mobile Registrierung (eingestellt) | |
37 | Domainnamen-Anfrage (eingestellt) | |
38 | Antwort auf den Domänennamen (eingestellt) | |
39 | ÜBERSPRINGEN (eingestellt) | |
40 | Photuris | |
41 | ICMP-Nachrichten, die von experimentellen Mobilitätsprotokollen wie Seamoby . verwendet werden | |
42 | Erweiterte Echoanfrage | |
43 | Erweiterte Echoantwort | |
44-252 | Nicht zugewiesen | |
253 | Experiment 1 im RFC3692-Stil | |
254 | Experiment 2 im RFC3692-Stil | |
255 | Reserviert |
Ein paar Worte zum Tempolimit
Obwohl ICMP-Nachrichten wie die in diesem Artikel beschriebenen sehr nützlich sein können, denken Sie daran, dass das Generieren all dieser Nachrichten CPU-Zeit auf Ihren Routern beansprucht und Datenverkehr erzeugt. Erwarten Sie wirklich, in einer normalen Situation 1000 Pings pro Sekunde durch Ihre Firewall zu bekommen? Wird dies als normaler Verkehr betrachtet? Wahrscheinlich nicht. Grenze Durchsatz Netzwerke für diese Arten von ICMP-Verkehr, wie Sie es für richtig halten; Dieser Schritt kann Ihnen helfen, Ihr Netzwerk zu sichern.
Lesen, recherchieren und verstehen
In Anbetracht dessen, dass die Diskussion über das Thema "Blockieren oder Nichtblockieren" von ICMP-Paketen immer zu Verwirrung, Streitigkeiten und Meinungsverschiedenheiten führt, empfehle ich Ihnen, dieses Thema selbst weiter zu studieren. Ich habe viele Links auf dieser Seite bereitgestellt, ich denke, für ein umfassenderes Verständnis des Problems sollten Sie sich die Zeit nehmen, sie zu lesen. Und treffen Sie eine fundierte Entscheidung darüber, was für Ihr Netzwerk am besten geeignet ist.
MikroTik: Wo klicken, damit es funktioniert?
Bei all ihren Vorteilen haben die Produkte von MikroTik einen Nachteil - sie sind sehr uneins und bei weitem nicht immer verlässliche Informationenüber die Einrichtung. Wir empfehlen eine vertrauenswürdige Quelle auf Russisch, in der alles logisch und strukturiert gesammelt wird - Videokurs " MikroTik-Hardwarekonfiguration". Der Kurs beinhaltet 162 Videolektionen, 45 Labor arbeit, Fragen zur Selbstprüfung und Synopse. Alle Materialien verbleiben auf unbestimmte Zeit bei Ihnen. Der Kursbeginn kann kostenlos eingesehen werden, indem eine Anfrage auf der Kursseite hinterlassen wird. Der Autor des Kurses ist zertifizierter MikroTik-Trainer.