Bridge and VLAN support has improved dramatically under Ubuntu and probably Debian as well since I last looked into it. once upon a time to create a bridge linked to a VLAN interface you would have to do horrible things like.
auto eth0 ifconfig eth0 inet manual pre-up /sbin/vconfig set_name_type VLAN_PLUS_VID_NO_PAD || true auto vlan7 iface vlan7 inet manual pre-up /sbin/vconfig add eth0 7 || true post-down /sbin/vconfig rem vlan7 || true auto br0 pre-up brctl addbr br0 pre-up brctl addif br0 vlan7 post-down brctl delbr br0 address 10.38.38.1 netmask 255.255.255.0 network 10.38.38.0 broadcast 10.38.38.255
Now the bridge-utils and vlan packages provide hooks into the ifup and ifdown commands so you can simply do
auto br-vlan4 iface br-vlan4 inet static address 10.38.38.1 netmask 255.255.255.0 network 10.38.38.0 broadcast 10.38.38.255 vlan-raw-device eth1 bridge_ports vlan4 bridge_maxwait 0 bridge_fd 0 bridge_stp off
Which will automagically
- Bring up eth1
- Create vlan4 bound to the eth1 interface
- Bring up vlan4
- Create the br0 with vlan4 attached
- Give eth1 the same HW address as br0
- Bring up br0 with the IP address
Nifty!