IP-Adresse, die / dev / null entspricht

92

Gibt es eine IP-Adresse, die dazu führen würde, dass ein gesendetes Paket ignoriert wird (Blackholed)?

Ich weiß, dass ich einen Router immer mit einer IP-Adresse einrichten und dann einfach alle an ihn gesendeten Pakete ignorieren lassen kann. Aber gibt es so etwas, um mir den Ärger zu ersparen?

Tyler Durden
quelle
2
Es gibt einige Geräte (wie Router und Switches von San Francisco Co.), die eine Null-Schnittstelle verwenden, die als schwarzes Loch für böswilligen Datenverkehr verwendet werden kann. Man sollte eine Route zu dieser Null-Schnittstelle zeigen, damit der gesamte Verkehr zu dieser Route verworfen wird.
Adriano P
12
Möglicherweise interessieren Sie sich für devnull-as-a-service.com
wchargin
2
Ich bin gespannt, warum die Frage "Spam-Schutz" lautet.
Mike Pennington
@WChargin, ich hoffe das war ein Witz - devnull-as-a-service.comscheint nichts mit Networking zu tun zu haben und sieht auch nur beschissen aus . Was ist das : When we say "government" we mean NSA, CIA, FBI, TSA, Communist Party of China (CPC), Nestle, The Coca-Cola Company, the KGB, some of your coworkers and our friends (especially if there is something funny).?
VL-80,
5
@Nikolay ja, es war ein Witz, genau wie die Website. Siehe ihre Github README : „Es ist vor allem über das Unternehmen, Wolke, * -as-a-Service und Kritik an ihm. “ (Hervorhebung von mir)
wchargin

Antworten:

84

In IPV6 gibt es speziell ein Blackhole-Präfix, wie in RFC 6666 beschrieben , nämlich 100 :: / 64. IP4 hat kein solches explizites Schwarzes Loch, aber ein nicht existierender Host auf einem der reservierten Blöcke hätte diesen Effekt. (zB 240.0.0.0/4 ist "reserviert für zukünftige Verwendung" und wird von nichts weitergeleitet.)

Bandrami
quelle
32
Das Senden von Daten an etwas, das für die zukünftige Verwendung reserviert ist, ist nur eine gute Idee, bis diese zukünftige Verwendung realisiert ist.
corsiKa
5
Sehr guter Punkt, obwohl ich sehr bezweifle, dass IP4 wieder stark erweitert wird.
Bandrami
8
Aber kann der Router die Pakete garantiert ablegen? Denn wenn es ICMP "Ziel nicht erreichbar" zurückgibt, ist es nicht das, wonach das OP gefragt hat.
WGH
41

Es gibt so etwas wie ein Netzwerk- Schwarzes Loch .

Wenn sich im Netzwerk keine Geräte mit der IP-Adresse 192.168.0.10 befinden, handelt es sich bei dieser IP-Adresse um eine Art Schwarzes Loch, und der gesamte Datenverkehr wird "verworfen", einfach weil er nicht vorhanden ist.

Protokolle, die den Verbindungsstatus (TCP) verfolgen, können einen fehlenden Zielhost erkennen. Bei UDP passiert dies nicht und Pakete sterben einfach ab, während der sendende Host nicht darüber informiert wird.

Sie können Black Hole mit Firewall einrichten, indem Sie diese so einrichten, dass Pakete von bestimmten (oder vielen) Adressen stillschweigend verworfen ( nicht zurückgewiesen ) werden.

Soweit mir bekannt ist, gibt es in TCP / IP Version 4 (Dank an Bandrami ) keine solche Netzwerk-Standardadresse, die für Sie ein Problem darstellt .

Sie haben also zwei Möglichkeiten:

  1. Eine IP-Adresse, die keinem Host zugewiesen wurde.
  2. Host mit Firewall, der Pakete oder Variationen davon unbemerkt ablegt , z. B . netcat: (wie von Ultrasawblade vorgeschlagen ).

