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

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

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

Não há NIC física envolvida na ponte e a interface da ponte é configurada sem ip/máscara de rede/transmissão. Acabei de criar um único "ifconfig brX up"

Consigo fazer ping entre os 2 clientes quando ambos estão conectados ao servidor openvpn, cada um em sua própria interface de toque mencionada acima, mas não vejo tráfego ao tentar tcpdump a interface da ponte.

Estou um pouco confuso em algumas coisas:

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

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

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

Responder1

Preciso ter um ip configurado na interface da bridge? Não vejo bem a razão para isso, pois tudo o que fará é fazer com que as interfaces virtuais conversem entre si

Não, uma ponte pura só funciona no nível Ethernet – ela nem sequer olha para o cabeçalho IP. Quando você atribui um endereço IP a br0, na verdade o está atribuindo ao sistema operacional host, que está conectado a essa ponte.

No entanto, você não disse nada sobre adicionar as tapinterfaces comoportos de ponte. Você precisa informar explicitamente à ponte quais portas ela gerencia:

  • brctl addif br0 tap0

  • ip link set tap0 master br0

O fato de a interface bridge não ter um ip/netmask/broadcast atribuído é o motivo pelo qual não consigo ver o tráfego de ping na interface bridge ao tcpdumping dessa interface?

Não.

Mas é possível que a ponte ainda esteja no modo “aprendizado”; o padrão ainda é 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 das portas ainda estejam inativas.

(Além disso, queridos deusespor que as pessoas acham que precisam definir os endereços de transmissão.Na verdade, o sistema operacional já pode calculá-lo a partir do IP | ~máscara de rede. Quase nunca é útil configurar o endereço de transmissão manualmente, apenas fica mais fácil obtê-lo acidentalmenteerrado.)

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

Sim, você precisa ebtablesfiltrar o tráfego; ele não passa pelo firewall IP.

(Embora eu ache que isso nem sempre é verdade. O firewall Untangle, por exemplo, parece funcionar em um modo roteador/ponte cruzado, o que é um tanto confuso.)

informação relacionada