É possível usar ebtables para filtrar o tráfego por endereços MAC em uma interface ethernet simples, sem ponte?

3

Eu tenho uma máquina linux (minha estação de trabalho). De lá eu posso pingar outras máquinas locais, digamos 192.168.1.22. Vamos dizer que eu quero proibir a comunicação com 192.168.1.22 pelo seu endereço MAC. Estou tentando uma regra simples:

ebtables -I INPUT -s 00:24:1d:c9:0a:27 -j DROP

Mas ainda posso pingar esse host. É o ebtables limitado a filtrar o tráfego apenas em interfaces de ponte?

    
por thor 25.11.2010 / 07:38

2 respostas

6

Sim, ebtables só age em quadros que atravessam interfaces de ponte. Você pode, no entanto, fazer uma boa violação de camadas e usar a opção -m mac --mac-source iptables.

Sempre que estou fazendo algo complexo com o netfilter, mantenho este diagrama à mão: link

    
por 25.11.2010 / 07:52
3

Thor, o que você sugere está correto e está funcionando. Acabei de testá-lo.

Talvez seja necessário atualizar as rotas substituindo as interfaces em ponte pela interface da ponte, para garantir que você não esteja ignorando a ponte.

ip route del 192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.1
ip route add 192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.1
    
por 22.11.2012 / 22:33