Importar lista de IPs para DEVICE = eth0: X

0

Eu tenho uma lista de IPs que gostaria de importar para o meu VPS do Linux. Eles não são um intervalo de IP.

Como eu criaria um script bash que faz isso para mim?

1.1.1.1
2.2.2.2

Se eles estiverem em minhas listas de IP, então devem criar os dois arquivos a seguir

/etc/sysconfig/network-scripts/ifcfg-eth0:1

-

DEVICE=eth0:1
BOOTPROTO=static
ONBOOT=yes
IPADDR=1.1.1.1
NETMASK=255.255.255.0

-

/etc/sysconfig/network-scripts/ifcfg-eth0:2

-

DEVICE=eth0:2
BOOTPROTO=static
ONBOOT=yes
IPADDR=2.2.2.2
NETMASK=255.255.255.0
    
por Teddy291 03.07.2015 / 04:46

1 resposta

2

Aqui você vai:

counter='ls -1 /etc/sysconfig/network-scripts/ifcfg-eth0:* 2>/dev/null | cut -d : -f 2 | sort -n | tail -1'
if [ -z "$counter" ]
then
  counter=0
fi

for ip in 'cat iplist.txt'
do
  counter='expr $counter + 1'
  cat << EOM > /etc/sysconfig/network-scripts/ifcfg-eth0:${counter}
DEVICE=eth0:${counter}
BOOTPROTO=static
ONBOOT=yes
IPADDR=${ip}
NETMASK=255.255.255.0
EOM
done

Isso primeiro encontrará a interface virtual numerada mais alta em eth0 e, em seguida, criará um novo arquivo para cada linha em iplist.txt a partir de lá com os valores apropriados preenchidos.

Se você quiser sobrescrever os arquivos existentes, você pode fazer um rm primeiro ou remover a lógica do contador, apenas configurá-lo como 0, e mover seu incremento para o final do loop em vez do início. / p>     

por 03.07.2015 / 05:21

Tags