Quel est le nombre maximal d'adresses IP pouvant être attribuées à un ordinateur donné?


13

J'ai vraiment besoin de savoir cela pour un serveur Linux, mais comme cela s'applique également aux systèmes d'exploitation client, j'ai pensé que la question devrait être posée ici au lieu d'une erreur de serveur.

Réponses:


16

D'après les réponses à ce message sur la liste de diffusion linux-net ,

  • À un moment donné, le noyau Linux avait une limite de 255 alias par périphérique d'interface physique.
  • Depuis la version 2.2 du noyau Linux, il n'y a pas de limite (pratique), la deuxième réponse citant l'expérience personnelle d'avoir aliasé plus de 5 000 adresses sur une seule carte Ethernet.

Bien sûr, la liaison d'un grand nombre d'alias à un seul appareil imposera des besoins en mémoire et peut avoir des implications en termes de performances, il est donc tout à fait possible que votre matériel limite le nombre d'alias que vous pouvez ajouter, même si le noyau lui-même ne le fait pas.


Il n'est pas nécessaire de créer des alias pour cela; ip addr addpeut lier les adresses à un seul appareil.
Ignacio Vazquez-Abrams

3
Oui, et il le fait en aliasant des adresses supplémentaires sur le même appareil. Que l'alias soit nommé ( eth0:0) ou non, c'est toujours un alias. Certes, les auteurs de la ip(8)page de manuel choisissent de ne pas utiliser le terme "alias" car il traite toutes les adresses comme égales, à peu près tout le reste du monde convient que l'attribution de plusieurs adresses à la même interface est appelée "alias IP".
Dave Sherohman

1
À un moment donné, j'ai eu besoin d'attribuer de nombreuses adresses IPv6 à un seul hôte, et une fois que j'ai atteint environ 4000 adresses, la découverte du voisin s'est rompue. Le nombre exact d'adresses qu'il a fallu pour rompre la découverte du voisin variait un peu entre les expériences, mais il était toujours assez proche de 4000.
kasperd


3

Le maximum serait de 4 294 967 294 adresses IP (en supposant que vous parlez d'IPV4, vous avez suffisamment de RAM et nous en supprimons une pour l'adresse de diffusion et une pour l'adresse réseau).


0

Le noyau linux a une fonctionnalité appelée AnyIP qui vous permet de répondre à un bloc contigu d'adresses IPv4 ou IPv6 via votre interface de bouclage linux pour très peu de coûts en DRAM / CPU.

Par exemple, supposons que je souhaite que ma machine Linux réponde pour n'importe quelle adresse dans 10.7.0.0/16:

  • Sur le système Linux, ajoutez une route locale: ip -4 route add local 10.7.0.0/16 dev lo
  • Demandez à vos ingénieurs réseau de publier un itinéraire pour 10.7.0.0/16 pointant vers l'adresse eth0 de la machine avec laquelle vous avez fait cela.

Félicitations, vous répondez maintenant pour un grand nombre d'adresses (plus de 65 000 dans cet exemple), et votre consommation de RAM n'est pratiquement rien de cet exercice. En termes d'évolutivité, cette solution est bien meilleure que l'ajout d'alias d'interface individuels sur eth0 pour toutes les adresses IP auxquelles vous souhaitez répondre.

Il n'y a pas de limite pour le nombre d'adresses auxquelles vous pouvez répondre comme ceci.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.