Do I need to have an ip configured on the bridge interface at all? I don't quite see the reason for it as all it will do is to make to virtual interfaces talk to each other
Não, uma ponte pura só funciona no nível Ethernet - nem sequer olha para o cabeçalho IP. Quando você atribui um endereço IP a br0, você está realmente atribuindo-o ao sistema operacional host, que está conectado a essa ponte.
No entanto, você não disse nada sobre adicionar as tap
interfaces como bridge ports . Você precisa informar explicitamente à bridge quais portas ele gerencia:
-
brctl addif br0 tap0
-
ip link set tap0 master br0
Is the fact that the bridge interface does not have an assigned ip/netmask/broadcast the reason I am not able to see the ping traffic on the bridge interface when tcpdumping that interface?
Não.
Mas é possível que a ponte ainda esteja no modo "aprendizado"; ainda assim, o padrão é 30 segundos - verifique usando brctl showstp br0
. É possível que as portas não tenham sido adicionadas à ponte (veja acima). É possível que as próprias interfaces de porta ainda estejam inativas.
(também, queridos deuses por que as pessoas acham que precisam definir os endereços de broadcast. Realmente, o sistema operacional já pode calculá-lo da máscara de rede IP | ~. Quase nunca é útil configurar o endereço de transmissão manualmente, torna-se mais fácil acidentalmente obtê-lo errado .)
If the answer to number 2 is Yes, I assume that it is not either possible to use iptables to block/allow traffic on that interface, correct? If so is there any other way to accomplish what one would do with iptables on an interface like that?
Sim, você precisa de ebtables
para filtrar o tráfego. ele não passa pelo firewall IP.
(Embora, eu acho que nem sempre é verdade. O firewall Untangle, por exemplo, parece funcionar em um modo de ponte / roteador cross-breed, o que é um pouco confuso.)