Filtrar o tráfego de difusão em uma porta de bridge

2

Eu tenho uma ponte Linux com três interfaces, por exemplo tap0, tap1 e tap2. O que eu gostaria de fazer é modificar o comportamento da ponte padrão da seguinte maneira:

  • Se uma transmissão L2 é originária de tap0, então isso só deve ser encaminhado para tap2 (tap1 deve soltá-la).

  • Se uma transmissão L2 for originada de tap1, isso só deve ser encaminhado para tap2 (tap0 deve soltá-la).

  • Se uma transmissão L2 for originada de tap2, isso deve ser encaminhado para tap0 e tap1 como as pontes normais.

É possível controlar o comportamento de bridge dessa maneira no linux?

Felicidades

Daniel

    
por Dani Camps 21.09.2013 / 11:05

1 resposta

1

Veja ebtables que controlam o encaminhamento para pontes Linux:

# forward tap0 broadcasts to tap2, do not forward to tap1
ebtables -A FORWARD -i tap0 -o tap2 -d ff:ff:ff:ff:ff:ff -j ACCEPT
ebtables -A FORWARD -i tap0 -o tap1 -d ff:ff:ff:ff:ff:ff -j DROP

# forward tap1 broadcasts to tap2, do not forward to tap0
ebtables -A FORWARD -i tap1 -o tap2 -d ff:ff:ff:ff:ff:ff -j ACCEPT
ebtables -A FORWARD -i tap1 -o tap0 -d ff:ff:ff:ff:ff:ff -j DROP

# forward tap2 broadcasts to tap0 and tap1
ebtables -A FORWARD -i tap2 -o tap0 -d ff:ff:ff:ff:ff:ff -j ACCEPT
ebtables -A FORWARD -i tap2 -o tap1 -d ff:ff:ff:ff:ff:ff -j ACCEPT
    
por 21.09.2013 / 14:11

Tags