¿Cuál es el número máximo de IP que se pueden asignar a una computadora determinada?

13

Realmente necesito saber esto para un servidor Linux, pero como también se aplica a los sistemas operativos del cliente, pensé que la pregunta debería plantearse aquí en lugar de la falla del servidor.

Jeremy Boyd
fuente

Respuestas:

16

Según las respuestas a esta publicación en la lista de correo de linux-net ,

  • En un momento, el kernel de Linux tenía un límite de 255 alias por dispositivo de interfaz física.
  • A partir de la versión 2.2 del kernel de Linux, no existe un límite (práctico), y la segunda respuesta cita la experiencia personal de haber aliasado más de 5,000 direcciones en una sola tarjeta ethernet.

Por supuesto, vincular una gran cantidad de alias a un solo dispositivo impondrá requisitos de memoria y puede tener implicaciones de rendimiento, por lo que es muy posible que su hardware limite la cantidad de alias que puede agregar, incluso si el núcleo en sí no lo tiene.

Dave Sherohman
fuente
No hay necesidad de crear alias para esto; ip addr addpuede enlazar las direcciones a un solo dispositivo.
Ignacio Vazquez-Abrams
3
Sí, y lo hace aliasing direcciones adicionales en el mismo dispositivo. Si el alias se llama ( eth0:0) o no, sigue siendo un alias. De acuerdo, los autores de la ip(8)página man eligen no usar el término "alias" porque trata todas las direcciones como iguales, casi todo el resto del mundo está de acuerdo en que asignar múltiples direcciones a la misma interfaz se llama "alias IP".
Dave Sherohman el
1
En algún momento tuve la necesidad de asignar muchas direcciones IPv6 a un solo host, y una vez que llegué a alrededor de 4000 direcciones, el descubrimiento de vecinos se rompió. El número exacto de direcciones que se tardó en romper el descubrimiento de vecinos variar un poco entre los experimentos, pero era siempre muy cerca de 4000.
kasperd
6

Más de lo que puedas necesitar. Use ip addr addpara agregar direcciones a una interfaz.

Ignacio Vazquez-Abrams
fuente
3

El máximo sería 4,294,967,294 direcciones IP (suponiendo que esté hablando de IPV4, tiene suficiente RAM y sacamos una para la dirección de transmisión y otra para la dirección de red).

Mike Scott
fuente
0

El kernel de Linux tiene una característica llamada AnyIP que le permite responder por un bloque contiguo de direcciones IPv4 o IPv6 a través de su interfaz de bucle invertido de Linux por muy poco costo en DRAM / CPU.

Por ejemplo, suponga que quiero que mi máquina Linux responda para cualquier dirección en 10.7.0.0/16:

  • En el sistema Linux, agregue una ruta local: ip -4 route add local 10.7.0.0/16 dev lo
  • Solicite a sus ingenieros de red que anuncien una ruta para 10.7.0.0/16 que apunte a la dirección eth0 de la máquina con la que hizo esto.

Felicitaciones, ahora responde por una cantidad masiva de direcciones (más de 65,000 en este ejemplo), y su consumo de RAM prácticamente no es nada de este ejercicio. En términos de escalabilidad, esta solución es mucho mejor que agregar alias de interfaz individuales en eth0 para todas las IP que desea responder.

No hay límite para cuántas direcciones puede responder de esta manera.

Mike Pennington
fuente