none
Como trocar automaticamente IPs fixos na placa de rede? RRS feed

  • Pergunta

  • Olá, deu uma olhada no site e achei alguns artigos, mais nada que me atenda

    O cenario é o seguinte

    Tenho um servidor 2003 server com 15 IPs fixos

    Exemplo: xx.xxx.xxx.170 à xx.xxx.xxx.185

    Hoje de tempos em tempos tenho a necessidade de trocar estes ips, faço manualmete nas configurações da placa de rede,

    Preciso de um script que faça esta troca automatica de tempos em tempos em looping

    Desde ja agradeço a atenção de vocês

    Ramiro Prestes

    domingo, 26 de junho de 2011 14:07

Respostas

  • Ramiro,

    O script anterior adiciona todos os IP na placa de rede, isto é, a placa fica com 15 IPs ao mesmo tempo.

    Agora vc postou que quer um revezamento de IPs? Um IP por vez? é isso mesmo?

    Isto é possivel, utilize o script abaixo em um agendamento do windows.

    Mas por curiosidade qual o motivo deste revezamento?

    @ECHO OFF
    REM --- CONFIGURACOES ---
    SET ETH="Local Area Connection"
    SET MASK=255.255.255.0
    SET IP_INICIO=200.0.0
    SET IP_HOST_PRIMEIRO=170
    SET IP_HOST_ULTIMO=185
    
    REM ---------------------
    
    NETSH INTERFACE IP SHOW ADDRESS %ETH% | FIND /I "IP Address" > TEMP.TXT
    
    FOR /F "tokens=4 delims=." %%A IN (TEMP.TXT) DO SET IP_ATUAL=%%A
    
    
    IF %IP_ATUAL% EQU %IP_HOST_ULTIMO% (SET IP_NOVO=%IP_HOST_PRIMEIRO%) ELSE (SET /A IP_NOVO=%IP_ATUAL%+1)
    
    
    
    netsh interface ip set address %ETH% static %IP_INICIO%.%IP_NOVO% %MASK%
    


    Fábio de Paula Junior
    quinta-feira, 30 de junho de 2011 01:39
    Moderador