nc -vv -l 25 > /dev/nullLauscht auf eingehende Verbindungen auf TCP-Port 25 und leitet die Ergebnisse an /dev/null. Weitere Beispiele hier .

Das gesamte Subnetz kann auch ein Schwarzes Loch sein ( Null-Route ).

VL-80
quelle
4
Wenn Sie etwas wollen, das TCP-Verkehr empfängt, aber nichts damit anfängt, können Sie mit nc(oder netcat) etwas schnelles einrichten . Wie @Nikolay jedoch sagt, gibt es keine "Blackhole" -IP, die dies automatisch tut.
LawrenceC
2
Zumindest nicht in IP4
Bandrami
@ Bandrami: Was ist dann mit IPv6?
user2357112
2
@ user2357112, schau dir nur seine Antwort an . Es liegt direkt unter meinem.
VL-80
19

Auch wenn es sich nicht um ein Schwarzes Loch handelt, sollten Sie die für Test- / Beispielzwecke (gemäß RFC 5737) reservierten IP -Adressen berücksichtigen , insbesondere wenn Ihr Ziel ein "sicherer, nicht funktionierender Standardwert" ist.

  • 192.0.2.0/24 (TEST-NET-1),
  • 198.51.100.0/24 (TEST-NET-2)
  • 203.0.113.0/24 (TEST-NET-3)

Netzbetreiber MÜSSEN diese Adressblöcke zur Liste der nicht routbaren Adressräume hinzufügen. Wenn Paketfilter eingesetzt werden, MÜSSEN diese Adressblöcke zu Paketfiltern hinzugefügt werden.

Es gibt keine Garantie, dass Pakete an diese Adressen blockiert werden (dies hängt von Ihrem ISP usw. ab), aber sicherlich sollte niemand sie bereits verwenden.

Darien
quelle
1
Sie können auch ABGELEHNT anstatt ABGEFALLEN sein, also ...
mirabilos
1
192.0.2.0 scheint bei meinem ersten Versuch zu funktionieren und bisher keine Pakete zurückzugeben. Ich werde noch ein paar Tests machen.
Tyler Durden
16

Es gibt keine "Standard-Blackhole-Adresse" als solche, und es gibt auch keine wirklichen Anforderungen dafür. Sie sagen nicht, was Sie tatsächlich erreichen möchten, deshalb kann ich Ihnen nicht helfen, aber hier sind einige falsche Lösungen für Ihr Problem, die Ihre Frage so beantworten würden, wie Sie sie gestellt haben:

  • Sie können eine RFC1918-Adresse verwenden , die in Ihrem Netzwerk nicht verwendet wird, und sich darauf verlassen, dass Ihr ISP sie für Sie löscht . Wenn Sie beispielsweise nur einige Teile von 192.168 verwenden, wird 10.255.255.1 von Ihrem Internetdienstanbieter auf Null gesetzt (was dank Ihres Standard-Gateways der Fall wäre).
  • Sie können eine IP-Adresse verwenden, die für die zukünftige Verwendung reserviert ist (und wahrscheinlich niemals verwendet wird). das ist die alte " Klasse E " -Reihe. Dies funktioniert genauso wie oben beschrieben, auch wenn Sie bereits alle privaten Adressbereiche verwenden (da die Netzmasken viel breiter sind als erforderlich, bezweifle ich, dass Sie Millionen angeschlossener Geräte haben). Zum Beispiel wird 254.0.0.1 niemals (legal) auf ein reales Gerät verweisen.
  • Auf dem Computer, auf dem Sie dies benötigen, können Sie ein Drop-Only-Ziel hinzufügen. Die Verwendung einer nicht verwendeten Adresse wie der oben genannten stellt beispielsweise iptables -I OUTPUT -d 254.0.0.0/8 -j DROPsicher, dass alles, was an dieses "Netzwerk" gesendet wird, unbemerkt gelöscht wird, anstatt Gateways zu stören oder sogar Datenverkehr auf der eigentlichen Netzwerkschnittstelle zu verursachen.

