crie um mac.txt assim
be:ba:c0:ca:b0:a0  ; micro do paulo
b0:a0:c0:ca:c0:1a ; micro do jose

depois faça um laço que capture linha-a-linha, mas ignore ";" em diante :
while read linha ; do
  este_mac='echo $linha|cut -d";" -f1`
  este_mac_pertence='echo $linha|cut -d";" -f2`
  echo "Liberando [$este_mac] pertencente a [$este_mac_pertence]"
  iptables -A FORWARD -m mac --mac-source $este_mac -j ACCEPT
done </onde/esta/o/arquivo/mac.txt

Este codigo foi feito de cabeça, mas a idéia é resolver seu puzzle com
um iptables por linha do seu arquivo.
[]'s e sucesso.

2009/2/23 PaulinhoLinux <[email protected]>:
> e aí Roberto blzzz
>
> então eu imaginei que fosse essa a explicação para o erro apresentado.
>
> entendi a sua proposta de solução do problema, criar um for onde ele leia  
> variável, vá jogando os macs e liberando.
>
> Não teria como colocar esses macs em uma lista.txt porque eu iria fazer da 
> segunte mandeira dentro da lista
>
> # MAC - EQUIPAMENTO #
> XX:XX:XX:XX:XX:XX   # NOTEBOOK-JOAO
> XX:XX:XX:XX:XX:XX   # PC-VENDAS
>
> mas gostei da sua solução, o único problema é que não terei como saber de 
> quem é aquele mac
>
> Obrigado pela ajuda
>
> PaulinhoLinux
>
>
>  _______________________________________________________________
>
>
> PaulinhoLinux
>
>
>>> e-mail.... paulinholinux arroba yahoo ponto com ponto br
>>> msn....... paulinholinux arroba hotmail ponto com
>
>>> Ter problemas na vida é inevitável,
> ser derrotado por eles é opcional. <<
>
>
> _______________________________________________________________
>
>
>
> ----- Mensagem original ----
> De: Roberto Cunha <[email protected]>
> Para: Lista de discussão do LoCoTeam Brasileiro <[email protected]>
> Enviadas: Segunda-feira, 23 de Fevereiro de 2009 7:39:12
> Assunto: Re: [Ubuntu-BR] Lista de bloqueio de MAC no Iptables
>
> Bom dia!
>
> O erro retornado é porque o comando está esperando um mac adress e não
> um arquivo com uma lista de mac's, eu sugiro algo assim:
>
> # Libera mac adress
> #macs
> macs="00:E0:7D:A9:14:76 00:E0:7D:A9:14:76 00:E0:7D:A9:14:76"
> for mac in $macs; do
>     iptables -A FORWARD -m mac --mac-source $mac -j ACCEPT
> done
>
>
> 2009/2/22 PaulinhoLinux <[email protected]>:
>> E aí galera blzzz
>>
>> seguinte, estou precisando fazer um esquema com o iptables que está me 
>> tirando o sono !!!!
>>
>> preciso criar 1 lista que contenha todos os macs dos pcs da minha rede, e 
>> liberar o acesso a eles. e tbem a todos os macs que não constarem nela negar 
>> acesso a tudo.
>>
>> só que estou tomando um "CORO" tão grande que não ví outra maneira que não 
>> fosse pedir a ajuda de vcs. Já rodei a internet, googlei muiiiito, mas nda 
>> que realmente funcione para o que preciso.
>>
>> não consigo que a regra leia o arquivo macs.txt contendo todos os macs das 
>> minha estações da rede local, e o seguinte erro e demonstrado.
>>
>> iptables v1.3.8: Bad mac address `/etc/firewall/macs.txt'
>>
>>
>> estou enviando as minhas regras do iptables para analise...
>>
>> Obrigado antecipadamente
>>
>> PaulinhoLinux
>>
>>
>>
>> # MINHAS REGRAS DO IPTABLES
>>
>> #!/bin/bash
>>
>> firewall_start(){
>>
>> # INTERNET = eth0
>> # REDE INTERNA = eth1
>>
>> # Abre para a interface de loopback.
>> iptables -A INPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT
>>
>> # MACS permitidos
>> #iptables -A FORWARD -m mac --mac-source "/etc/firewall/macs.txt" -j ACCEPT
>>
>> # Abre para uma faixa de endereços da rede local
>> iptables -A INPUT -s 192.168.10.0/255.255.255.0 -j ACCEPT
>>
>> # fazendo nat
>> iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
>> echo 1 >/proc/sys/net/ipv4/ip_forward
>>
>> # redirecionamento de portas para o proxy
>> iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT 
>> --to-port 8080
>>
>> # Proteções diversas contra portscanners, ping of death, ataques DoS, etc.
>> iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j 
>> ACCEPT
>> iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
>> iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
>> iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 
>> 1/s -j ACCEPT
>> iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
>> iptables -A INPUT -m state --state INVALID -j DROP
>> iptables -N VALID_CHECK
>> iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
>> iptables -A VALID_CHECK -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
>> iptables -A VALID_CHECK -p tcp --tcp-flags ALL ALL -j DROP
>> iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN -j DROP
>> iptables -A VALID_CHECK -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
>> iptables -A VALID_CHECK -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
>> iptables -A VALID_CHECK -p tcp --tcp-flags ALL NONE -j DROP
>>
>> # Esta regra bloqueia o restante.
>> iptables -A INPUT -p tcp --syn -j DROP
>>
>>
>> firewall_start(){
>> # Ativa módulos
>> modprobe ip_tables
>> modprobe iptable_nat
>> modprobe ip_conntrack
>> modprobe ip_nat_ftp
>> modprobe ipt_REJECT
>> modprobe ipt_MASQUERADE
>>
>> # Zera regras
>> iptables -F
>> iptables -X
>> iptables -F -t nat
>> iptables -X -t nat
>> iptables -F -t filter
>> iptables -X -t filter
>>
>> # Determina a política padrão
>> iptables -P INPUT DROP
>> iptables -P FORWARD DROP
>>
>> }
>> }
>> firewall_stop(){
>> # Zera regras
>> iptables -F
>> iptables -X
>> iptables -F -t nat
>> iptables -X -t nat
>> iptables -F -t filter
>> iptables -X -t filter
>>
>> }
>>
>> case "$1" in
>> "start")
>> firewall_start
>> echo " Firewall iniciando"
>> sleep 2
>> echo "ok"
>> ;;
>> "stop")
>> firewall_stop
>> echo "O firewall esta sendo desativado"
>> sleep 2
>> echo "ok"
>> ;;
>> "restart")
>> echo "O firewall esta sendo reiniciado"
>> sleep 1
>> echo "ok."
>> firewall_stop; firewall_start
>> ;;
>> *)
>> iptables -L -n
>> esac
>>
>> # FIM DAS REGRAS
>>
>>
>>  _______________________________________________________________
>>
>>
>> PaulinhoLinux
>>
>>
>>>> e-mail.... paulinholinux arroba yahoo ponto com ponto br
>>>> msn....... paulinholinux arroba hotmail ponto com
>>
>>>> Ter problemas na vida é inevitável,
>> ser derrotado por eles é opcional. <<
>>
>>
>> _______________________________________________________________
>>
>>
>>
>>      Veja quais são os assuntos do momento no Yahoo! +Buscados
>> http://br.maisbuscados.yahoo.com
>>
>> --
>> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>>
>> Lista de discussão Ubuntu Brasil
>> Histórico, descadastramento e outras opções:
>> https://lists.ubuntu.com/mailman/listinfo/ubuntu-br
>>
>
> --
> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>
> Lista de discussão Ubuntu Brasil
> Histórico, descadastramento e outras opções:
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-br
>
>
>
>      Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados.yahoo.com
>
> --
> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>
> Lista de discussão Ubuntu Brasil
> Histórico, descadastramento e outras opções:
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-br
>

-- 
Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece

Lista de discussão Ubuntu Brasil
Histórico, descadastramento e outras opções:
https://lists.ubuntu.com/mailman/listinfo/ubuntu-br

Responder a