Pular para o conteúdo

Troca de IP Automatizado

Responder tópico
  • Denunciar
  • Indicar

1. Troca de IP Automatizado

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.

Responder tópico

2. Re: Troca de IP Automatizado

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

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

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

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

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.

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder