Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. Boa tarde a todos,

    Pessoal a pedido de um amigo, bolei um sistema de captive portal para envio de aviso aos clientes, o sistema é bem simples o cliente é redirecionado pro servidor web, onde tem a página de aviso, assim que ele é redirecionado o IP dele é inserido em address list que libera o acesso à internet, é possivel derterminar o tempo que o cliente será novamente redirecionado a página de aviso, com o IP adicionado ao address list um outra regra libera o IP do cliente para navegar direto, após 30 segundos na página de aviso ele é redirecionado pra URL que estava tentando acessar através de virtual host do apache e de uma página PHP.

    Bloco de IP dos clientes: 10.10.10.0/24
    IP Servidor WEB: 10.200.29.2
    IP Servidor Proxy: 10.200.29.3

    O servidor Mikrotik possui três interfaces de rede, sendo uma para os clientes, uma para os servidores, uma para o link

    As regras do mikrotik são as seguintes:

    /ip firewall nat
    add chain=dstnat action=accept src-address-list=IP-LIBERADO dst-address-list=SEMPROXY dst-port=80 protocol=tcp comment="SISTEMA DE AVISO"
    add chain=dstnat action=dst-nat to-addresses=10.200.29.3 to-ports=8080 src-address-list=IP-LIBERADO dst-port=80 protocol=tcp
    add chain=dstnat action=dst-nat to-addresses=10.200.29.2 to-ports=80 src-address=10.10.10.0/24 dst-address=!10.200.29.2 dst-port=80 protocol=tcp
    add chain=dstnat action=add-src-to-address-list src-address=10.10.10.0/24 dst-address=10.200.29.2 address-list=IP-LIBERADO address-list-timeout=1h dst-port=80 protocol=tcp

    Configuração do Apache

    <VirtualHost *:80>
    DocumentRoot "/var/www/html/"
    <Directory "/var/www/html/">
    allow from all
    Options +Indexes
    </Directory>
    CheckSpelling On
    Options +FollowSymLinks
    RewriteEngine on
    RewriteCond %{HTTP_HOST} !^10\.200\.29\.2 [NC]
    RewriteCond %{HTTP_HOST} !^$
    RewriteRule ^(.*)$ "http://10.200.29.2:80/index.php?url=%{HTTP_HOST}" [L]
    </VirtualHost>

    Página de aviso index.php

    <html>
    <head>
    <title>AVISO DE MANUTEN&Ccedil;&Atilde;O</title>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <?php
    $url = $_GET['url'];
    echo"<meta http-equiv=\"refresh\" content=\"30;url=http://$url\">";
    ?>

    <style type="text/css">
    <!--
    body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    }
    .destaque {
    font-family: "Trebuchet MS";
    font-weight: bold;
    color: #FF0000;
    font-size: 36px;
    }
    .texto {
    font-family: "Trebuchet MS";
    font-size: 12px;
    }
    #box {
    border: 1px solid #CCCCCC;
    background-color: #F2F2F2;
    }
    -->
    </style>
    </head>

    <body>
    <table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td align="center" valign="middle"><table width="500" border="0" cellpadding="0" cellspacing="0" id="box">
    <tr>
    <td align="center">&nbsp;</td>
    </tr>
    <tr>
    <td align="center"><table width="480" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td align="center" class="destaque">AVISO DE MANUTEN&Ccedil;&Atilde;O</td>
    </tr>
    <tr>
    <td align="center" class="texto"><p><br>
    <strong>Prezado cliente:</strong></p>
    <p align="justify">Estamos efetuando a manuten&ccedil;&atilde;o em nossa rede. Em caso de d&uacute;vidas entre em contato conosco pelo telefone (XX) XXXX-XXXX.</p>
    <p>Agradecemos sua compreen&ccedil;&atilde;o,</p>
    <p><strong>Provedor Banda Larga</strong><br>
    internet via r&aacute;dio 100% Digital<br>
    </p></td>
    </tr>
    </table></td>
    </tr>
    <tr>
    <td align="center">&nbsp;</td>
    </tr>
    </table></td>
    </tr>
    </table>
    </body>
    </html>

    Ae pessoal a dica tae... quem precisa grita

    PS. Ainda esta em testes

    Att..

    Clecio Rodrigo

  2. Sei que o post é bem antigo, mas esta funcionando bem a solução?

    abraços



  3. Pra mim esta redondo a mais de 1 ano heheheh, é claro q é nescessario algumas adaptações.

  4. ressucitação de post, hehe, cara eu preciso mandar um aviso para os clientes, uso autenticação via pppoe.
    pelo que vi em sua regra você deixa esse pool de ip liberado 10.200.29.3, porém eu tenho varios outros ips, pois diferenciamos clientes residenciais e e empresariais, tem alguma ajuda pra mim ?



  5. Existem diversas formas de enviar avisos com PPPoE, utiliza algum sistema administrativo pra gerenciar o seu provedor?






Tópicos Similares

  1. MikroTik - Pagina de Bloqueio com clientes PPPoE
    Por ricardocazati no fórum Redes
    Respostas: 8
    Último Post: 18-06-2014, 15:33
  2. Telas de aviso ao cliente não abrem "erro 404 no found"
    Por marquesjr no fórum Servidores de Rede
    Respostas: 19
    Último Post: 21-01-2014, 13:52
  3. Enviar página de aviso ao cliente, tem como?
    Por faieppi no fórum Redes
    Respostas: 5
    Último Post: 14-11-2007, 08:43
  4. Pagina de Aviso ao Cliente
    Por lioneinformatica no fórum Redes
    Respostas: 3
    Último Post: 01-10-2007, 16:41
  5. Exbir Pagina De Bloqueio Ao Cliente
    Por ADNZ no fórum Redes
    Respostas: 3
    Último Post: 15-09-2007, 20:57

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L