¿Cómo puedo configurar una interfaz con muchas IP estáticas?

¿Cómo puedo configurar una interfaz con muchas IP estáticas?

Estoy configurando una máquina que usaré en una red de prueba y que albergará muchos sitios web. Me gustaría que este host tuviera muchas direcciones IP (del orden de 20k).

Sé que podría agregarlos todos con un script, digamos

ip addr add <ip>/<mask> dev eth0

y conseguirlos todos de esa manera. De hecho, eso funciona bien, pero obviamente no sobrevive a un reinicio.

Si modifico /etc/sysconfig/network-scripts/ifcfg-eth0puedo asignar una IP estática que será persistente, pero no creo que pueda asignar más de una de esa manera.

¿Existe alguna forma de asignar muchas IP estáticas de forma persistente?

Supongo que, en el peor de los casos, podría crear mi propio servicio IP y ejecutar los ipcomandos a través de un servicio systemd, pero me preguntaba si existe una forma más canónica de hacerlo.

Respuesta1

No he comprobado si admite decenas de miles, pero parece que puede especificar muchas direcciones dentro del ifcfg-archivo directamente si le dice a NetworkManager que así lo hará.

El primer paso fue decirle a NetworkManager lo que hice como

nmcli con mod eth0 ipv4.method manual

Luego lo modifiqué /etc/sysconfig/network-scripts/eth0para que tuviera

IPADDR0=<ip0>
NETMASK0=<mask0>
IPADDR1=<ip1>
NETMASK1=<mask1>

y luego eth0tenía ambas direcciones (al menos después de reiniciar).

Actualización: Desgraciadamente para mí, este método solo permite hasta 256 direcciones por interfaz. (Puede ver el límite para la versión 0.9.10 que se incluye con Fedora 21 en el código fuente en la línea 1366 de src/settings/pluginos/ifcfg-rh/reader.c si está interesado).

Respuesta2

Es fácil cuando lo descubres.

Conozco dos formas: ifcfg-eth:xarchivos individuales para direcciones únicas o ifcfg-eth0-rangexarchivos para rangos de IP. El archivo se coloca en /etc/sysconfig/network-scripts/la carpeta.

Entonces el primer caso. Simplemente copie /etc/sysconfig/network-scripts/ifcfg-eth0a /etc/sysconfig/network-scripts/ifcfg-eth0:0. Ábrelo en un editor y cambia.DISPOSITIVOa eth0:0 yIPADDRa lo que quieres. Recargue su red ( systemctl restart networken centos 7). Repita el paso y aumente x en uno.

Segundo caso que copia /etc/sysconfig/network-scripts/ifcfg-eth0a /etc/sysconfig/network-scripts/ifcfg-eth0-range0. Luego abra el archivo en un editor y reemplaceIPADDRconIPADDR_STARTy añadirIPADDR_ENDcon las correspondientes IP de inicio y parada del rango. Vuelva a cargar la red como se mencionó anteriormente y los cambios estarán activos.

Respuesta3

copiarlo /etc/sysconfig/network-scripts/ifcfg-eth0y /etc/sysconfig/network-scripts/ifcfg-eth0:0editarlo

DEVICE="eth0:0"
BOOTPROTO="static"
IPADDR=192.168.230.252
NETWORK=192.168.230.0
NETMASK=255.255.255.0
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"

debes estar en la misma red.

reiniciar.

Si no puede reiniciar, intente ifconfig eth0:0 up(no probé esta parte)

verhttp://www.cyberciti.biz/faq/linux-creating-or-adding-new-network-alias-to-a-network-card-nic/

información relacionada