Auch hier möchten Sie wahrscheinlich nichts davon, auch wenn Sie es für bequem halten - es ist nicht verwirrend und nicht offensichtlich und keine gute Lösung für das, was Ihr Problem wirklich ist.

Gabe
quelle
254.0.0.1 nicht Black Hole-Pakete, bekomme ich eine Fehlermeldung "Sendefehler".
Tyler Durden
7
+1 für "Sie wollen wahrscheinlich nicht wirklich etwas davon ..."
RBerteig
2

Testbereiche

Ich würde wahrscheinlich einen der "TEST-NET" -Adressbereiche vorschlagen, "zur Verwendung in Dokumentation und Beispielen. Er sollte nicht öffentlich verwendet werden" .

192.0.2.0/24
198.51.100.0/24
203.0.113.0/24

"Bogon" (Bogus / Fake) -Ranges

Ich bin mir nicht sicher, wo ich das sagen soll. Dies scheint eher eine Praxis zu sein, die ein Internet-Gateway bieten würde, als eine spezielle Methode, um ein Paket zu implementieren, das an einen Ort geleitet wird, an dem es nicht sein sollte


Lokale Bereiche

Es gibt auch Loopback-Adressbereiche 127.0.0.0/8, z 127.0.0.255. Obwohl es immer noch möglich ist, dass dort Dinge existieren, insbesondere Dienste auf dem lokalen Computer, werden Sie zumindest keine Computer im Netzwerk stören (es sei denn, Sie haben Netzwerkdienste, die von anderen Netzwerkdiensten unterstützt werden, denke ich).

127.0.0.0/8


Illegale Zielbereiche

Möglicherweise kann auch die ungültige Adresse 0.0.0.0verwendet werden, obwohl 0.0.0.0/8 für "Wird für Broadcast-Nachrichten an das aktuelle (" this ")" reserviert ist, so dass die Gefahr von Broatcasts besteht.

0.0.0.0/8

Auf der Wikipedia-Seite für die Nullroute heißt es:

Nullrouten werden normalerweise mit einem speziellen Routenflag konfiguriert, können jedoch auch durch Weiterleiten von Paketen an eine unzulässige IP-Adresse wie 0.0.0.0 oder die Loopback-Adresse implementiert werden.


Verweise: https://en.wikipedia.org/wiki/Reserved_IP_addresses

ThorSummoner
quelle
Insgesamt habe ich mich jedoch für localhostden höchsten Port entschieden 65535, da ich sicherstellen wollte, dass kein Datenverkehr den Host verlässt.
ThorSummoner
Wenn Sie den Port angeben, müssen Sie auch jedes Protokoll angeben: TCP, UDP usw. Dabei kann ein Teil des Datenverkehrs Ihren Regeln entgehen (z. B. ICMP).
Drakes
1

Eine Sache zu prüfen (die können oder auch nicht ein Problem für Ihr spezielles Szenario), dass , wenn Sie den Datenverkehr auf eine IP - Adresse umleiten , die nicht vorhanden ist , der Router und / oder Host kann versuchen, kontinuierlich ARP für die Adresse, die konnte sei eine schlechte Sache.

Wenn Sie eine statische ARP <-> IP-Bindung für diese Phantomadresse konfigurieren, verfügt das System immer über einen aufgelösten ARP-Eintrag, und das Paket wird nur mit dieser ARP-Adresse (die vermutlich falsch ist) und auf die Leitung gelegt der Verkehr wird eigentlich nirgendwo landen.

Auch dies ist möglicherweise NICHT das, was Sie tatsächlich wollen, aber es lohnt sich, darüber nachzudenken.

ljwobker
quelle