Adresse IP équivalente à / dev / null

92

Existe-t-il une adresse IP qui ferait en sorte que tout paquet envoyé soit ignoré (blackholed)?

Je sais que je peux toujours configurer un routeur avec une adresse IP et lui faire ensuite ignorer tous les paquets qui lui sont envoyés.

Tyler Durden
la source
2
Certains périphériques (tels que les routeurs et les commutateurs de cette société San Francisco cisco ) utilisent une interface Null pouvant servir de trou noir au trafic malveillant. Il faut pointer une route vers cette interface Null pour que tout le trafic de cette route soit éliminé.
Adriano P
12
devnull-as-a-service.com
wchargin le
2
Je suis curieux, pourquoi la question est-elle étiquetée "prévention du spam"?
Mike Pennington
@WChargin, j'espère que c'était une blague - devnull-as-a-service.comne semble pas avoir de relation avec le réseautage et même cela a l' air d'une merde . Qu'est-ce : 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 oui, c'était une blague, tout comme le site web. Voir leur fichier README de Github : "Cela concerne principalement l'entreprise, le cloud, les critiques et les critiques à ce sujet. " (
Souligné par

Réponses:

84

Il existe spécifiquement un préfixe blackhole dans IPV6, comme décrit dans RFC 6666 , il est 100 :: / 64. IP4 n'a pas un trou noir explicite comme celui-là, mais un hôte inexistant sur l'un des blocs réservés aurait cet effet. (Par exemple, 240.0.0.0/4 est "réservé pour une utilisation future" et ne sera acheminé par rien.)

Bandrami
la source
32
L'envoi de données à quelque chose de réservé pour une utilisation future n'est qu'une bonne idée jusqu'à ce que cette utilisation future soit réalisée.
CorsiKa
5
Très bon point, même si je doute fortement que l’IP4 sera beaucoup plus étendu.
Bandrami
8
Mais le routeur est-il assuré de laisser tomber les paquets? Parce que s'il renvoie ICMP "destination inaccessible", ce ne sera pas ce que l'OP a demandé.
WGH
41

Il existe une chose telle que le réseau Black Hole .

S'il n'y a pas de périphériques sur le réseau avec l'adresse IP 192.168.0.10, alors cette adresse IP est une sorte de trou noir et elle "éliminera" tout le trafic qui s'y dirigent, tout simplement parce qu'elle n'existe pas.

Les protocoles qui surveillent l'état de la connexion (TCP) peuvent détecter un hôte de destination manquant. Cela ne se produira pas avec UDP et les paquets mourront tandis que l'hôte expéditeur n'en sera pas informé.

Vous pouvez configurer un trou noir avec un pare-feu en le configurant pour qu'il supprime silencieusement les paquets ( pas les rejeter ) d'adresses particulières (ou de plusieurs adresses).

Autant que je sache, il n’existe pas d’adresse réseau standard de ce type qui ferait des trous noirs dans TCP / IP version 4 (Merci à Bandrami ).

Donc, vous avez deux options:

  1. Une adresse IP qui n’a été attribuée à aucun hôte;
  2. Hôte avec un pare-feu qui laisse tomber silencieusement des paquets ou des variantes de celui-ci, par exemple en utilisant netcat: (comme suggéré par ultrasawblade ).

nc -vv -l 25 > /dev/nullécoutera les connexions entrantes sur le port TCP 25 et acheminera les résultats vers /dev/null. Plus d'exemples ici .

Le sous-réseau tout entier peut également être un trou noir ( route nulle ).

VL-80
la source
4
Si vous voulez quelque chose qui recevra le trafic TCP, mais ne fait rien avec cela, quelque chose de rapide peut être configuré avec nc(ou netcat). Comme @Nikolay le dit cependant, il n'y a pas d'adresse IP "en trou noir" qui le fasse automatiquement.
LawrenceC
2
Du
@Bandrami: Qu'en est-il d'IPv6, alors?
user2357112
2
@ user2357112, regardez sa réponse . C'est juste en dessous de la mienne.
VL-80
19

Bien que ce ne soit pas un trou noir, vous pouvez également envisager les adresses IP réservées à des fins de test / exemple (conforme à la RFC 5737) , en particulier si votre objectif est une valeur "valeur par défaut non opérationnelle."

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

Les opérateurs de réseau DEVRAIENT ajouter ces blocs d'adresses à la liste des espaces d'adresses non routables. Si les filtres de paquets sont déployés, ce bloc d'adresses DEVRAIT être ajouté aux filtres de paquets.

Rien ne garantit que les paquets à ces adresses seront bloqués (cela dépend de votre FAI, etc.), mais personne ne devrait les utiliser déjà.

Darien
la source
1
Ils peuvent également être rejetés au lieu d'être abandonnés, alors…
mirabilos
1
192.0.2.0 semble fonctionner à mon premier essai, ne renvoyant aucun paquet jusqu'à présent. Je vais faire d'autres tests.
Tyler Durden le
16

Il n'y a pas d '"adresse de trou noir standard" en tant que telle, et il n'y a pas non plus d'obligation. Vous ne dites pas ce que vous essayez réellement de réaliser, donc je ne peux pas vous aider à le faire, mais voici quelques solutions erronées à votre problème qui répondraient à votre question comme vous l'avez posée:

  • Vous pouvez utiliser une adresse RFC1918 qui n'est pas utilisée sur votre réseau et compter sur votre fournisseur de services Internet pour la supprimer à votre place. Par exemple, si vous n'utilisez que certaines parties de 192.168, 10.255.255.1 serait routé de manière nulle par votre fournisseur de services Internet (qui l'obtiendrait grâce à votre passerelle par défaut).
  • Vous pouvez utiliser une adresse IP réservée pour une utilisation future (et ne sera probablement jamais utilisée); c'est l'ancienne gamme " Classe E ". Cela fonctionnera comme ci-dessus, mais fonctionnera même si vous utilisez déjà toutes les plages d'adresses privées (en ayant des masques de masque beaucoup plus larges que nécessaire, je doute que vous ayez des millions de périphériques connectés). Par exemple, 254.0.0.1 ne fera jamais (légalement) référence à un périphérique réel.
  • Sur la machine où vous en avez besoin, vous pouvez ajouter une cible de dépôt uniquement. L'utilisation d'une adresse non utilisée telle que celle ci-dessus, par exemple, iptables -I OUTPUT -d 254.0.0.0/8 -j DROPgarantira que tout ce qui est envoyé à ce "réseau" sera supprimé de manière silencieuse au lieu de gêner les passerelles ou même de générer du trafic sur l'interface réseau réelle.

Encore une fois, vous ne voudrez probablement rien de tout cela, même si vous pensez que c'est pratique - ce n'est pas, c'est déroutant et non évident et ce n'est pas une bonne solution à votre problème.

Gabe
la source
254.0.0.1 ne noircit pas les paquets de trous, j'obtiens une erreur "Échec de transmission".
Tyler Durden
7
+1 pour "vous ne voulez probablement pas de cela ..."
RBerteig
2

Gammes de test

Je suggérerais probablement l’une des plages d’adresses "TEST-NET", "à utiliser dans la documentation et les exemples. Elle ne devrait pas être utilisée publiquement" .

192.0.2.0/24
198.51.100.0/24
203.0.113.0/24

"Bogon" (Faux) gammes

Je ne sais pas trop où dire ici, cela semble être plutôt une pratique qu'une passerelle Internet fournirait, plutôt qu'un moyen spécifique d'implémenter un paquet qui est acheminé quelque part où il ne devrait pas être


Gammes locales

Il existe également une plage d'adresses en boucle 127.0.0.0/8, par exemple 127.0.0.255. Bien qu'il soit encore possible que des choses existent, notamment des services sur la machine locale, au moins vous n'interférerez pas avec les machines du réseau (à moins que vos services de réseau ne soient protégés par d'autres services de réseau, je suppose).

127.0.0.0/8


Chaînes de destination illégales

Peut-être que l'adresse illégale 0.0.0.0peut également être utilisée, bien que 0.0.0.0/8 soit réservé à "Utilisé pour la diffusion de messages au présent (" ceci ")", de sorte qu'il existe un risque de diffusion à rebours à ce sujet.

0.0.0.0/8

La page Wikipedia pour la route nulle indique:

Les itinéraires nuls sont généralement configurés avec un indicateur de routage spécial, mais peuvent également être implémentés en transférant des paquets vers une adresse IP non conforme, telle que 0.0.0.0, ou l'adresse de bouclage.


Réf.: Https://en.wikipedia.org/wiki/Reserved_IP_addresses

ThorSummoner
la source
Cependant, dans l’ ensemble, j’ai choisi d’utiliser localhostle port le plus élevé 65535, car je voulais éviter tout trafic qui ne quitterait l’hôte.
ThorSummoner
Si vous spécifiez le port, vous devez également spécifier chaque protocole: TCP, UDP, etc. et, ce faisant, du trafic peut échapper à vos règles (par exemple, ICMP).
Drakes
1

Une chose à considérer (qui peut ou peut ne pas être un problème pour votre scénario particulier) est que si vous redirigez le trafic vers une adresse IP inexistante, le routeur et / ou l'hôte peut tenter de mettre en permanence le protocole ARP pour cette adresse, ce qui pourrait être une mauvaise chose.

Si vous configurez une liaison ARP <-> IP statique pour cette adresse fantôme, le système aura toujours une entrée ARP résolue et il ne fera que mettre le paquet sur le réseau avec cette adresse ARP (supposée fausse) et le trafic n'atterrit réellement nulle part.

Encore une fois, cela peut très bien ne PAS être ce que vous voulez réellement, mais cela vaut la peine d'être considéré.

ljwobker
la source