Todas as Respostas

  • Você pode utilizar o comando NETSH

    Veja este artigo da Microsoft. http://support.microsoft.com/kb/257748/pt-br

    Exemplo (.BAT) para inserir  IPs na placa que tem o nome "Local Area Connection"

    netsh interface ip add address "Local Area Connection" 192.168.0.230 255.255.255.0
    netsh interface ip add address "Local Area Connection" 192.168.0.231 255.255.255.0
    netsh interface ip add address "Local Area Connection" 192.168.0.232 255.255.255.0
    netsh interface ip add address "Local Area Connection" 192.168.0.233 255.255.255.0
    netsh interface ip add address "Local Area Connection" 192.168.0.234 255.255.255.0
    

     

     


    Fábio de Paula Junior
    segunda-feira, 27 de junho de 2011 11:52
    Moderador
  • OK,

    Mas como funcionaria, preciso se possivel me passar de uma forma que se aplique a minha necessidade

    Não querendo abusar de sua boa vontade seria possivel demostrar como este .bat deve ser montado sabendo que tenho interesse de trocar o ip fixo de forma automatica

    Desde ja agradeço seu tempo e atenção

    Ramiro Prestes

     

    segunda-feira, 27 de junho de 2011 15:36
  • Ramiro,

    O script abaixo está quase pronto, vc só precisa substituir algumas informações

    1)Substitua os xx.xxx.xxx pelo endereço correto do IP

    2) substitua "Local Area Connection" pelo nome da interface de rede que vc está alterando (Se não me engano "Local Area connection" é o nome padrão, no windows em portugues "Conexão Local".

    3) Substitua o 255.255.255.0 pela sua máscara de rede

    netsh interface ip set address "Local Area Connection" static xx.xxx.xxx.170 255.255.255.0
    netsh interface ip add address "Local Area Connection" xx.xxx.xxx.171 255.255.255.0
    netsh interface ip add address "Local Area Connection" xx.xxx.xxx.172 255.255.255.0
    netsh interface ip add address "Local Area Connection" xx.xxx.xxx.173 255.255.255.0
    netsh interface ip add address "Local Area Connection" xx.xxx.xxx.174 255.255.255.0
    netsh interface ip add address "Local Area Connection" xx.xxx.xxx.175 255.255.255.0
    netsh interface ip add address "Local Area Connection" xx.xxx.xxx.176 255.255.255.0
    netsh interface ip add address "Local Area Connection" xx.xxx.xxx.177 255.255.255.0
    netsh interface ip add address "Local Area Connection" xx.xxx.xxx.178 255.255.255.0
    netsh interface ip add address "Local Area Connection" xx.xxx.xxx.179 255.255.255.0
    netsh interface ip add address "Local Area Connection" xx.xxx.xxx.180 255.255.255.0
    netsh interface ip add address "Local Area Connection" xx.xxx.xxx.181 255.255.255.0
    netsh interface ip add address "Local Area Connection" xx.xxx.xxx.182 255.255.255.0
    netsh interface ip add address "Local Area Connection" xx.xxx.xxx.183 255.255.255.0
    netsh interface ip add address "Local Area Connection" xx.xxx.xxx.184 255.255.255.0
    Inetsh interface ip add address "Local Area Connection" xx.xxx.xxx.185 255.255.255.0
    

    Repare na primeira linha, eu utilizo o IP SET e nas demais IP ADD, traduzindo, na primeira ele limpara as configurações de IP e adiciona um novo IP, nas demais eu apenas adiciono.

    Pra te ajudar mais eu preciso de mais informações, que são as dos item 1,2 e 3. (IP correto, máscara,nome da interface)


    Fábio de Paula Junior
    • Editado Fábio JrModerator terça-feira, 28 de junho de 2011 01:09 Faltou o parametro static na primeira linha
    • Sugerido como Resposta Fábio JrModerator terça-feira, 28 de junho de 2011 18:13
    segunda-feira, 27 de junho de 2011 16:10
    Moderador
  • Respostas

    1) O IP eu posso preencher sem problemas, da forma que vc colocou esta bem clara

    2) Server é o 2003 EN - Local Area Connection

    3) A mascara de rede é com final 247

    Duvidas

    O meu plano é que de tempos em tempos o IP troque de forma automatica

    Com esse script como o IP seria trocado?

    Sabendo que meu ip inicial é EX: 1 e o ultimo 15 o intuito é que ele fique em looping ou seja quando chegar no 15 volte para o 1

    Isso é possivel?

    Obrigado

     

    Isso é possivel? 

     

    Com esse

     

    quarta-feira, 29 de junho de 2011 22:59
  • Ramiro,

    O script anterior adiciona todos os IP na placa de rede, isto é, a placa fica com 15 IPs ao mesmo tempo.

    Agora vc postou que quer um revezamento de IPs? Um IP por vez? é isso mesmo?

    Isto é possivel, utilize o script abaixo em um agendamento do windows.

    Mas por curiosidade qual o motivo deste revezamento?

    @ECHO OFF
    REM --- CONFIGURACOES ---
    SET ETH="Local Area Connection"
    SET MASK=255.255.255.0
    SET IP_INICIO=200.0.0
    SET IP_HOST_PRIMEIRO=170
    SET IP_HOST_ULTIMO=185
    
    REM ---------------------
    
    NETSH INTERFACE IP SHOW ADDRESS %ETH% | FIND /I "IP Address" > TEMP.TXT
    
    FOR /F "tokens=4 delims=." %%A IN (TEMP.TXT) DO SET IP_ATUAL=%%A
    
    
    IF %IP_ATUAL% EQU %IP_HOST_ULTIMO% (SET IP_NOVO=%IP_HOST_PRIMEIRO%) ELSE (SET /A IP_NOVO=%IP_ATUAL%+1)
    
    
    
    netsh interface ip set address %ETH% static %IP_INICIO%.%IP_NOVO% %MASK%
    


    Fábio de Paula Junior
    quinta-feira, 30 de junho de 2011 01:39
    Moderador
  • Legal estamos quase lá,

    Fabio,

    Tenho um servidor que faz pesquisas e posso apenas fazer uma quantidade de consultas por tempo determinado, até ai tudo bem só que descobri uma forma de otimizar meu serviço e isso gerou um transtorno, pois quando eu consulto um volume maior que o "permitido" o sistema bloqueia meu IP

    Devido a esta necessidade contratei um servidor fora do pais e nele posso utilizar quantos IPs eu quiser,

    No cenario atual faço isso manualmente coisa chata pra caramba e os 15 IPs ficam confugurados na minha placa de rede em sequencia o que eu faço removo o Principal o proximo IP se torna o principal e o que removi adiciono novamente e ele vai para o final da fila,

    Po isso preciso de um script que eu consiga colocar todos os IPs num esquema de looping e possa dormir anoite.rs

    Volto a agradecer sua atenção e seu tempo

    Ramiro Prestes

     

    quinta-feira, 30 de junho de 2011 02:08