Ich vermute dein fehler war tap0 nicht auf UP zu setzen.
Ich habe die Gelegenheit auch mal genutzt die bridge hier einzurichten.
Gehe mal nach diesem Beitrag hier vor (dieser Link war im VirtualBox Wiki-beitrag auf
archlinux.org angegeben):
http://mychael.gotdns.com/blog/2007/05/31/virtualbox-bridging/
Ich habe folgendes gemacht:
a) Sichergestellt das br0 auf dem Wirt korrekt arbeitet (nur mit eth0)
b) modprobe tun
c) tunctl -t tap0 -u mein_username
d) ifconfig tap0 up
e) brctl addif br0 tap0
Dann virtualbox gestartet und den Gast auf Hostinterface mit Interface-Name tap0
gesetzt.
Ich werde mir dauerhaft diese beiden Skripte (für Start/Stop anlegen, damit die tapX
Devices dynamisch erstellt werden, wie im Beitrag beschrieben.
Wichtig ist wohl noch, mindest beim Start-Skript das tapX-Dev mit tunctl auch zu
erstellen.