Captive Portal - Enviando página de aviso aos clientes PPPoE/HotSpot
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ÇÃ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"> </td>
</tr>
<tr>
<td align="center"><table width="480" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" class="destaque">AVISO DE MANUTENÇÃO</td>
</tr>
<tr>
<td align="center" class="texto"><p><br>
<strong>Prezado cliente:</strong></p>
<p align="justify">Estamos efetuando a manutenção em nossa rede. Em caso de dúvidas entre em contato conosco pelo telefone (XX) XXXX-XXXX.</p>
<p>Agradecemos sua compreenção,</p>
<p><strong>Provedor Banda Larga</strong><br>
internet via rádio 100% Digital<br>
</p></td>
</tr>
</table></td>
</tr>
<tr>
<td align="center"> </td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
Ae pessoal a dica tae... quem precisa grita
PS. Ainda esta em testes
Att..
Clecio Rodrigo
Re: Captive Portal - Enviando página de aviso aos clientes PPPoE/HotSpot
Sei que o post é bem antigo, mas esta funcionando bem a solução?
abraços
Re: Captive Portal - Enviando página de aviso aos clientes PPPoE/HotSpot
Pra mim esta redondo a mais de 1 ano heheheh, é claro q é nescessario algumas adaptações.
Re: Captive Portal - Enviando página de aviso aos clientes PPPoE/HotSpot
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 ?
Re: Captive Portal - Enviando página de aviso aos clientes PPPoE/HotSpot
Existem diversas formas de enviar avisos com PPPoE, utiliza algum sistema administrativo pra gerenciar o seu provedor?