web-dev-qa-db-fra.com

Adresse IP équivalente à / dev / null

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, mais une telle chose existe-t-elle pour me protéger des ennuis?

90
Tyler Durden

Il existe spécifiquement un préfixe blackhole dans IPV6, comme décrit dans RFC 6666 , il s'agit de 100 ::/64. IP4 n'a pas de 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.)

81
Bandrami

Il existe une chose telle que le réseau Trou noir .

S'il n'y a pas de périphériques sur le réseau avec l'adresse IP 192.168.0.10, cette adresse IP est en quelque sorte un trou noir et elle "éliminera" tout le trafic qui s'y rapporte, 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 de manière à silencieusement supprimer les paquets ( pas 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 un trou noir 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 pare-feu qui supprime silencieusement les paquets ou leurs variantes, par exemple en utilisant netcat: (comme suggéré par ultrasawblade ).

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

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

41
VL-80

Bien que ce ne soit pas un trou noir, vous pouvez également envisager les adresses IP réservées à des fins de test/exemple , en particulier si votre objectif est de: 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.

Il n'y a aucune garantie que les paquets destinés à ces adresses seront bloqués (cela dépend de votre FAI, etc.), mais personne ne devrait certainement les utiliser déjà.

18
Darien

Il n'y a pas d '"adresse de trou noir standard" en tant que telle, et il n'y a pas non plus d'exigence. 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 d'accès pour la supprimer. 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 plage " 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 masquage 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. En utilisant une adresse non utilisée telle que celle ci-dessus, par exemple, iptables -I OUTPUT -d 254.0.0.0/8 -j DROP s'assurera que tout ce qui est envoyé à ce "réseau" sera supprimé en silence 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.

16
Gabe

En contournant votre question, qu’en est-il de l’utilisation du "protocole de rejet" ?

3
wilx

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" (Bogus/Fake) Gammes

Je ne sais pas trop où dire ici, cela semble être davantage 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, en particulier des services sur la machine locale, au moins vous n'interférerez pas avec les machines du réseau (à moins que vos services réseau ne soient protégés par d'autres services réseau, je suppose).

127.0.0.0/8


Chaînes de destination illégales

L’adresse illégale 0.0.0.0 peut peut-être aussi être utilisée, même si 0.0.0.0/8 est réservé à "Utilisé pour les messages diffusés au présent (" ceci ")" il y a donc un risque de diffusion à ce sujet.

0.0.0.0/8

La page Wikipedia pour une 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

2
ThorSummoner

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 qui n'existe pas, le routeur et/ou l'hôte peut essaie en permanence d’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 mettra simplement le paquet sur le fil 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é.

1
ljwobker