A ponte vlan do Linux não funciona

A ponte vlan do Linux não funciona

Eu tento fazer vlan-bridge no Ubuntu 10.4, porque gosto de rodar ebtables em todas as portas vlan.

Eu crio um script para facilitar esse trabalho:

    $DEV  ="lan.180"   # vlan
    $VDEV ="brlan180"  # vlan-bridge
    $IP   ="192.168.10.1" 
    $MASK ="255.255.255.0"

    ifconfig $DEV 0.0.0.0

    brctl addbr $VDEV
    brctl addif $VDEV $DEV

    ifconfig $DEV 0.0.0.0
    ifconfig $VDEV $IP netmask $MASK
    ifconfig $VDEV up

depois de executar o script, brctl mostra a brigada

bridge name     bridge id               STP enabled     interfaces
brlan180        8000.0026b9847***       no              lan.180

e dmesg mostram o estado da ponte

[356192.560351] vlan180: port 1(lan.180) entering learning state
[356203.504216] vlan180: no IPv6 routers present
[356207.537207] vlan180: port 1(lan.180) entering forwarding state

Mas não há resposta quando faço ping no membro da rede

From 192.168.114.1 icmp_seq=1 Destination Host Unreachable
From 192.168.114.1 icmp_seq=460 Destination Host Unreachable

O iptables está aceitando todas as entradas, aceitando todos os encaminhamentos, e obtive net.ipv4.ip_forward = 1 no sysctl

  • O que eu perdi?
  • A porta vlan deve ser ativada primeiro ou a ponte primeiro?

Responder1

Você poderia ver se o $DEV está realmente ativo? Não tenho certeza se trazer a ponte traz à tona os membros.

ifconfig $DEV up 0.0.0.0

em vez de ifconfig $DEV 0.0.0.0

Tem certeza de que as tags vlan são aceitas pela rede? Funciona sem ponte?

Além disso, iptables e ip_forward são a camada acima, a ponte está acontecendo na camada 2, portanto não deve influenciar a ponte.

informação relacionada