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

