[linux] Re: een virtual box op het LAN, beschrijving

Geert Stappers stappers op stappers.nl
Za Jul 5 17:01:49 CEST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Op 05-07-2008 om 15:27 schreef Kees Theunissen:
> On Sat, 5 Jul 2008, Geert Stappers wrote:
    <knip/>
> >Nu wil ik een Virtual Box guest in het fysieke netwerk hebben.
> >Ik ga er vanuit dat het kan. (Deze aanname bevestigen of ontkrachten is
> >reeds een grote hulp voor mij.)

Het blijkt te kunnen.
De vrees voor het onbekende was opnieuw onterecht :-)

> Ik heb op het werk een slackware 12.0 host met een paar KVM/Qemu
> virtual machines als guest. De guests gebruiken bridged tap devices
> net als bij jou. De truuk om die bridge aan het fisieke netwerk te
> hangen is om de bridge als primaire interface van de host op te
> brengen in plaats van eth0.
> 
> Het onderstaande is ongetwijfeld slackware specifiek, maar dit zijn
> de relevante delen uit mijn config files:
    <KNIP/> 
> Op deze manier heb ik het opbrengen van br0 als primaire (en enige)
> netwerk interface van de host kunnen realiseren met uitsluitend
> aanpassingen in config files. Ik heb geen scripts hoeven te modificeren
> en mag er dus op vertrouwen dat deze configuratie bestand is tegen
> updates. ( Formeel is /etc/rc.d/rc.inet1.conf natuurlijk toch een

<niet-technies>
   De computer waar het op geconfigureerd is,
   wordt niet altijd als gebruikt als host voor virtual box guest.
   Aanpassing van de configuratie is dan ook niet gebeurd.
</niet-technies>

> In het kort: breng eerst de bridge op met eth0 als enige interface,

Dat doe ik met dit script[0]:
#!/bin/sh

# create Real EtherNet bridge
brctl addbr ren

# get information from eth0
IP4=$( ifconfig eth0 | \
    sed -ne 's/.*addr:\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\) .*/\1/p' )
BCST=$( ifconfig eth0 | \
    sed -ne 's/.*Bcast:\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\) .*/\1/p' )
NMSK=$( ifconfig eth0 | \
    sed -ne 's/.*Mask:\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\) *$/\1/p' )

# remove identity from eth0, but keep it UP
ifconfig eth0 0.0.0.0

# the eth0 interface into the real ethernet bridge
brctl addif ren eth0

# configure ren with eth0 information
ifconfig ren ${IP4} netmask ${NMSK} broadcast ${BCST}

# last line

Hier heet "br0" dus "ren" en komt verder neer op wat Kees beschrijft.


Dan heb ik nog een tweede script nodig. Het is voor de guest die als
hostname 'mir' heeft. Ik noem het tap device ook zo.

#!/bin/sh

# for VirtualBox 
modprobe vboxdrv

# create tap device
tunctl -t mir -u stappers > /dev/null

# activate the new interface
ifconfig mir up

# add it to the Real EtherNet bridge
brctl addif ren mir

# last line


In het VirtualBox configuratie scherm is bij 'Network'
gekozen voor 'Attached to "Host Interface"'
en 'Interface Name "mir"'

Voor een volgende guest met bijvoorbeeld hostname "clone"
is een copie van het tweede script wat er dan zo uit ziet:

#!/bin/sh

# modprobe vboxdrv  # allready done

tunctl -t clone -u stappers > /dev/null
ifconfig clone up
brctl addif ren clone

# last line

In het VirtualBox configuratie scherm is bij 'Network'
gekozen voor 'Attached to "Host Interface"'
en 'Interface Name "clone"'


Doe je voordeel met deze informatie   :-)


Cheers
Geert Stappers

[0]: user started, not automatic started at power-up.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFIb4zdOSINbgwa/7sRAvnvAJ4zD1ICp14jymQuLZdijSMryVz9ygCgq9lo
Fi6/AOCusL/D8dsPNXM9NB0=
=aB4e
-----END PGP SIGNATURE-----



More information about the Linux mailing list