/etc/network/interfaces に以下の内容のようなものをよしなに変更して記述すればできるっぽい
例としてeth0にVLAN ID 10を振ってそれをbridgeにつなげてみた。
auto br0 iface br0 inet static address 192.168.0.2 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.1 dns-nameservers 192.168.0.1 dns-search example.com pre-up ifconfig eth0 up pre-up vconfig add eth0 10 pre-up ifconfig eth0.10 0.0.0.0 promisc up pre-up brctl addbr br0 pre-up brctl addif br0 eth0.10 post-down brctl delif br0 eth0.10 post-down ifconfig eth0.10 down post-down vconfig rem eth0.10 post-down ifconfig eth0 down
これでbr0に参加させた仮想マシンのvnetはVLAN ID 10のネットワークにつながると思うんだけど、ifconfigとかbrctlでごちゃごちゃやってる間にlibvirtのautostartが走っちゃって起動にこけるんだけど、どうしよう。