Я пытаюсь сделать vlan-bridge на ubuntu 10.4, потому что мне нравится запускать ebtables на всех портах vlan.
Я создаю скрипт, чтобы облегчить эту работу:
$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
после того, как я выполню скрипт, brctl покажет brigde
bridge name bridge id STP enabled interfaces
brlan180 8000.0026b9847*** no lan.180
и dmesg показывают состояние моста
[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
Но нет ответа, когда я пингую участника сети
From 192.168.114.1 icmp_seq=1 Destination Host Unreachable
From 192.168.114.1 icmp_seq=460 Destination Host Unreachable
Iptables принимает весь ввод, принимает все пересылки, и я получил net.ipv4.ip_forward = 1 в sysctl
Не могли бы вы увидеть, действительно ли $ DEV работает? Я не уверен, что поднятие моста поднимет участников.
ifconfig $DEV up 0.0.0.0
вместо ifconfig $ DEV 0.0.0.0
Вы уверены, что теги vlan принимаются сетью? Работает ли без моста?
Кроме того, iptables и ip_forward - это уровень выше, мосты выполняются на уровне 2, поэтому они не должны влиять на мосты.