Página 1 de 4 1234 ÚltimoÚltimo
+ Responder ao Tópico



  1. Fiquei alguns dias procurando alguma solução para amarrar o ip e o mac para que os clientes não ficassem trocando, a maioria das soluções era com iptables e tinha que mudar o meu firewall todo, então comecei a procurar uma forma de fazer isso com o próprio squid, e descobri uma forma, que faz com que o cliente só possa usar o ip fornecido pelo provedor, caso ele troque o ip, quando ele for navegar recebe uma mensagem do próprio squid de acesso bloqueado.

    vamos então ao squid.conf

    Bom baseado que vc ja possua seu squid funcionando e tudo mais estando ok, adiocione as seguintes regras acl no seu squid.conf

    Eu uso a categoria de rede 10.0.0.0 mais nada impede que se use 172.16.0.0 ou 192.168.0.0

    acl cli_ip01 src 10.0.1.2 ## CLIENTE 1
    acl cl_mac01 arp FF:FF:FF:FF:FF:FF

    acl cli_ip02 src 10.0.2.2 ## CLIENTE 2
    acl cli_ip02 src 10.0.2.3
    acl cl_mac02 arp EE:EE:EE:EE:EE:EE
    acl cl_mac02 arp DD:CD:CD:CD:CD:CD

    acl cli_ip03 src 10.0.3.2 ## CLIENTE 3
    acl cli_ip03 src 10.0.3.3
    acl cli_ip03 src 10.0.3.4
    acl cl_mac03 arp CC:CC:CC:CC:CC:CC

    ## no primeiro cliente é criada uma acl para o ip dele e para o mac da placa ou ap
    ## dele.
    ## no segundo caso o cliente possui duas placas ou aps e dois ips, e no terceiro
    ## caso o cliente possui um ap e nesse ap tem 3 computadores ligados nele, nesse
    ## caso só o mac do ap que é fornecido, pois quando o ap esta em modo client,
    ## todos os macs atrás dele não aparecem no servidor, então basta colocar o
    ## mac do ap e liberar os ips.

    ## agora que vem a regra que libera os ips e macs.

    http_access allow cli_ip01 cl_mac01
    http_access allow cli_ip02 cl_mac02
    http_access allow cli_ip03 cl_mac03

    ## como vc criou uma acl para cada cliente, essa acl fica conectada com a outra
    ## acl com o mac, pois vc liberou o acesso para o cliente1 e mac1 e assim
    ## sucessivamente.
    ## No cliente 2 e 3 temos acl´s que repetem o nome, mais não é erro não, o squid
    ## funciona assim : cada acl com o mesmo nome é como se fosse o mesmo arquivo
    ## com varias linhas.
    ## então no caso do cliente 2 ele vai liberar o ip 10.0.2.2 e 10.0.2.3 para somente
    ## os macs EE:EE:EE:EE:EE:EE e o mac DD:CD:CD:CD:CD:CD
    ## e no caso do cliente 3 ele vai liberar 3 ips para o mesmo mac.

    qualquer mac que não esteja cadastrado, não vai navegar pois não vai possuir nenhuma acl direcionando para ele, e se algum cliente que possui mac cadastrado trocar o ip, não vai conseguir navegar pois para isso precisa estar com o mac e o ip na mesma regra do http_access.

    Esse é o meu primeiro post.

    Espero que ajude alguem.
    Última edição por Gbytes; 03-06-2009 às 17:34.

  2. amigo, parabens pelo post, me ajudara em muito numa pequena rede aqui, portanto em uma grande aplicação o squid.conf ficara enorme, nao teria como amenizar através de um arquivo onde conteria o mac e o ip, vejo problema somente em o squid entender a situação...

    qual sua sujestão?



  3. Então Eder, o problema é justamente esse, o arquivo do squid.conf em uma rede muito grande tbem ficaria enorme, essa solução é boa somente com redes pequenas, no meu caso aqui tenho 100 clientes cadastrados e funciona bem, mais tive de criar uma acl para cada cliente e informar o mac de cada um e criar uma http_access para cada um tbem, fica ai para os colegas do forum a idéia de aperfeiçoar o sistema.


  4. bom... podera ajudar mtos, eh sempre bom ver quem esta disposto a ajudar...

    porem, o squid eh um dos maiores consumidor de memoria na maquina.
    alem do mais.. o cliente continuaria tendo acesso a msn, skype, ftp, https, e outros que nao passam pelo squid.
    entao, na minha opiniao, nao aconselho a usa-lo para tal fim.

    porem, para nao deixar a comunidade na mao... deixarei aqui minha dica:

    1> CONFIGURACAO DO DHCP
    deixaremos o dhcp configurado para somente enviar ip para as maquinas cadastradas...
    facilitando a administrando de permissao de acesso as maquinas cadastradas...

    o dhcpd ficaria mais ou menos assim:
    #dhcpd conf
    ddns-update-style none;
    default-lease-time 21600;
    max-lease-time 43200;

    authoritative;

    subnet 172.168.0.0 netmask 255.255.0.0 {
    option routers 172.167.0.1;
    option domain-name "bosque.lgmtecnologia.com.br";
    option domain-name-servers seus_servidores_dns;
    }


    #andrio/0001
    host andrio {
    hardware ethernet 00:xx:xx:xx:xx:xx;
    fixed-address 172.167.0.9;
    option subnet-mask 255.255.255.0;
    }

    #cliente2/0002
    host cliente2 {
    hardware ethernet 00:yy:yy:yy:yy:yy;
    fixed-address 172.167.0.10;
    option subnet-mask 255.255.255.0;
    }
    2> CONFIGURACAO DO FIREWALL

    A:Criando tabela de clientes> Crie um arquivo na qual contera os dados para administracao dos clientes:
    #touch /etc/bd
    #vim /etc/bd

    exemplo: IP;MAC;NumeroPacote;0;Cliente
    172.167.0.9;00:xx:xx:xx:xx:xx;0;1721670002;andrio
    172.167.0.10;00:yy:yy:yy:yy:yy;0;1721670002;cliente2
    B:Controlando o acesso(iptables)> No seu firewall, adicione as seguintes linhas:

    (no inicio do firewall)
    # Paramentros de controle de acesso
    MACLIST=/etc/bd
    echo " Controle de acesso.....................[ OK ]"
    (Antes do compartilhamento entre as placas)
    # # Controle de ACESSO##
    # Diretivas do BD IP, MAC e Port
    for i in `cat $MACLIST`; do
    IPSOURCE=`echo $i | cut -d ';' -f 1`
    MACSOURCE=`echo $i | cut -d ';' -f 2`

    # Controle de Acesso IPxMAC
    iptables -t filter -A FORWARD -d 0/0 -s $IPSOURCE -m mac --mac-source $MACSOURCE -j ACCEPT
    iptables -t filter -A INPUT -s $IPSOURCE -d 0/0 -m mac --mac-source $MACSOURCE -j ACCEPT

    #Pacote Marcado
    iptables -A PREROUTING -t mangle -i eth1 -s $IPSOURCE -j MARK --set-mark $CBQMARK

    done
    Observacao: nesse caso, o firewall esta bem restritivo... com as politicas padroes INPUT e FORWARD com drop
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    para se bloquear um cliente, basta mudar os "00" (zeros) iniciais do mac do cliente cadastrado na tabela... ou seja, o mac verdadeiro do cliente fica diferente do mac cadastrado no bd, assim sendo, o cliente estara bloqueado...
    Última edição por AndrioPJ; 17-07-2009 às 08:57.



  5. Muito bom mesmo, obrigado pessoal achei minha solução.
    Vou teste primeiramente com o squid.conf sao 40 pc's depois vou implementa no dhcp mesmo como nosso amigo mascaraapj, mais uma vez obrigado pessoal pela atenção..

    abraços a todos...






Tópicos Similares

  1. Amarrando IP ao MAC nao funciona
    Por fabiofaker no fórum Redes
    Respostas: 6
    Último Post: 04-10-2010, 21:07
  2. Amarrando IP x MAC dúvida
    Por grooveman no fórum Redes
    Respostas: 7
    Último Post: 17-05-2007, 09:07
  3. Script para filtro - amarrando IP e Mac.
    Por viny_carvalho no fórum Servidores de Rede
    Respostas: 0
    Último Post: 16-02-2007, 09:40
  4. AP mikrotik amarrando IP x MAC
    Por Portela no fórum Redes
    Respostas: 0
    Último Post: 04-07-2006, 21:23
  5. SQUID + DHCP + IP + MAC + Apache = BLOQUEADO ou LIBERADO
    Por MoRhY no fórum Servidores de Rede
    Respostas: 3
    Último Post: 17-11-2004, 19:09

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L