Troca de IP Automatizado

1. Troca de IP Automatizado

Jones Neves
n3v3s

(usa Debian)

Enviado em 27/11/2014 - 07:42h

Bom dia Galera,

Seguinte:

Estou precisando de um script para troca de IP, como seria:
Vou contratar 4 ips, digamos que seria 192.168.0.1, 192.168.0.2, 192.168.0.3 192.168.0.4, e no caso gostaria de uma rotação dos mesmos, a cada 30 minutos eles trocam. Não sei como fazer, mais penso num script que posso automatizar no cron.
Tudo isso é para um server de email.

Por favor, quem tiver esse conhecimento e quiser dividir será bem vindo, e tenho certeza que vai ajudar a muitos.


Saudações,



Jones.


  


2. Re: Troca de IP Automatizado

Phillipe Smith
smithux

(usa Arch Linux)

Enviado em 27/11/2014 - 15:21h

Meu brother tu pode tentar colocar no Cron o seguinte script abaixo.
Qualquer dúvida é só falar.


#!/bin/bash

# Lista de IPs separados por espaço
ip_list=('192.168.0.1' '192.168.0.2' '192.168.0.3' '192.168.0.4')

# Arquivo temporário que irá guardar um contador de vezes que o script foi executado
# de acordo com a quantidade de IPs existentes na lista
tmp_file=/tmp/ip_counter.log

# Quantidade de IPs na lista
ip_counter=$((${#ip_list[@]} - 1))

# Se o arquivo temporário não existir será criado com o valor 0
[ ! -e $tmp_file ] && echo 0 > $tmp_file

# Percorrendo a quantidade de itens na lista de IPs
for i in $(seq 0 $ip_counter)
do
# Verificando qual o valor setado no arquivo temporário
counter=$(cat $tmp_file)

# Se o valor do contador for igual a quantidade de itens na lista de IPs,
# zera o arquivo temporário, caso contrário grava o valor atual da execução
# no arquivo temporário. Sendo que o valor da execução é referente à posição do IP na lista.
if [ $counter -eq $ip_counter ]; then
echo 0 > $tmp_file
else
echo $i > $tmp_file
fi

# Imprimie na tela o valor do IP de acordo com o sua posição
echo ${ip_list[i]}
done



3. Re: Troca de IP Automatizado

Jones Neves
n3v3s

(usa Debian)

Enviado em 28/11/2014 - 07:28h

No caso o script já vai fazer as alterações em /etc/network/interfaces, mais ai a cada rodada vai radar todos esses ips? Digamos que eu faço um agendamento a cada
20 min, dai ela vai rodar os quatro de uma só vez, e nisso a cada meia hora irá ter um diferente, é isso?

Valeu pela atenção meu camarada.


4. Re: Troca de IP Automatizado

Phillipe Smith
smithux

(usa Arch Linux)

Enviado em 28/11/2014 - 09:28h

n3v3s escreveu:

No caso o script já vai fazer as alterações em /etc/network/interfaces, mais ai a cada rodada vai radar todos esses ips? Digamos que eu faço um agendamento a cada
20 min, dai ela vai rodar os quatro de uma só vez, e nisso a cada meia hora irá ter um diferente, é isso?

Valeu pela atenção meu camarada.


Então meu velho, o script deve ser salvo em algum arquivo e depois referenciado no agendamento do Cron.
Só fi um exemplo de script, ele não está alterando nada, só dando um print na lista de IPs.
A ideia é agendá-lo e, a cada 20 minutos, por exemplo, ele irá dar um print em um ip diferente da lista, seguindo a ordem.
Pra alterar o /etc/network/interfaces é necessário adaptá-lo para tal tarefa.




5. Re: Troca de IP Automatizado

Jones Neves
n3v3s

(usa Debian)

Enviado em 28/11/2014 - 11:33h

Então, mais é justamente isso que preciso, ele precisa fazer uma alteração na placa de rede, ou seja, a cada vinte minutos o ip de saída esteja diferente.
Tem como fazer, vc pode fazer essa adaptação nele?


6. Re: Troca de IP Automatizado

Phillipe Smith
smithux

(usa Arch Linux)

Enviado em 28/11/2014 - 16:24h

n3v3s escreveu:

Então, mais é justamente isso que preciso, ele precisa fazer uma alteração na placa de rede, ou seja, a cada vinte minutos o ip de saída esteja diferente.
Tem como fazer, vc pode fazer essa adaptação nele?


Tem como sim.
Basta tu remover a linha onde tem echo ${ip_list[i]} e adicionar:


ip=${ip_list[i]}
sed -i -r "s/(address).*/\1 $ip/" /etc/network/interfaces


Só faça um backup do seu arquivo de interfaces antes de rodar para evitar problemas.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts