Eu li bastante informação sobre o assunto ultimamente - porque realmente não estou acostumado a trabalhar em "camadas baixas" - mas não consigo apontar o dedo para o que estou fazendo de errado. Acredite, eu tentei ;)
Gostaria de conectar um servidor em nuvem, pois fazia parte de nossa LAN corporativa.
Decidi criar uma ponte de camada 2 ( br0
), o principal motivo é que preciso receber pacotes transmitidos da LAN para que um dispositivo seja visto pelo servidor em nuvem.
Criei uma rota no servidor de nuvem para direcionar a sub-rede LAN através da tap0
interface.
Todos iptables
e ebtables
têm uma política padrão de ACCEPT
(editar: não há regras definidas e até mesmo desabilitadas).
A tabela ARP no cliente LAN mostra a entrada IP/MAC do servidor de nuvem.
Posso fazer ping br0
da nuvem e da máquina da nuvem tap0
(IP definido estaticamente na sub-rede do cliente) do cliente LAN.
Quando faço um tcpdump
em ambas as interfaces ( cloud tap0 and LAN br0
), posso ver o tráfego da LAN (STP, IP, ARP, ...) fluindo.
É aqui que as coisas deixam de ser ótimas: não consigo acessar outras máquinas na LAN (quando faço ping no gateway da LAN, recebo "Host de destino inacessível". Não recebo resposta quando faço o teste com outros computadores da LAN) .
PS: não me faça instalar o OpenVPN ^^
editar:
$ bridge link
2: eth0 state UP : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100
4: tap0 state UNKNOWN : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100
$ brctl show
bridge name bridge id STP enabled interfaces
br0 8000.00155da90b0b no eth0
tap0
$ ip link
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP mode DEFAULT group default qlen 1000
link/ether 00:15:5d:xx:xx:xx brd ff:ff:ff:ff:ff:ff
4: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UNKNOWN mode DEFAULT group default qlen 1000
link/ether 8e:15:41:dc:70:b0 brd ff:ff:ff:ff:ff:ff
11: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether 00:15:5d:a9:0b:0b brd ff:ff:ff:ff:ff:ff
Depois de todas aquelas horas, eu estava bastante confiante de que o que eu estava fazendo não estava muito longe.
Decidi conectar a mesma instância de nuvem a um novo host em minha LAN doméstica. Funcionou sem nenhum problema específico.
Ainda não tenho certeza sobre o que está causando o problema inicial (um equipamento caro na rede corporativa, talvez?), mas pelo menos sei que isso não vem de mim :)