Como posso configurar uma interface com muitos IPs estáticos

Como posso configurar uma interface com muitos IPs estáticos

Estou configurando uma máquina que usarei em uma rede de teste e que hospedará muitos sites. Eu gostaria que este host tivesse muitos endereços IP (da ordem de 20 mil).

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

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

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

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

Existe uma maneira de atribuir muitos IPs estáticos de forma persistente?

Suponho que, na pior das hipóteses, eu poderia criar meu próprio serviço IP e executar os ipcomandos por meio de um serviço systemd, mas queria saber se existe uma maneira mais canônica de fazer isso.

Responder1

Não verifiquei se ele suporta dezenas de milhares, mas parece que você pode especificar muitos endereços ifcfg-diretamente no arquivo se informar ao NetworkManager que fará isso.

O primeiro passo foi dizer ao NetworkManager o que fiz como

nmcli con mod eth0 ipv4.method manual

Então eu modifiquei /etc/sysconfig/network-scripts/eth0para que tivesse

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

e então eth0tinha ambos os endereços (pelo menos após uma reinicialização).

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 acompanha o Fedora 21 na fonte na linha 1366 de src/settings/pluginos/ifcfg-rh/reader.c se estiver interessado.)

Responder2

É fácil, quando você descobre.

Conheço duas maneiras: ifcfg-eth:xarquivos individuais para endereços únicos ou ifcfg-eth0-rangexarquivos para intervalos de IP. O arquivo é colocado na /etc/sysconfig/network-scripts/pasta.

Então primeiro caso. Basta copiar /etc/sysconfig/network-scripts/ifcfg-eth0para /etc/sysconfig/network-scripts/ifcfg-eth0:0. Abra-o em um editor e altereDISPOSITIVOpara eth0:0 eIPADDRpara o que você deseja. A recarga da sua rede ( systemctl restart networkno centos 7). Repita o passo e aumente x com um.

Segundo caso você copia /etc/sysconfig/network-scripts/ifcfg-eth0para /etc/sysconfig/network-scripts/ifcfg-eth0-range0. Em seguida, abra o arquivo em um editor e substituaIPADDRcomIPADDR_STARTe adicioneIPADDR_ENDcom os IPs de início e parada correspondentes do intervalo. Recarregue a rede conforme mencionado anteriormente e as alterações estarão ativas.

Responder3

copie /etc/sysconfig/network-scripts/ifcfg-eth0e /etc/sysconfig/network-scripts/ifcfg-eth0:0edite

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.

reinício.

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

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

informação relacionada