+ Responder ao Tópico



  1. #1

    Padrão Comunicação entre PHP e Mikrotik

    Pessoal acho que algum de vocês, desenvolveu algum tipo de sistema de gerenciamento de provedores wireless.

    Eu fiz um pra um provedor de minha cidade e percebi que seria muito chato estar bloqueando um cliente através do winbox e pensei em fazer estes bloqueios através de meu próprio programa fazendo com que ele se interligue com o mikrotik, fazendo alterações no firewall ou access list de uma placa wireless.

    Minha pergunta é:

    Alguém sabe como eu fasso pra fazer está comunicação entre mikrotik e PHP?

  2. #2

    Padrão

    talvez via SNMP (comunity write)... tb tenho interesse em saber.. unico gerenciamento que vi ... foi via snmp ..

  3. #3

    Padrão

    Citação Postado originalmente por alexandrecorrea Ver Post
    talvez via SNMP (comunity write)... tb tenho interesse em saber.. unico gerenciamento que vi ... foi via snmp ..
    Mas você ja usou o SNMP?

    De que forma?

    Através de que?

    Desde já agradeço.

  4. #4

    Padrão

    Ola amigo...

    tem um post antigo de um amigo que postou um script de telnet para php... ou seja... vc envia o comando que quiser pro mikrotik atraves do telnet.

    Abracos.
    Glauber Mattar

  5. #5

    Padrão

    Citação Postado originalmente por AirKing Ver Post
    Ola amigo...

    tem um post antigo de um amigo que postou um script de telnet para php... ou seja... vc envia o comando que quiser pro mikrotik atraves do telnet.

    Abracos.
    Glauber Mattar
    BLZ tudo bem?

    Será que você poderia postar o link para este post?

    De qualquer forma obrigado.

  6. #6

    Padrão

    MikroTik RouterOS • View topic - [CONTRIB] ssh perl script - automate batch commands *UPDATED

    Esse eh um script para usar ssh pelo perl... mas eu me lembro que tambem tinha um em php para uso do telnet... soh nao encontrei ainda... se encontrar posto aqui..

    Abracos.
    AirKing

  7. #7

    Padrão

    ops..nao sei se por snmp funga..mas por telnet sim pq uso aqui...

    procura por PHP Telnet...lah tem explicado inclusive como fazer...

    ae é soh implementar o código no php pra conectar via telnet no mt e fazer as alterações.,..ou ainda pode usar hotspot e fazer o mesmo comunicar com banco de dados radius...onde é muito fácil fazer um admin...

    ok...qq poste ae...

  8. #8

    Padrão

    oi ...

    estou tentando fazer a mesma coisa que o amigo ... ja consegui fazer o php executar um comando no mikrotik , so que tem algums problemas ...

    deixa eu tentar explicar como eu fiz ...

    criei uma chave DSA mandei pro MK e inportei a chave de modo que agora tenho acesso ao MK sem a utilização de senha ... ai da minha maquina executo o seguinte comando:

    ssh admin@IP_DO_MK "ip firewall filter print"

    Retorna bonitinho ....

    agora vem o php ...

    pra testar pus esse codigo:

    <?php
    echo '<pre>';
    $comando = system('sudo ssh usuario@IP_DO_MIKROTIK "ip firewall filter print" ', $retval);
    ?>

    isso executa o comando remoto e retorna o resultado ...

    mas ai vem meu problema ...

    consigo adicionar regras .... mas nao consigo editar .. desabilitar ou mesmo remover uma regra ...

    descobri que ao me logar via ssh no MK e executar por exemplor "ip firewall filter disable 1" ele nao reconhece o numero da regra
    e pede pra dar um "print" antes ...

    item number must be assigned by a print command
    use print command before using an item number in a command

    somente apos " ip firewall filter print" eu posso executar "ip firewall filter disable 1" .... sendo assim acredito que ja descobri o pq dele nao desabilitar quando executo o comando da minha maquina linux .... ( ssh admin@IP_DO_MK '/ ip firewall filter disable 1' ) ai vem a pergunta ... como digitar comandos em sequencia no MK ? no linux uso "&&" para informar que um segundo comando deve ser executado se o primeiro nao retornar erro ... mas no MK aparentemente nao funciona ..... alguem sabe como resolver isso ou tem uma forma mais facil de fazer a mesma coisa ?

  9. #9

    Padrão

    tenta dar uma olhada na biblioteca CURL ...

  10. #10

    Padrão

    Citação Postado originalmente por powerbylinux Ver Post
    oi ...

    estou tentando fazer a mesma coisa que o amigo ... ja consegui fazer o php executar um comando no mikrotik , so que tem algums problemas ...

    deixa eu tentar explicar como eu fiz ...

    criei uma chave DSA mandei pro MK e inportei a chave de modo que agora tenho acesso ao MK sem a utilização de senha ... ai da minha maquina executo o seguinte comando:

    ssh admin@IP_DO_MK "ip firewall filter print"

    Retorna bonitinho ....

    agora vem o php ...

    pra testar pus esse codigo:

    <?php
    echo '<pre>';
    $comando = system('sudo ssh usuario@IP_DO_MIKROTIK "ip firewall filter print" ', $retval);
    ?>

    isso executa o comando remoto e retorna o resultado ...

    mas ai vem meu problema ...

    consigo adicionar regras .... mas nao consigo editar .. desabilitar ou mesmo remover uma regra ...

    descobri que ao me logar via ssh no MK e executar por exemplor "ip firewall filter disable 1" ele nao reconhece o numero da regra
    e pede pra dar um "print" antes ...

    item number must be assigned by a print command
    use print command before using an item number in a command

    somente apos " ip firewall filter print" eu posso executar "ip firewall filter disable 1" .... sendo assim acredito que ja descobri o pq dele nao desabilitar quando executo o comando da minha maquina linux .... ( ssh admin@IP_DO_MK '/ ip firewall filter disable 1' ) ai vem a pergunta ... como digitar comandos em sequencia no MK ? no linux uso "&&" para informar que um segundo comando deve ser executado se o primeiro nao retornar erro ... mas no MK aparentemente nao funciona ..... alguem sabe como resolver isso ou tem uma forma mais facil de fazer a mesma coisa ?
    tenta usar o comando find para axar as regras que voce quer
    para deletalas.
    Mas soh vai funcionar para regras que vc pode dar nome

    =]

  11. #11

    Padrão

    nao entendi ... poderia me dar um exemplo ? pq nao entendo como vou usar o find pra achar a regra

  12. #12

    Padrão

    Citação Postado originalmente por powerbylinux Ver Post
    nao entendi ... poderia me dar um exemplo ? pq nao entendo como vou usar o find pra achar a regra
    O sigocio eh o neguinte

    Tenho aqui no meu provedor uma regrinha que faz a abilitacao e desabilitacao do bloqueio do ares

    /ip firewall filter disable [/ip firewall filter find p2p=warez

    eu uso o findi pra procura as regras que tem o protocolo p2p=warez
    depois que o find axa as regras ele joga pra desabilita

    Comprende??

    Sendo q na tabela ip firewall filter tenho uma regra lah dizendo o seguinte

    chain=forward p2p=warez action=drop

    =]

    qualquer coisa xama ai

    Abraco

  13. #13

    Padrão

    Citação Postado originalmente por powerbylinux Ver Post
    nao entendi ... poderia me dar um exemplo ? pq nao entendo como vou usar o find pra achar a regra
    kra
    fiz uns testes aki
    e funciono certinho

    soh implementei a regra que vc tinha cirado

    <?php
    echo '<pre>';
    $comando = system('sudo ssh [email protected] "/ip firewall filter disable [/ip firewall filter find p2p=warez" ', $retval);
    ?>

    A soh uma coisinha
    No meu mikrotik eu criei uma chave ssh pra acessa sem senha

    daew funciona legal

    Desabilita a Regra que tem no p2p o procolo = warez

    Xou neh

    Abraco
    Última edição por hyperpotato; 08-11-2007 às 10:15. Razão: esqueci de uma coisa ehhehe

  14. #14

    Padrão

    galera to precisando entender isso ae tb, mas to meio confuso aqui...como acessar sem senha ? vamos devagar pq ae pra enviar comandos posso ajudar bastante.

  15. #15

    Padrão

    Citação Postado originalmente por romeubisso Ver Post
    galera to precisando entender isso ae tb, mas to meio confuso aqui...como acessar sem senha ? vamos devagar pq ae pra enviar comandos posso ajudar bastante.
    Soh faze um ssh key na tua makina linux
    e importa no MK

    Vlw

  16. #16

    Padrão

    agora to meio enrolado pra tentar resolver isso ae, mas o seguinte, para os interresados eu to com um sistema completo para provedor em php, ja esta quase 100% traduzido para aqueles que ja conhecem é aquele sistema ao qual foi citado aqui no under em fazer a traduçao e nunca saiu nada, resolvi eu mesmo instalar traduzir e por pra rodar, to usando aqui no meu provedor com media 350 clientes ta rodando blz, vou deixar disponivel pro pessoal aqui ja traduzido bunitinho so falta mesmo a integraçao dele com o mk resolvendo isso o pessoal aqui ja fica feliz :->

  17. #17
    Moderador Avatar de Bruno
    Ingresso
    Nov 2002
    Localização
    Guarapuava-PR
    Posts
    4.181
    Posts de Blog
    1

    Padrão

    Citação Postado originalmente por hyperpotato Ver Post
    Soh faze um ssh key na tua makina linux
    e importa no MK

    Vlw
    amigo ta gerar a chave é trankilo mais importa a onde no mk ???

  18. #18
    Moderador Avatar de Bruno
    Ingresso
    Nov 2002
    Localização
    Guarapuava-PR
    Posts
    4.181
    Posts de Blog
    1

    Padrão

    desculpa ai eu estava procurando no google como chave ai coloquei key e consegui encontrar
    Use SSH to execute commands (DSA key login - MikroTik Wiki)

  19. #19

    Padrão

    ja consegui resolver tudo, integracao do mk com php e tudo mais adiciona clientes no mk blzinha so falta mesmo tempo pra programar e por pra funcionar o sistema, ele esta completo traduzido integrado falta so mesmo umas modificacoes basicas que estou sem tempo de resolver, se tiver algum programador ae interresado.

  20. #20
    Moderador Avatar de Bruno
    Ingresso
    Nov 2002
    Localização
    Guarapuava-PR
    Posts
    4.181
    Posts de Blog
    1

    Padrão

    pessoal me da uma formça aki

    quando eu tento pegar um valor da variavel naum da certo
    ex:
    <?
    $mac= "00:11:11:23:22:22";
    exec('sudo ssh -p22 [email protected] "interface wireless access-list add mac-address=$mac forwarding=no interface=Foxbyte6"');
    ?>
    ele naum vai
    porem se eu usar
    <?
    $mac= "00:11:11:23:22:22";
    exec('sudo ssh -p22 [email protected] "interface wireless access-list add mac-address=00:11:11:23:22:22 forwarding=no interface=Foxbyte6"');
    ?>
    ele funciona perfeito alguem do php ai pra me dar uma força ???