+ Responder ao Tópico



  1. #1

    Padrão script para verificação de ip fixo

    ola bom dia a todos. Eu tenho com a vivo uma conexão gpon com ip fixo via pppoe. Depois de muitos técnicos da vivo irem ao local identificamos que ao passar pela "atualização periódica" que é feita uma vez ao dia, provavelmente para possíveis atualizações de onus, minha conexão pppoe cai e ao conectar novamente pode não pegar o ip correto na primeira tentativa apos a "atualização". A primeira solução que tentei foi adicionar as configurações de ip direto na conexão, mas isto alem de não resolver ainda gerou outro problema, pois quando deveria ocorrer de o pppoe não pegar o ip correto a conexão para. a segunda solução foi criar um script que checa o ip da conexão de tempos em tempos, mas estou esbarrando em um problema no script. não sei porque, mas ao comparar duas variáveis usando "if" se são diferentes "!=" ele executa o "do " mesmo quando elas são iguais. exemplo

    :if ($ippppoeout1 != $defaultippppoeout1) do={
    :log info message="Reiniciando intenface pppoe-out1 para tentar pegar ip correto"

    sera que as variáveis podem ter formatos diferentes? estou obtendo a variavel ippppoeout1 assim:

    :global ippppoeout1 value=[/ip address get [find where interface=pppoe-out1] value-name=address];
    :global ippppoeout1 value=[ick $ippppoeout1 -1 [:find $ippppoeout1 "/" -1] ];

    e estou setando manualmente a variavel defaultippppoeout1 assim:

    :global defautippppoeout1 value=200.200.200.200; (exeplo de ip 200.200.200.200)

    aguem que possa ajudar?

  2. #2

    Padrão Re: script para verificação de ip fixo

    Citação Postado originalmente por leosmendes Ver Post
    ola bom dia a todos. Eu tenho com a vivo uma conexão gpon com ip fixo via pppoe. Depois de muitos técnicos da vivo irem ao local identificamos que ao passar pela "atualização periódica" que é feita uma vez ao dia, provavelmente para possíveis atualizações de onus, minha conexão pppoe cai e ao conectar novamente pode não pegar o ip correto na primeira tentativa apos a "atualização". A primeira solução que tentei foi adicionar as configurações de ip direto na conexão, mas isto alem de não resolver ainda gerou outro problema, pois quando deveria ocorrer de o pppoe não pegar o ip correto a conexão para. a segunda solução foi criar um script que checa o ip da conexão de tempos em tempos, mas estou esbarrando em um problema no script. não sei porque, mas ao comparar duas variáveis usando "if" se são diferentes "!=" ele executa o "do " mesmo quando elas são iguais. exemplo

    :if ($ippppoeout1 != $defaultippppoeout1) do={
    :log info message="Reiniciando intenface pppoe-out1 para tentar pegar ip correto"

    sera que as variáveis podem ter formatos diferentes? estou obtendo a variavel ippppoeout1 assim:

    :global ippppoeout1 value=[/ip address get [find where interface=pppoe-out1] value-name=address];
    :global ippppoeout1 value=[ick $ippppoeout1 -1 [:find $ippppoeout1 "/" -1] ];

    e estou setando manualmente a variavel defaultippppoeout1 assim:

    :global defautippppoeout1 value=200.200.200.200; (exeplo de ip 200.200.200.200)

    aguem que possa ajudar?


    Melhor vc verificar o IP por blocos... Pior que não estou no Pc agora. Vou salvar aqui e amanhã tento te mandar solução.



  3. #3

    Padrão Re: script para verificação de ip fixo

    obrigado pela sua resposta "Leu" mas não entendi seu raciocínio, no meu caso eu recebo apenas um ip por instancia pppoe.

  4. #4

    Padrão Re: script para verificação de ip fixo

    Bom dia,

    Eu até fiz um teste aqui, e funcionou normal.

    Posta o script completo para verificarmos.



  5. #5

    Padrão Re: script para verificação de ip fixo

    ola boa tarde, obrigado pela ajuda, com oparei neste probelma não dei sequencia mas é basicamente isto:

    :global ippppoeout1 value=[/ip address get [find where interface=pppoe-out1] value-name=address];
    :global ippppoeout1 value=[ick $ippppoeout1 -1 [:find $ippppoeout1 "/" -1] ];

    :if ([:len [/file find where name=defautippppoeout1.txt]] < 1 ) do={
    /file print file=defautippppoeout1.txt where name=defautippppoeout1.txt;
    /delay delay-time=2;
    /file set defautippppoeout1.txt contents="200.200.200.200";
    };

    :global defautippppoeout1 value=[/file get [find where name=defautippppoeout1.txt ] value-name=contents];


    :if ($ippppoeout1 != $defaultippppoeout1) do={
    :log info message="Reiniciando intenface pppoe-out1 para tentar pegar ip correto"
    :delay 2
    :log info message="teste ok"

    } else={

    :log info message="interface com ip correto!"

    }

  6. #6

    Padrão

    Bom, no seu script, a única linha que você digitou "default" corretamente foi no na linha do último if rsrsrs


    :if ($ippppoeout1 != $defaultippppoeout1) do={

    Nas outras linhas está tudo escrito "defaut"

    :if ([:len [/file find where name=defautippppoeout1.txt]] < 1 ) do={
    /file print file=defautippppoeout1.txt where name=defautippppoeout1.txt;
    /delay delay-time=2;
    /file set defautippppoeout1.txt contents="200.200.200.200";
    };

    :global defautippppoeout1 value=[/file get [find where name=defautippppoeout1.txt ] value-name=contents];

    :if ($ippppoeout1 != $defaultippppoeout1) do={
    :log info message="Reiniciando intenface pppoe-out1 para tentar pegar ip correto"
    :delay 2
    :log info message="teste ok"
    } else={
    :log info message="interface com ip correto!"
    }



  7. #7

    Padrão Re: script para verificação de ip fixo

    caramba.... vou testar valeu

  8. #8

    Padrão Re: script para verificação de ip fixo

    valeu a força, muito obrigado. tem hora que o problema esta na nossa cara e agente não enxerga.