VirtualBox und Host-Only-Networking

Konfiguration unter Linux

Das kann doch ei­gent­lich nicht so schwie­rig sein! Soll­te man mei­nen, aber ir­gend­wie war ich beim Goo­g­len nach der rich­ti­gen An­lei­tung glück­los. Des­halb – quasi auch als Notiz an mich selbst – meine Ein­rich­tung.

Host-On­ly vs. NAT

Mein Wunsch­ziel war fol­gen­des: Eine VM, die das Au­ßen­netz er­rei­chen kann, selbst aber nur vom Host­sys­tem aus er­reich­bar ist, das ganze in einer Kon­fi­gu­ra­ti­on, die nicht von ir­gend­wel­chen ex­ter­nen Kom­po­nen­ten (wie z.B. einem DHCP-Ser­ver im LAN) ab­hän­gig ist.

Ein NAT-In­ter­face in Vir­tu­al­box ex­po­niert die VM nicht ge­gen­über dem Host. Die VM er­reicht zwar das Au­ßen­netz, ist aber selbst nicht er­reich­bar – lei­der eben auch vom Host nicht.

Also braucht die VM ein Netz­werk-In­ter­face, wel­ches eine Ver­bin­dung zum Wirts­sys­tem her­stellt. Ent­we­der rich­tet man die­ses als zwei­tes Netz­werk-De­vice ein, oder man kon­fi­gu­riert im Host­sys­tem NAT für die VM. Ich habe mich für ers­te­re Lö­sung ent­schie­den.

Ein­rich­tung in Vir­tu­al­box

Im Haupt­me­nü unter File – Pre­fe­ren­ces – Net­work er­hält man eine Liste der Netz­werk-In­ter­faces, wel­che Vir­tu­al­box er­zeugt. Soll­te hier noch kei­nes vor­han­den sein, fügt man ein neues De­vice vboxnet0 hinzu. An­schlie­ßend kon­fi­gu­riert man es (Dop­pel­klick).

Unter „Ad­ap­ter“ teilt man dem De­vice eine lokal gül­ti­ge IP-Adres­se (z.B. 192.​168.​42.​1) und eine Sub­netz-Mas­ke (im Bei­spiel hier 255.​255.​255.​0) zu. Unter die­ser IP ist spä­ter das Wirts­sys­tem er­reich­bar.

Op­tio­nal kann man noch einen DHCP-Ser­ver kon­fi­gu­rie­ren, wenn man den VMs keine sta­ti­schen Adres­sen zu­tei­len möch­te.

Ein­rich­ten des De­vices

Das war der Punkt, über den ich ge­stol­pert bin. Vir­tu­al­box kon­fi­gu­riert of­fen­bar das De­vice nicht au­to­ma­tisch. Ich mußte es ma­nu­ell ein­rich­ten:

ifconfig vboxnet0 192.168.42.1 up
route add -net 192.168.42.0/24 dev vboxnet0

That did the trick. IP und Netz­werk-Prä­fix müs­sen na­tür­lich zu den oben ge­trof­fe­nen Ein­stel­lun­gen pas­sen.

Sich selbst ein Bein stel­len

Wenn es immer noch nicht geht: Kurz prü­fen, ob es ir­gend­ei­ne ip­ta­bles-Re­gel gibt, wel­che die Ver­bin­dung un­ter­bin­det. Wer sein Wirts­sys­tem von der VM aus er­rei­chen möch­te und ufw be­nutzt: Mit­tels

ufw allow in on vboxnet0

er­laubt man den VMs an vboxnet0 frei­en Zu­griff auf das Wirts­sys­tem.