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:
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
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?
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 tap
interfaces 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 ebtables
filtrar 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.)