
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-eth0
posso 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 ip
comandos 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/eth0
para que tivesse
IPADDR0=<ip0>
NETMASK0=<mask0>
IPADDR1=<ip1>
NETMASK1=<mask1>
e então eth0
tinha 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:x
arquivos individuais para endereços únicos ou ifcfg-eth0-rangex
arquivos para intervalos de IP. O arquivo é colocado na /etc/sysconfig/network-scripts/
pasta.
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 altereDISPOSITIVOpara eth0:0 eIPADDRpara o que você deseja. A recarga da sua rede ( systemctl restart network
no 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 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-eth0
e /etc/sysconfig/network-scripts/ifcfg-eth0:0
edite
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/