http://www.zago.eti.br/firewall/iptables-mac.txt Dicas, exemplos e FAQ sobre regras com uso de MAC ADRESS. Use CTRL+F para refinar a pesquisa. Linha de: **************** separa mensagens ou tópicos. ******************************************************** Zago http://www.zago.eti.br/menu.html FAQ e artigos sobre Linux veja também como configurar o servidor de IP, fornecer IP por DHCPD, também como fornecer um IP amarrado ao MAC ADRESS, veja em: http://www.zago.eti.br/dhcp.html http://www.zago.eti.br/dhcpd.txt http://www.zago.eti.br/pluguse.txt ************************************************************************* HowTo sobre como fazer um proxy NAT baseado no PAR IP/MAC address http://www.linuxit.com.br/modules.php?name=Sections&op=printpage&artid=154 ************************************************************************* Dicas pra pegar o MAC e IP das estações: Com ping + arp Vá na estação e dispare um ping para o servidor e depois execute arp no servidor, veja a sequencia: Na estação: ping -c3 192.168.1.53 No servidor o comando arp retorna: arp Endereço TipoHW EndereçoHW Flags Máscara Iface 192.168.1.121 ether 00:0C:76:8F:27:2F C eth0 Veja os resultados de: cat /proc/net/arp ettercap ************************************************************************* De: Luiz Antonio Cassetari Vieira Filho Responder-a: lcassetari@uol.com.br Para: Carlos Thadeu Duarte Santos , 'linux-br@bazar.conectiva.com.br' Assunto: Re: (linux-br) MAC (=?iso-8859-1?q?s=F3=20por?= curiosidade) Data: 17 Mar 2003 20:18:26 -0300 Em Seg 17 Mar 2003 12:23, Carlos Thadeu Duarte Santos escreveu: > Bom dia lista, > > Meu provedor via rádio (que provavemente deve usar Windows) utiliza o > esquema de acesso por MAC e não por login. > > Estou um tanto curioso, pois acredito que o Linux tenha o mesmo esquema, > então como é que funcionar? Não pretendo usar para configurar nenhum > servidor, é apenas a título de informação. > > Valeu pessoal, > Carlos Thadeu > Niterói-RJ http://www.netfilter.org/documentation/HOWTO/pt/packet-filtering-HOWTO-7.html Outras extensões Outras extensões no pacote netfilter são extensões de demonstração, que (caso instaladas) podem ser chamadas com a opção `-m'. mac Este módulo deve ser explicitamente especificado com `-m mac' ou `--match mac'. Ele é usado para associar-se com o endereço Ethernet (MAC) de origem do pacote, e logo só é útil nas chains PREROUTING e INPUT. Só provê uma única opção: --mac-source seguida por `!' opcional e um endereço ethernet passado em notação hexa, exemplo `--mac-source 00:60:08:91:CC:B7'. Ou seja, para liberar o acesso a uma maquina, pelo mac address, se usaria: iptables -A FORWARD -m mac --mac-source 00:60:08:91:CC:B7 -j ACCEPT [ ]'s ************************************************************************* De: Sérgio Valério Para: Marcus Lima Cc: aaal , Renato Q. Todorov - Webmaster Jet Sites , richardson.listas@terra.com.br, Linux-br - lista Assunto: Re: (linux-br) Endereco de Hardware (MAC) Data: 17 Mar 2003 22:23:48 -0300 Boa noite Marcos e aaal : Existe sim uma reserva para os endereços de MAC por fabricantes. Consulte por exemplo : http://coffer.com/mac_find/ e para achá-los, em diversos sistemas operacionais : http://www-dcg.fnal.gov/DCG-Docs/mac/ Se você gosta de Mac´s, tem esse : http://www.themacaddress.com/ Outras dicas : http://www.nwfusion.com/columnists/2002/1118blass.html http://www.erg.abdn.ac.uk/users/gorry/course/lan-pages/mac-vendor-codes.html http://www.pcwebopedia.com/TERM/M/MAC_address.html e quem "controla" os MAC são o IEEE e não o IETF. []´s Sérgio Marcus Lima wrote: Tirando 00:00:00:00:00:00 (Que não significa nada) e FF:FF:FF:FF:FF:FF (Que significa broadcast) o resto todo pode ser utilizado! :) Você pode obter mais informações neste site: www.ietf.org E corrigindo sua colocação, é 172.16/12 e não /16 - Marcus Lima. Alguem sabe existe alguma faixa de endereco de hardware liberada para "USO". Procuro algo analogo aos ip's: 10/8 , 172,16/16 e 192.168/16 . Eh para implementar em um projeto. ************************************************************************* De: Marcelo Marra Assis Responder-a: Marcelo Marra Assis Para: linux-br@bazar.conectiva.com.br Assunto: Re: (linux-br) Firewall - mac address Data: 19 May 2003 10:28:10 -0300 neste link tem um tutorial muito legal sobre Firewall com MAC http://www.linuxit.com.br/modules.php?name=Sections&op=viewarticle&artid=154 Marcelo Marra Assis ************************************************************************* De:  Kilson Arruda Responder-a:  Kilson Arruda Para:  rodrigofsantos@unemat.br, Lista Conectiva Assunto:  Re: (linux-br)Bloquear pelo MAC e IDS Data:  Mon, 27 Oct 2003 19:08:54 -0300 > Amigos como faço para bloquear um micro pelo MAC da placa de rede dele, eu sei Vc pode usar o iptables: Para impedir acesso ao servidor em questão: iptables -A INPUT -m mac --mac-source XX:XX:XX:XX:XX:XX -j DROP Para impedir o repasse de pacotes é só trocar INPUT por FORWARD. ****************************************************************** De: marcelo Para: Suporte LW Security Cc: linux-br@bazar.conectiva.com.br Assunto: Re: (linux-br) Fw: Pergunta pro MARCELO -- CARTAO ::: Ou quem puder nos ajudar Data: 25 Jun 2002 11:06:00 -0300 Suporte LW Security wrote: Digamos que eu queira barrar o cartao 01:01:01:01:01:01 . seria assim? ----- /usr/sbin/iptables -A input -s -m mac --mac 01:01:01:01:01:01 -j DENY ----- /sbin/iptables -A INPUT -m mac --mac 01:01:01:01:01:01 -j DROP ************************************************************************* De:  Marcus Lima Responder-a:  marcuslima@marcuslima.eti.br Para:  nod3vic3 , linux-br@bazar.conectiva.com.br Assunto:  Re: (linux-br)  Restringir maquinas na rede pelo endereço MAC Data:  Mon, 20 Oct 2003 15:26:28 -0300 > Gostaria agora permitir que somente as maquinas que possuam determinados endereços MAC da placa de > rede conseguissem obter um ip. Ou seja quero que só determinadas maquinas (ou placas) se conectem > a minha rede. Obter um IP? Bom, então vc tem que configurar isso no DHCP... Agora quanto a se conectar na rede, fica dificil, se vc ligar todas as máquinas num HUB e elas tiverem IP da mesma rede obviamente que todas vão se conectar na rede. > Como eu faço essa restrição? Use um Switch que lhe permita vincular MAC a porta conectada. > E outra coisa essas maquinas que estarão na minha rede interna irão enchergar as outras? Se sim, > eu não quero que isso aconteça, o que devo fazer para evitar? Deve comprar um Catalyst da CISCO (ou outro switch layer 2 decente) e fazer filtragem por MAC address. Att, Marcus Lima. ************************************************************************* De:  Kilson Arruda Responder-a:  Kilson Arruda Para:  Lista Conectiva Assunto:  Re: (linux-br) fazendo que um mac-address s ó navege com ip pré definido! Data:  Thu, 26 Feb 2004 16:02:58 -0300 --------- Mensagem Original -------- De: Ricardo Silva > > Caros, meu dhcpd, para 110 micros está com 100 endereços de maquina > cadastrados (mac-address) mas eu quero um controle para que se um usuário > mudar o IP não consiga navegar para isso eu copiei o "arquivo1" abaixo e > cadastrei a lista no > "maclist", so que não funcionou. > > Já usaram isso, tem alguma dica? Já tentou usar o comando arp? acho que a sintaxe é: arp -s end_mac end_ip, ou vice-versa Isso vai fixar na tabela arp do servidor o end_mac ao end_ip. qualquer dúvida: man arp. -- Kilson Arruda linux User # 228238 ************************************************************************* De:  Gilberto Martins Para:  linux-br@bazar.conectiva.com.br Assunto:  Re: (linux-br)Controle por MAC Data:  Wed, 10 Mar 2004 02:38:49 -0300 Tente este daqui: # iptables -A input -m mac --mac-source 01:02:03:04:05:06 -j DROP Derruba os pacotes que vem do MAC 01:02:03:04:05:06. []s Em Seg, 2004-03-08 às 00:18, Junior escreveu: > Olá Sabino > > Dá uma procurada em iptables + mac > > > -- Gilberto Martins ************************************************************************* De:  Thiago Macieira Para:  linux-br@bazar2.conectiva.com.br Assunto:  Re: (linux-br)Iptables + Mac Data:  Sat, 13 Mar 2004 11:07:43 -0300 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Sabino Rodrigues wrote: > Ai galera, eu estou presisando fazer um controle por mac no meu > router linux entre a minha rede 192.168.0.0/24 e a internet > 0.0.0.0/0. > >Como eu faço para bloquear todos os MACs iptables -P FORWARD DROP >e liberar só o que eu quero, > no caso o da minha rede? iptables -A FORWARD -i $IFACE_INT -mmac --mac 00:00:00:00:00:00 -j ACCEPT Estou com uma sensação estranha de déjà vu... Acho que respondi isso essa semana mesmo, mas devo estar enganado. - --   Thiago Macieira  -  Registered Linux user #65028    thiago (AT) macieira (DOT) info ************************************************************************* De:  Thiago Macieira Para:  linux-br@bazar2.conectiva.com.br, Vagner Schoaba Assunto:  Re: (linux-br)ajuda com iptables e mac Data:  Tue, 14 Sep 2004 13:37:48 -0300 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Vagner Schoaba wrote: >Galera.. eu preciso fazer uma regra com iptables.. que seria algo com >MAC..e o seguinte.. eu tenho um servidor de internet funcionando >perfeitamente com iptables  NAT, mais eu queria liberar o nat nao por >eth ou por faixa de ip.. e sim por mac.. para que somente as mac >cadastradas possam navegar... >Alguem pode me ajudar com isso? iptables -A FORWARD -mmac --mac-source $MAC -o $IFACE_EXT -j ACCEPT - --   Thiago Macieira  -  Registered Linux user #65028    thiago (AT) macieira (DOT) info     ICQ UIN: 1967141   PGP/GPG: 0x6EF45358; fingerprint: ************************************************************************* De: Thiago Macieira Para: linux-br@bazar2.conectiva.com.br, Diniz Alexandre Daminelli Assunto: Re: (linux-br) Controle de Acesso por MAC Data: Tue, 17 Oct 2006 19:58:01 +0200 (14:58 BRST) Diniz Alexandre Daminelli wrote: >ou seja, algo do tipo: somente quem for cadastrado é que pode ter > acesso a rede, seria bom que este software tivesse uma interface visual > para o cadastro dos mesmos... Você pode usar o iptables -mmac [....] para permitir a retransmissão de pacotes de acordo com o MAC. Como normalmente o retorno é feito com o -mstate, a abertura de conexão só pode acontecer se o -mmac permitir. Note que isso só funciona para roteadores. Se você quer implementar controle por MAC para a rede interna, você deve fazer isso nos switches (obviamente, você tem que ter um switch com essa capacidade). -- Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org PGP/GPG: 0x6EF45358; fingerprint: E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358 ************************************************************************* De: Elias Andrade Para: Thiago Macieira Cc: linux-br@bazar2.conectiva.com.br, Diniz Alexandre Daminelli Assunto: Re: (linux-br) Controle de Acesso por MAC Data: Tue, 17 Oct 2006 17:35:55 -0200 (16:35 BRST) Utilizando o principio que o Thiago comentou, a uns meses atras venho desenvolvendo um scriptzinho (do qual uso em alguns clientes inclusive). Segue a resposta da qual ja foi dada na lista do shell-script (pois pode servidor para outras pessoas da linux-br que precisem disso tb): ---- Criei uma interface assim em shell-script. Você pode baixar aqui: http://preguica.sytes.net:8080/pub/esacbq.tar.gz Tenho ele rodando no meu servidor (Um AMD 500 com 128MB, mas anteriormente rodava num Pentium 200 com 64MB), com Slackware 10.0.0. O principio eh o seguinte: Exite um usuario no sistema chamado 'esacbq', com home em '/home/esacbq' e um arquivo de configuracao do sudo ('/etc/sudoers'). Ele tem um Firewall que ficara em /home/esacbq/firewall/gw-firewall (do qual vc terá que colocar pra rodar no /etc/rc.d/rc.local). Além de fazer as regras por MAC, ele controla a banda (vc tem de ter o script de cbq, e as configuracoes do cbq rodando em /etc/cbq, e esse diretorio do cbq setado para o usuadio esacbq. Bem, ser vc abrir o script /home/esacbq/esacbq-menu vc vai comecar a entender o principio. No meu linux, mudei o shell padrão (/bin/bash) do usuario esacbq pelo script /home/esacbq/esacbq-menu, entao quando vc logar como esacbq ja cai no script (assim, vc pode passar a bola adiante pra alguem fazer essa parte adminstrativa). Recapitulando: O esacbq eh um script com uma interface shell-interativa, do qual roda com o sudo. O mesmo faz NAT, controle por MAC e controle de banda via CBQ, e está rodando num slackware 10.0.0, mas pode ser adaptado pra outro linux semmuito stress. Até mais, Thiago Macieira escreveu: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Diniz Alexandre Daminelli wrote: > >> ou seja, algo do tipo: somente quem for cadastrado é que pode ter >> acesso a rede, seria bom que este software tivesse uma interface visual >> para o cadastro dos mesmos... >> > > Você pode usar o iptables -mmac [....] para permitir a retransmissão de > pacotes de acordo com o MAC. Como normalmente o retorno é feito com > o -mstate, a abertura de conexão só pode acontecer se o -mmac permitir. > > -- [ ]'s Elias Andrade Estinave/PNG - Ti ************************************************************************* *************************************************************************