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 192.168.1.84 netmask 255.255.255.0"
> ifconfig_re0_alias0="192.168.1.85 netmask 255.255.255.255"
> defaultrouter="192.168.1.1"
> #adding... Should I use an IP not aliased by re0?
> ifconfig_bridge0="inet 192.168.1.85 netmask 255.255.255.0"
>
>
>
>
> 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_interfaces="bridge0"
autobridge_bridge0="tap0 re0"     <- important even if tap0 does not exist yet
cloned_interfaces="bridge0"
# the bridge gets the IP
ifconfig_bridge0="inet 10.10.10.2 netmask 255.255.255.0"  

2) tell QEMU launch to open a tap device

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

# qemu-net

#!/usr/local/bin/bash
$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
fi
# add a route to the virtual machine
/sbin/route add -host 10.10.10.100 -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
http://www.mallavoodoo.com.br
FreeBSD since version 2.2.8 [not Pro-Audio.... YET!!] (99,7% winedows FREE)


More information about the freebsd-questions mailing list