Jorge Luiz de Paula Martins Filho wrote:
>
> Acho q me expressei mal na minha ultima mensagem.
É, eu realmente não tinha entendido a ligação dela com a primeira ;)
> Aqui na rede de nosso escritorio estamos precisando montar um esquema de
> validacao de conexoes por endereco MAC. Ou seja, se a maquina possuir
> determinado endereco MAC ela pode navegar, caso contrario ela nao pode.
Ok.
> Na sua primeira mensagem, vc disse q para "filtrar" conexoes por endereco MAC
> eu deveria utilizar o kernel 2.4 em conjunto com o iptables.
> Ai eu fiquei "matutando" e achei q se eu implementasse uma solucao como o
> pessoal da Virtua implementou, talvez eu pudesse obter o resultado desejado.
> A solucao da Virtua eh o seguinte: Ao contratar os servicos de "banda larga"
> q eles oferecem, eu precisei fornecer-lhes o MAC address da minha placa de
> rede q ficaria ligada ao cable modem Terayon q eles me venderam. Este
> endereco MAC q eu passei pra eles, ficou "atrelado" a um endereco ip lah no
> servidor DHCP deles, ou seja, o ip era para ser dinamico, mas nao eh.
> Fazendo testes com esta conexao cable modem q eu tenho, eu verifiquei q eu
> nao posso simplesmente atribuir um ip da rede deles para a minha placa, eu
> tenho q obrigatoriamente "pedir" um ip via DHCP. Como consequencia desta
> solucao, os usuarios de cable modem nao possuem um "username" e "password",
> sendo q a autenticacao eh feita somente baseada no MAC address dos clientes.
Ok.
> Eh exatamente isto q eu quero implementar, porem ai eh q esta a minha duvida.
> Eh possivel usar esta solucao somente usando um servidor DHCP, ou a Virtua
> soh consegue isto gracas ao cable modem Terayon q eles vendem ???
Não faço a menor idéia de como a Virtua implementa isso, alguém se
habilita???
> Note q a minha intencao eh NAO deixar uma maquina navegar se ela NAO "pedir"
> o ip via DHCP, igualzinho ao esquema da Virtua.
Voltando ao Linux a solução mais inteligente seria realmente usar o
netfilter do kernel 2.4.
Uma outra solução tb inteligente seria estabelecer autenticação no
proxy, dê uma olhada na documentação do squid que lá explica como
implementar isso. Neste caso o usuário é obrigado a fornecer
usuario/senha para se autenticar no proxy e poder navegar. Na verdade
considero esta solução melhor que a anterior pq vc não precisa se
preocupar com endereços MAC. Por outro lado só funciona para serviços
acessíveis via proxy (não funcionaria para SSH p. ex.).
Para fazer o que vc quer no kernel 2.2 é complicado porque o servidor
DHCP é responsável apenas por fornecer endereços IP's quando ele recebe
um DHCPREQUEST, ele nada pode fazer se vc configurar um IP estático na
estação.
Uma solução "porquinha" para tratar isso poderia ser feita usando uma
combinação de regras do servidor DHCP + ipchains + proxy ARP:
- Primeiro vc cria as restrições no ipchains normalmente, baseado no
endereço IP;
- Depois vc cria as entradas das máquinas com IP's fixos no dhcpd.conf.
- Finalmente vc cria entradas permanentes na tabela ARP para todos os
IP's que têm acesso à internet:
arp -s END_IP MAC_ADDR
man arp ;)
Assim não adianta que o usuário tente alterar o endereço IP para a faixa
de IP's autorizados, porque vai haver uma entrada permanente na tabela
ARP apontando p/ outro MAC ;)
Após testar vc pode criar um arquivo (por padrão /etc/ethers) com o
mapeamento ARP e colocar a seguinte linha nos seus scripts de
inicialização:
arp -f /etc/ethers
Para tornar as alterações na tabela ARP permanente.
Alguém tem uma sugestão menos "porquinha"? :)
Obs: - Esta sugestão não foi testada, é apenas um palpite, use-a por sua
conta e risco :)
- E não se esqueça de dar retorno para a lista se funcionar, ok?
Creio que isso deve interessar a muita gente! (começando por mim mesmo
:)
[]s,
Bráulio Gergull
Assinantes em 20/03/2001: 2185
Mensagens recebidas desde 07/01/1999: 104497
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista:
mailto:[EMAIL PROTECTED]