Uma ponte entre 2 interfaces TAP precisa de um endereço IP?

3

Estou tentando configurar o openvpn em uma máquina para que eu tenha duas interfaces de tap diferentes (tap0 e tap1) e, em seguida, uma ponte conectando essas interfaces. O openvpn é configurado com uma configuração de ponte do servidor para cada interface TAP. A ideia é que um cliente na tap0 possa falar com um cliente na tap1 e vice-versa.

Não há NIC física envolvida na bridge e a interface Bridge está configurada sem ip / netmask / broadcast. Apenas trouxe com um único "ifconfig brX up"

Eu sou capaz de fazer ping entre os 2 clientes quando eles estão conectados ao servidor openvpn, cada um com sua própria interface de toque mencionada acima, mas não vejo nenhum tráfego ao tentar tcpdump a interface de ponte.

Estou um pouco confuso em algumas coisas:

  1. Eu preciso ter um ip configurado na interface bridge? Eu não vejo bem a razão para isso, pois tudo o que ele fará é fazer com que as interfaces virtuais conversem entre si

  2. O fato de a interface da bridge não ter um ip / netmask / broadcast atribuído não é capaz de ver o tráfego do ping na interface da bridge ao tcpdumping dessa interface?

  3. Se a resposta para o número 2 for Sim, presumo que não é possível usar o iptables para bloquear / permitir o tráfego nessa interface, correto? Em caso afirmativo, existe alguma outra maneira de realizar o que se faria com o iptables em uma interface como essa?

por ByteFlinger 18.05.2015 / 21:22

1 resposta

5

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.)

    
por 19.05.2015 / 12:15