+ Responder ao Tópico



  1. #1

    Padrão uma duvida linux.

    Bom dia galera under!


    gostaria de uma dica dos camaradas ae.

    EX:
    tenho uma rede com um servidor linux e varios computadores clientes,
    uso squid. iptables, etc.. quero que os computadores em 12 e 12h vejam uma pagina no meio da navegação... por apenas 30 segundos,,,,

    pelo que eu vi, no squid o tempo minimo da acl time é 1 minuto....
    se eu fizesse isso com iptables e cron, pelo que eu vi, o prolema tambem seria 1 minuto por causa do cron...

    pensei em fazer uma gabiarra com função shell, filtros, comando date e ipt
    funciona galera? rsrsrsrsr

  2. #2

    Padrão

    atraves do iptables consigo fazer parecido com isso...
    exibir uma pagina 1 vez ou quantas vezes eu quiser a cada segundo, minuto, hora ou dia.
    uso isso para dar tela de aviso aos cliente qdo estou em manutencao.

    acho q atraves do squid tem jeito, mas, a unica vezq tentei algo parecido, nao foi da forma como pretendia.

    mas, se vc quer algo exatamente como vc esta falando... personalizavel...
    tanto os usuarios que receberam, como tbm tempo de aviso, etc e tal...
    vc tera que usar o captive portal.
    eu nunca instalei ele, mas tou pensando em testar...

  3. #3

    Padrão

    Citação Postado originalmente por mascaraapj Ver Post
    atraves do iptables consigo fazer parecido com isso...
    exibir uma pagina 1 vez ou quantas vezes eu quiser a cada segundo, minuto, hora ou dia.
    uso isso para dar tela de aviso aos cliente qdo estou em manutencao.

    acho q atraves do squid tem jeito, mas, a unica vezq tentei algo parecido, nao foi da forma como pretendia.

    mas, se vc quer algo exatamente como vc esta falando... personalizavel...
    tanto os usuarios que receberam, como tbm tempo de aviso, etc e tal...
    vc tera que usar o captive portal.
    eu nunca instalei ele, mas tou pensando em testar...
    obrigado pela ajuda meu bom.
    vou tentar aqui uma gambiarra com shell, ipt e cron.

  4. #4

    Padrão

    bom amigo...
    agora eh tarde, entrei rapidao para dar uma olhada
    mas amanha, posto aqui uma gambiarra que da para fazer com o iptables+apache.
    ai, vc analisa, modifica, e adapta a sua necessidade...
    PS: so nao esquece de depois postar os resultados^^

  5. #5

    Padrão gambiarras...

    gambiarra 1
    ------------------------------------------------
    iptables -t nat -I PREROUTING -s ipcliente -p tcp -m tcp --dport 80 -j DNAT --to-destination ipserver:80

    sleep 30

    iptables -t nat -D PREROUTING -s ipcliente -p tcp -m tcp --dport 80 -j DNAT --to-destination ipserver:80

    fire restart
    ------------------------------------------------
    essa gambiarra 1 nao esta 100% pois dps de 30 segundo o cliente soh volta se teclar crtl+F5...


    gambiarra 2
    ------------------------------------------------
    cat /etc/squid/squid.conf > /etc/squid/squidorigi.conf
    cat /etc/squid/squid_drop.conf > /etc/squid/squid.conf
    squid -k reconfigure
    sleep 30
    cat /etc/squid/squidorigi.conf > /etc/squid/squid.conf
    squid -k reconfigure
    -----------------------------------------------


    essa segunda eh usando acl, substituindo arquivo, e restartando... porem 100% funcional :P
    e gambiarraaa totalllllll! hahahhhaha

    ideias melhores sao bem vindas!!!
    Última edição por alanvictorjp; 04-10-2009 às 17:48.

  6. #6

    Padrão

    vou te deixar minha dica...
    vc podera fazer o direcionamento 1x por hora ou 1x por dia...
    como?

    com o apache devidamente instalado, procure o httpd.conf
    e insira as seguintes linhas:
    </VirtualHost>
    <VirtualHost *:2212>
    ServerAdmin webmaster@localhost
    ServerName vg.farolbr.com
    DocumentRoot /var/www/html/aviso/
    </VirtualHost>
    onde:
    2212 representa a porta que vc ira usar para escutar ao aviso.
    DocumentRoot local onde esta a pagina de avisso...

    apos isso, insira no seu script de firewall:
    iptables -t nat -I PREROUTING -i eth1 -p tcp -d 0/0 -s ipcliente -m limit --limit 1/h -j REDIRECT --to-port 2212

    onde:
    -i ethx - interface de contato com o cliente
    -m limit --limit 1/s - representa 1 aviso por segundo
    -m limit --limit 1/h- 1 aviso por hora
    -m limit --limit 1/d- 1 aviso por dia


    eu uso isso qdo vou dar manutencao (urgencia ou preventiva), ai os cliente nao ficam me ligando.

  7. #7

    Padrão

    obrigado pela dica amigo, vou testar!

    gostaria de saber de um problema q estou passando com isso...


    arquivo squid_manutencao.sh

    #!/bin/bash
    cat /etc/squid/squid_manutencao_bloqueando.conf > /etc/squid/squid.conf
    squid -k reconfigure
    sleep 20
    cat /etc/squid/squid_manutencao_liberando.conf > /etc/squid/squid.conf
    squid -k reconfigure

    quando executo isso na shell, na mao, funciona blzaa!
    mas quando coloco no crontab... nao rola...
    o syslog me diz q executou a coisa...

    Oct 4 22:03:01 proxy /USR/SBIN/CRON[4722]: (alan) CMD (/home/alan/squid_manutencao.sh)
    mas o "bloqueio" nao rola...

    crontab -e
    30 * * * * /home/alan/squid_manutencao.sh

    ou seja, na mao rola de boaa,, mais no cron nao rola...
    ja dei parmissao total ao arquivo...
    ja tentei por assim..
    30 * * * * root /home/alan/squid_manutencao.sh

    sabe me explicar o porque nao ta rolando??

  8. #8

    Padrão

    ja verificou se o arquivo tem permissao necessaria para rodar?

    ops, editando..
    vc disse que ja deu permissao de execucao ao arquivo...
    ja tentou rodar ele na mao, digitando o caminho do script no terminal?

    tente colocar ele no
    # mv /home/alan/squid_manutencao.sh /sbin/squid_manutencao.sh

    dar permissao:
    # chmod +x /sbin/squid_manutencao.sh

    logo depois, faca o teste... no terminal digite o caminho do mesmo:
    # /sbin/squid_manutencao.sh
    Última edição por AndrioPJ; 04-10-2009 às 22:45.

  9. #9

    Padrão

    amigo, ja tentei de tudoooo

    fiz um teste aqui com os comandos do script,,,
    dei uma pesquizada e ve q o cron nao rola com script q tenha saida,,, no meu caso,, nao tem,, soh se for de erro..

    executei sim ele na mao,, no terminal, e rola perfeitamente,,

    o teste q eu fiz foi, apenas o comando.. squid -k reconfigure dentro do squid_manutencao.sh
    e nao rolou....

    fiz outros tipos de testes simples e rolou...

    ou seja,, tem algum problema com o mando squid -k reconfigure no cron...
    alguma luz?

  10. #10

    Padrão

    qual a sua distro?

    pois aqui, acabei de fazer o teste e rodou normalmente...
    #!/bin/bash
    squid -k reconfigure

    exit 0
    Última edição por AndrioPJ; 04-10-2009 às 22:58.

  11. #11

    Padrão

    ola amigo, resolvi o problema,,
    uma coisa tao besta... hehehhe

    apena o patch completo do comando...
    no meu caso... /usr/sbin/squid -k reconfigure

    obrigado pelas dicas

    mas deixo uma ultima pergunta.. heheh
    vc ou alguem sabe dizer se esse procedimento q eu fiz perde performace do servidor ou pode gerar algum problema?

    em relação de estar rodando o comando squid -k reconfigure muitas vezes ao dia...?

  12. #12

    Padrão

    Citação Postado originalmente por mascaraapj Ver Post
    vou te deixar minha dica...
    vc podera fazer o direcionamento 1x por hora ou 1x por dia...
    como?

    com o apache devidamente instalado, procure o httpd.conf
    e insira as seguintes linhas:
    onde:
    2212 representa a porta que vc ira usar para escutar ao aviso.
    DocumentRoot local onde esta a pagina de avisso...

    apos isso, insira no seu script de firewall:
    iptables -t nat -I PREROUTING -i eth1 -p tcp -d 0/0 -s ipcliente -m limit --limit 1/h -j REDIRECT --to-port 2212

    onde:
    -i ethx - interface de contato com o cliente
    -m limit --limit 1/s - representa 1 aviso por segundo
    -m limit --limit 1/h- 1 aviso por hora
    -m limit --limit 1/d- 1 aviso por dia


    eu uso isso qdo vou dar manutencao (urgencia ou preventiva), ai os cliente nao ficam me ligando.
    amigo, tua gambiarra ate funciona, funcionamento igual a minha com iptables,,, ou muito parecida, heheh

    mass.. o problema q eu disse tb existe nessa sua gambi tb..
    vc bloqueia um cliente... e dps remove a regra,, -D...
    o cliente ainda continua com a tela de aviso..
    dps de muito ctrl +F5
    q volta a pagina normal....

    ate agora, a gambiarra melhorzinha q eu fiz foi essa do squid msm...
    o "problema" q nao sei se chega a ser um problema,, eh muitos squid -k reconfigure no sistema... por dia

    algum te uma ideia legal? p sabe me dizer se se existe, algum problema de se dar o comando squid -k reconfigure varias vezes ao diaa..?
    desde ja grato a todos.

  13. #13

    Padrão

    acho q nao tem jeito mesmo...
    a solucao seria um captive portal...

    tava tentando instalar aqui o NoCatAuth
    mas sem sucesso..
    se alguem ai ja instalou.. bem q poderia me dar umas dicas... (peco licenca alanvictorjp, mas acho q ate vc iria gostar de saber ...uesheus)

    tou pensando em colocar ele aqui para 3 coisas:
    tela de avisos: manutencao urgencia, preventiva.
    data comemorativa
    pessoas que nao sao clientes

    nessa ultima, crio uma outra rede, onde os nao cliente irao receber ips de uma determinada faixa... ai redireiciono a primeira pagina dessa faixa de ip para uma tela, onde ira dizer q ele nao eh cliente ainda, para ser cliente entrar em contato, bla bla bla... valores... etc e tal.

  14. #14

    Padrão

    Citação Postado originalmente por mascaraapj Ver Post
    acho q nao tem jeito mesmo...
    a solucao seria um captive portal...

    tava tentando instalar aqui o NoCatAuth
    mas sem sucesso..
    se alguem ai ja instalou.. bem q poderia me dar umas dicas... (peco licenca alanvictorjp, mas acho q ate vc iria gostar de saber ...uesheus)

    tou pensando em colocar ele aqui para 3 coisas:
    tela de avisos: manutencao urgencia, preventiva.
    data comemorativa
    pessoas que nao sao clientes

    nessa ultima, crio uma outra rede, onde os nao cliente irao receber ips de uma determinada faixa... ai redireiciono a primeira pagina dessa faixa de ip para uma tela, onde ira dizer q ele nao eh cliente ainda, para ser cliente entrar em contato, bla bla bla... valores... etc e tal.
    boa amigo, o NoCat é legal, ja instalei, rodei, mas nao curti muito... uesheus uesheus
    minha solução foi:

    #!/bin/bash
    cat /etc/squid/squid_aviso_bloqueando.conf > /etc/squid/squid.conf
    /etc/init.d/squid reload
    sleep 20
    cat /etc/squid/squid_aviso_liberando.conf > /etc/squid/squid.conf
    /etc/init.d/squid reload

    jogo isso no cron pra rodar nos minutos 01,20,45 todo hora todo dia, etc *

    rodando 100%!! ...uesheus

    tambem tem uma solução no meu caso q uso mikrotik com pppoe, da tranquilamente pra criar um hotspot no msm server. soh pra propagandas, etc etc etc..
    mass.. preferi minha gambi ae acima! uesheus
    obrigado pelas dicas e boa sorte ae =]
    flww
    Última edição por alanvictorjp; 15-10-2009 às 04:13.