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=[:pick $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?
Re: script para verificação de ip fixo
Citação:
Postado originalmente por
leosmendes
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=[:pick $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.
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.
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.
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=[:pick $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!"
}
Re: script para verificação de ip fixo
caramba.... vou testar valeu
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.