Como posso configurar uma interface com muitos IPs estáticos?

0

Estou configurando uma máquina que utilizarei em uma rede de teste e que hospedará muitos sites. Eu gostaria que esse host tivesse muitos endereços IP (na ordem de 20k).

Eu sei que eu poderia adicionar todos eles com um script fazendo, digamos

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

e faça-os assim. Na verdade, isso funciona muito bem, mas não sobrevive a uma reinicialização, obviamente.

Se eu modificar o /etc/sysconfig/network-scripts/ifcfg-eth0 , posso atribuir um IP estático que será persistente, mas não acredito que possa atribuir mais de um desse modo.

Existe uma maneira de atribuir persistentemente muitos IPs estáticos?

Suponho que, na pior das hipóteses, eu poderia criar meu próprio serviço IP e executá-lo com os comandos ip por meio de um serviço systemd, mas gostaria de saber se existe uma maneira mais canônica de fazer isso.

    
por Eric Renouf 21.07.2015 / 15:47

3 respostas

2

Eu não verifiquei se ele suporta 10s de milhares, mas parece que você pode especificar muitos endereços dentro do arquivo ifcfg- diretamente se você informar ao NetworkManager que você vai fazer isso.

O primeiro passo foi informar ao NetworkManager o que fiz como

nmcli con mod eth0 ipv4.method manual

Então eu modifiquei /etc/sysconfig/network-scripts/eth0 então ele tinha

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

e, em seguida, eth0 tinha esses dois endereços (após uma reinicialização pelo menos).

Atualização: Infelizmente para mim, este método permite apenas até 256 endereços por interface. (Você pode ver o limite para a versão 0.9.10 que vem com o Fedora 21 na fonte na linha 1366 de src / settings / pluginos / ifcfg-rh / reader.c se você estiver interessado.)

    
por 21.07.2015 / 17:50
0

É fácil quando você descobre isso.

Conheço duas formas: arquivos ifcfg-eth:x individuais para endereços únicos ou arquivos ifcfg-eth0-rangex para intervalos IP. O arquivo é colocado na pasta /etc/sysconfig/network-scripts/ .

Então, primeiro caso. Basta copiar /etc/sysconfig/network-scripts/ifcfg-eth0 para /etc/sysconfig/network-scripts/ifcfg-eth0:0 . Abra-o em um editor e mude DEVICE para eth0: 0 e IPADDR para o que você deseja. O recarregar sua rede ( systemctl restart network on centos 7). Repita o passo e aumente x com um.

Segundo caso, você copia /etc/sysconfig/network-scripts/ifcfg-eth0 para /etc/sysconfig/network-scripts/ifcfg-eth0-range0 . Em seguida, abra o arquivo em um editor e substitua IPADDR por IPADDR_START e adicione IPADDR_END com os IPs de início e parada correspondentes do intervalo. Recarregue a rede como mencionado antes e as alterações estão ativas.

    
por 21.07.2015 / 16:32
0

copie /etc/sysconfig/network-scripts/ifcfg-eth0 para /etc/sysconfig/network-scripts/ifcfg-eth0:0 e edite-o

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"

você deve estar na mesma rede.

reinicie.

Se você não puder reiniciar, tente ifconfig eth0:0 up (não testei essa parte)

veja link

    
por 21.07.2015 / 16:29