
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-eth0
puedo 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 ip
comandos 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/eth0
para que tuviera
IPADDR0=<ip0>
NETMASK0=<mask0>
IPADDR1=<ip1>
NETMASK1=<mask1>
y luego eth0
tení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:x
archivos individuales para direcciones únicas o ifcfg-eth0-rangex
archivos 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-eth0
a /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 network
en centos 7). Repita el paso y aumente x en uno.
Segundo caso que copia /etc/sysconfig/network-scripts/ifcfg-eth0
a /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-eth0
y /etc/sysconfig/network-scripts/ifcfg-eth0:0
editarlo
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/