+ Responder ao Tópico



  1. #1

    Question Script DynDns não funciona !!!

    Olá galera do Under-linux !

    Criei um script no meu mikrotik que encontrei no site mas ele não funciona no meu mikrotik, nem ao menos starta !

    Criei no Gerenciador de Tarefas (Scheduler) o seguinte comando para startar o script:

    /system script run dyndns

    a regra no Scheduler starta normalmente, mas não executa o script nem ao menos ele starta.

    Segue abaixo o Script dyndns que coloquei no mikrotik: (Site = DynDNS -- Dynamic DNS, E-Mail Delivery and Other Services)

    :log info "DDNS: Begin"

    :global ddnsuser "usuario"
    :global ddnspass "senha"
    :global ddnshost "meu.dominio.com"

    :global ddnssystem ("mt-" . [/system package get [/system package find name=system] version] )

    :foreach int in=[/ip route find dst-address=0.0.0.0/0 active=yes ] do={
    :if ([:typeof [/ip route get $int routing-mark ]] = nothing ) do={
    :global ddnsinterface [/ip route get $int interface]
    }
    }

    :global ddnsip [ /ip address get [/ip address find interface=$ddnsinterface] address ]

    :if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip 0.0.0.0/0 }

    :if ([ :typeof $ddnsip ] = nil ) do={

    :log info ("DDNS: No ip address present on " . $ddnsinterface . ", please check.")

    } else={

    :if ($ddnsip != $ddnslastip) do={

    :log info "DDNS: Sending UPDATE!"
    :log info [ :put [/tool dns-update name=$ddnshost address=[:pick $ddnsip 0 [:find $ddnsip "/"] ] key-name=$ddnsuser key=$ddnspass ] ]
    :global ddnslastip $ddnsip

    } else={

    }

    }


    Uma abraço!

  2. #2

    Padrão

    kd o resto do script amigao ?

    :global ddns-user "xxx"
    :global ddns-pass "xxx"
    :global ddns-host "xxx"
    :global ddns-interface "xxx"

    :global ddns-ip [ /ip address get [/ip address find interface=$ddns-interface] address ]

    :if ([ :typeof $ddns-lastip ] = nil ) do={ :global ddns-lastip 0.0.0.0/0 }

    :if ([ :typeof $ddns-ip ] = nil ) do={

    :log info ("DDNS: No ip address present on " . $ddns-interface . ", please check.")

    } else={

    :if ($ddns-ip != $ddns-lastip) do={

    :log info [ /tool dns-update name=$ddns-host address=[ick $ddns-ip 0 [:find $ddns-ip "/"] ] key-name=$ddns-user key=$ddns-pass ]
    :global ddns-lastip $ddns-ip

    } else={


    }

    }

    obs.: onde tem essa carinha rindo eh "dois pontos p"
    so mais 1 coisa eu nao testei com dyndns so com changeip
    Última edição por masterbeto; 26-10-2007 às 20:49.

  3. #3

    Exclamation

    beto,

    mesmo assim nao funcionou.

    qual a placa interface que se coloca no campo :global ddns-interface "xxx" ?

    uso o mikrotik como roteador pppoe do adsl.

    tenho as interfaces:

    REDE WIRELESS = fornece internet à rede.
    LINK = busca internet no adsl.
    ROUTER = configuração do pppoe. (nao é placa de rede)

    Abraço.

  4. #4

    Padrão

    se vc usa o modem adsl em modo bridge poe a interface pppoe q disca pra conectar, se vc usa em modo router poe a interface q sai pro modem adsl

  5. #5

    Unhappy

    blza, coloquei aki e até mesmo criei uma conta no Changeip, mas ainda nao funciona.

    A questão é:

    o Script não está nem rodando no mikrotik, ele está parado.

    Name: changeip
    Owner: admin
    Last Time Started: "nada"
    Run Count: 0

    Quando clico em Run Script, é a mesma coisa que não fazer nada.

    Não sei o que há.

    Dá uma olhada em como vc configurou o seu no changeip, e me passa, passo a passo.

    valeu...

  6. #6

    Exclamation

    Descobri pq nao roda...

    Não tenho instalado as ferramentas avançadas..

    Como faço para instalar somente elas?

  7. #7

    Smile Changeip

    Olá, galera eu sofri até descobrir este aki !!!

    1º vai no site faça o cadastro link Enhanced Dynamic DNS Solutions

    system/script
    adiciona pelo winbox

    /tool dns-update name=DOMINIO ESCOLHIDO.changeip.org address=127.0.0.255 key-name=USUARIO DO SITE key="SENHA DO SITE"

    PRONTO SO CRIAR O AGENDAMENTO RODAR O SCRIPT

    system / schedule

  8. #8

    Lightbulb

    Funcionou !!!!!!!!!!!!!!!!!!!!!

    O script abaixo roda o domínio do site Enhanced Dynamic DNS Solutions .

    :global ddnsuser "YOURUSERID"
    :global ddnspass "YOURPASSWORD"
    :global ddnshost "YOUR.HOST.NAME.HERE"

    :global ddnssystem ("mt-" . [/system package get [/system package find name=system] version] )

    :foreach int in=[/ip route find dst-address=0.0.0.0/0 active=yes ] do={
    :if ([:typeof [/ip route get $int routing-mark ]] = nothing ) do={
    :global ddnsinterface [/ip route get $int interface]
    }
    }

    :global ddnsip [ /ip address get [/ip address find interface=$ddnsinterface] address ]

    :if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip 0.0.0.0/0 }

    :if ([ :typeof $ddnsip ] = nil ) do={

    :log info ("DDNS: No ip address present on " . $ddnsinterface . ", please check.")

    } else={

    :if ($ddnsip != $ddnslastip) do={

    :log info "DDNS: Sending UPDATE!"
    :log info [ :put [/tool dns-update name=$ddnshost address=[:pick $ddnsip 0 [:find $ddnsip "/"] ] key-name=$ddnsuser key=$ddnspass ] ]
    :global ddnslastip $ddnsip

    } else={

    }

    }



    É somente criar o script e depois o agendamento da execução no Scheduler:

    /system script run "NOME DADO AO SCRIPT"

    Falou galera, agora é só curtir o acesso remoto a partir de uma rede externa !!!