+ Responder ao Tópico



  1. #1

    Padrão 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.

  2. #2

    Padrão 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.

  3. #3

    Padrão 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

  4. #4

    Padrão 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

  5. #5

    Padrão Re: como fazer que o cliente em vez de abrir uma pagina da internet abra um avis

    Citação Postado originalmente por KALAMAT

    ErrorDocument 404 http://10.48.88.2:81/

    Amigão esse ip é do cliente ou do servidor Dns?

  6. #6

    Padrão 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???

  7. #7

    Padrão 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]

  8. #8

    Padrão 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