QEMU networking quirkiness on 7.0

Mario Lobo mlobo at digiart.art.br
Thu Apr 10 22:01:32 UTC 2008

On Thursday 10 April 2008 12:33:29 Jim Stapleton wrote:
> > Yes, this needs to be setup on the host system.  The way a bridge is
> >  configured has changed on 7.  Here are the steps assuming that your
> >  external interface is em0:
> Well, it seems pretty calm, and hasn't tried to cut itself yet... But
> I think I can adapt.
> >  # ifconfig tap0 create
> >  # ifconfig tap0 up
> >  # ifconfig em0 up
> >  # ifconfig bridge0 create
> >  # ifconfig bridge0 addm tap0 addm em0
> Could I mimic this in RC.conf? Or is this saved between restarts?
> Also, for the bridge, could I do this, correct?
> #existing rc.conf
> hostname="elrond.var-dev.net"
> ifconfig_re0="inet netmask"
> ifconfig_re0_alias0=" netmask"
> defaultrouter=""
> #adding... Should I use an IP not aliased by re0?
> ifconfig_bridge0="inet netmask"
> Thanks for your help,
> -Jim Stapleton
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to
> "freebsd-questions-unsubscribe at freebsd.org"

I have a virtual Linux (Fedora 5) and winedows (XP) machines in QEMU and they 
are both network functional. I use qemu-launch because it does everything you 
need to create a virtual machine. Here are my pertinent configs:

1) # rc.conf

ifconfig_re0="up polling"               <- no IP here !
autobridge_bridge0="tap0 re0"     <- important even if tap0 does not exist yet
# the bridge gets the IP
ifconfig_bridge0="inet netmask"  

2) tell QEMU launch to open a tap device

3) tap up script to run when invoking the machine(s). 

# qemu-net

$1 = tap ifac created 
/sbin/ifconfig $1 up
# test if tap is already added
TEST=`ifconfig -a | grep -A 6 bridge | grep $1`
if [ "$TEST" == "" ]; then
   /sbin/ifconfig bridge0 addm $1
# add a route to the virtual machine
/sbin/route add -host -iface bridge0


Set the gateway on both machines to the same gateway of the host.
That's all.

This works perfectly for me. If I want both virtual machines up, I have to add 
another route to the IP of the second machine through the bridge.

I did not need to set up samba to access the local drives because I already 
have a samba server on the gateway and both the host and the guests can see 
it, and of course, is one less thing to set up at the host.

My 2 cents. Hope it helps !
Mario Lobo
FreeBSD since version 2.2.8 [not Pro-Audio.... YET!!] (99,7% winedows FREE)

More information about the freebsd-questions mailing list