Script - Atualiza VPN (DDNS, NO-IP, DynDNS)

Boa tarde,


Estou com o seguinte problema, tenho uma VPN entre dois estabelecimentos, mas eles tem IP DINAMICO, entao pensei em amarrar por DDNS, e fiz, ele comunica, só que quando atualiza o IP ele desconecta, então montei um script para reconectar, só que gostaria de deixa-lo mais inteligente, segue abaixo os scripts, me ajudem por gentileza.

----------------------------------

SCRIPT QUE ESTA RODANDO HOJE

:local novoip [:resolve servidorvpn.ddns.ms];
:interface pptp-client set numbers=interface_vpn connect-to=$novip
:log info "NOVO IP DA VPN: $novoip"

#FIM

Prós: Adcionado ao agendamento, ele reconecta sem problemas, então enquanto o servidor da VPN tiver o IP atualiznado ele reconecta. No outro lado o servidor tem de estar enviando o IP da interface pro seu provedor de DNS, tem scripts na internet pra isso.

Contras: Como agendei pra reconectar de  1 em 1 minuto causa um baita lag, o sistema trava, por que a vpn reconectou etc...

Solução: Montar um script que use IF e ELSE para enquanto o IP da VPN for igual o fornecido pelo servidor, ele não reconecta, quando ele ver que o IP for diferente ai sim ele reconecta, desta forma a rede se mantem conectada o tempo que for possivel.

Segue o que estava montando:

SCRIPT QUE ESTOU MONTANDO E PEDINDO AJUDA PRA TERMINAR

:global vpnold [:ip address get [:ip address find interface=vpn_01] address ]
:global vpnnew [:resolve servidorvpn.ddns.ms]
:if ($vpnold != $vpnnew) do={
    :log info "VPN: Atualizando IP da VPN!";
    :interface pptp-client set numbers=vpn_01 connect-to=$vpnnew disable=no;
    :log info "VPN: Atualizado com sucesso: $vpnnew"
    }
  else={
    :log info "VPN: Nao Necessita Ser Alterado."
       }

# FIM DO SCRIPT

Ajudem ai, Vlw!

Cleverson Pompeu

Para adicionar comentários, você deve ser membro de MK-AUTH.

Join MK-AUTH

Enviar-me um email quando as pessoas responderem –

Respostas

  • amigo utilizo esse script e ele consegue resolver a questao do ip ser dinamico
    eu mando um ping para um ip local , se a vpn esta conecta ele responde o ping senao ele resolve o ddns e altera na vpn coloquei esse script para rodar de 5 em 5 minutos


    :if ([/ping 192.168.1.1 count=15 size=28] < 10) do={:local ipteste [:resolve internet.ddns.info] ;/interface pptp-client set pptp-webconnect1 connect-to=$ipteste}
  • Simão, perfeito! rsrs na real trabalhei na mesma linha de raciocínio veja,  rsrsrs, interessante como pensamos igual! rsrs. No caso considerei se o status da interface está Running, se nao ele reconecta =)

    :global vpnnew [:resolve dinizrj001.ddns.ms]
    :if ([/interface get vpn_01 value-name=running]) do={
        :log info "VPN: Nao Necessita Ser Alterado."
        }
        }else={
        :log info "VPN: Atualizando IP da VPN!";
        :interface pptp-client set numbers=vpn_01 connect-to=$vpnnew disable=no;
        :log info "VPN: Atualizado com sucesso: $vpnnew"
           }
        }
    # FIM DO SCRIPT

  • vc ainda pode melhorar esse script adicoonando para ele aparecer no log , desse jeito esta me atendendo ja faz 1 ano .
    faz um teste e me fala
    flw
  • Valeu parceiro, eu gostei do teu script! Simpes e perfeito, vou dar uma mexidinha e posto aqui os resultados, abraços!

This reply was deleted.