como fazer que o cliente em vez de abrir uma pagina da internet abra um aviso
temos um servidor wireless, e prescisamos criar uma regras de direcionamento para uma pagina de aviso.
ou seja; o cliente nao pagou, em vez dele acessar a internet, ele acessa uma pagina de aviso "vc ainda nao pagau a messalida, bla,bla,bla, etc,etc".
obs>
> o apache ja esta instalado
> a regra do firewall que eu uso é amarrando a mec
> Ex: # CORNO SEM CHIFRE
-A User -m mac -s 172.16.5.2 --mac 00:00:000:000:00: -J RETURN
# FULANO 01
-A User -m mac -s 172.16.6.2 --mac 00:00:000:000:00: -J RETURN
# FULANO 02
-A User -m mac -s 172.16.7.2 --mac 00:00:000:000:00: -J RETURN
# SICLANO
-A User -m mac -s 172.16.8.2 --mac 00:00:000:000:00: -J RETURN
VAMOS SUPOR QUE O IP 172.16.6.2 NAO PAGOU, coloco uma regra de direcionamento e ele em vez de navegar vai para uma pagina de cobranca.
Re: como fazer que o cliente em vez de abrir uma pagina da internet abra um avis
Prezado amigo,
eu criei uma solução assim para o meu provedor, é simples e não precisa de nenhum programa, apenas configurar o iptables/apache/php.
Vou tentar colocar aqui o passo a passo, caso falte algo, me avise por aqui mesmo.
1) crie no apache (que tem q estar na mesma máquina do firewall) um servidor virtual (no meu caso criei um na porta 81) nesse servidor, configure o erro 404 para desviar para a sua pagina dentro desse apache. Segue o exemplo do httpd.conf (colocar no final do arquivo)
<VirtualHost *:81>
DocumentRoot /var/www/html/aviso
<Directory "/var/www/html/aviso">
allow from all
Options +Indexes
</Directory>
CheckSpelling On
ErrorDocument 404 http://10.48.88.2:81/
</VirtualHost>
2) No seu iptables, abra a porta de 81 no seu servidor local e coloque a seguinte regra para redirecionar os clientes em débito para esse servidor virtual
$IPTABLES -A PREROUTING -t nat -i eth0 -p tcp -s $ADDR --dport 80 -j DNAT --to 10.48.88.2:81
Observe que no meu caso, eu leio um banco de dados e monto o script firewall baseado nas infomações do banco, onde a variável $ADDR contem a informação do banco de dados do ip do cliente em débito.
Essa solução, vai fazer com que somente a porta 80 do seu cliente em debito fique aberta, e quando o mesmo tentar navegar na internet, vai cair no APACHE que esta servindo na porta 81 (atraves do DNAT), assim, o apache vai dar erro, pois seu cliente estará pedindo ao mesmo pra acessar ex: www.uol.com.br, gerando o erro 404, que o apache vai capturar e redirecionar para o servidor virtual *:81, que você pode criar uma página em PHP/html, informando o cliente sobre o debito.
Re: como fazer que o cliente em vez de abrir uma pagina da internet abra um aviso
KALAMAT
fiz como vc falou no apache.conf, ate ai tudo bem.
mais a regra q vc me deu nao deu certo. "da erro"
erro "-t"
erro "$ADDR"
erro "80"
no squid eu uso a regra assim:
-A PREROUTING -p TCP --dport 80 -j REDIRECT --to-port 3128
a minha rede de internet eu uso tres:
eth0 "rede1 interna"
eth1 "rede externa - link da telemar"
eth2 " rede2 interna"
obrigado
soares
Re: como fazer que o cliente em vez de abrir uma pagina da internet abra um avis
ai nada
foi mal ai em cima, o arquivo que coloquei as regras foi no http.com
mais no iptables quando dou um restast da erro nas regras.
aguado a ajuda de vcs
Re: como fazer que o cliente em vez de abrir uma pagina da internet abra um avis
Citação:
Postado originalmente por KALAMAT
Amigão esse ip é do cliente ou do servidor Dns?
Re: como fazer que o cliente em vez de abrir uma pagina da internet abra um aviso
cara amigo agradeço pela ajuda
mais o problema é o seguinte.
flushig all current rules and user defined chains ( OK )
flushig all current rules and user defined chains ( OK )
Applying iptables firewall rules: ( Ok )
iptables -restore v1.2.7a: line 13 seems to have a -t table option
try ' iptables -restore -h ' or ' iptables-restore --help' for more information
(FALHOU)
quando eu tiro o -t e coloco -d
E dou um restart aparece outro erro:
flushig all current rules and user defined chains ( OK )
flushig all current rules and user defined chains ( OK )
Applying iptables firewall rules: ( Ok )
iptables -restore v1.2.7a: line 13 seems to have a $ADDR table option
try ' iptables -restore -h ' or ' iptables-restore --help' for more information
(FALHOU)
o que sera que esta errado???
Re: como fazer que o cliente em vez de abrir uma pagina da internet abra um avis
Amigo,
me adicione no icq e/ou msn para conversarmos, visto que vc esta com muitas duvidas e na verdade já não sei nem por onde começar a resolve-las.
abraços.
ICQ: 72454817
MSN: [email protected]
Re: como fazer que o cliente em vez de abrir uma pagina da internet abra um avis
certo add vc no msn
mais vamos aqui por detales
sou novo no ramos estou a 1 anos no ramos apenas.
eu uso o CL9
editei no aquivo http.conf e tudo ok la
mais a regras que estou colocando no iptables nao da dando certo.
$IPTABLES -A PREROUTING -t nat -i eth1 -p tcp -s $ADDR --dport 80 -j DNAT --to 172.16.5.1:81
eth1 e 172.16.5.1
nao sei porque.
todas as regras nao era para fucionar em todos iptables? seja qual for a distribuição?
eu uso o restaste altomatico para eu nao ter que derrubar todo os clientes na ora de fazer uma mudança no iptables