qemu netzwerk

UPDATE 22.08.2007: Generell überarbeitet, sehr vereinfacht!
UPDATE 30.09.2008: Für FreeBSD 7 überarbeitet

Mit der vorgestellten Installation von Qemu und XP konnte man zwar prima von Windwos XP auf das Internet zugreifen, aber “normale” Netzwerkfunktionen im eigenen Netz (z.B. vom Netzwerk auf XP zugreifen) waren nicht möglich.
Dafür muss das Netzwerkverhalten von Qemu verändert werden und FreeBSD benötigt ein paar neue extra Einstellungen. Wenn dies geschehen ist, steht Windows XP mit einer eigenen IP-Adresse im Netzwerk zur Verfügung, als ob es ein eigener Rechner wäre. Also los!

Pssst: Dies funktioniert natürlich auch mit jedem anderen Gast-Betriebssystem welches Netzwerk unterstützt….!

Vorraussetzungen: Root-Rechte und Qemu ist installiert.
FreeBSD 7.x
ALS ROOT:

Damit Qemu und Benutzer das benötigte TAP-und Bridge-Modul starten kann, sollte dies auch geladen werden:
#> kldload aio kqemu if_bridge if_tap
sysctl net.link.tap.up_on_open=1
sysctl net.link.tap.user_open=1

Der automatische Start beim Booten und die benötigten Einstellungen:
#> edit /boot/loader.conf

if_bridge_load=”YES”
if_tap_load=”YES”

#> edit /etc/sysctl.conf

net.link.tap.user_open=1
net.link.tap.up_on_open=1

Nun noch für die korrekten Berechtungen sorgen:
#> edit /etc/rc.conf

devfs_enable=”YES”
devfs_rulesets=”/etc/devfs.rules”
devfs_system_ruleset=”system”
cloned_interfaces=”bridge0″
ifconfig_bridge0=”addm rl0 up”

“rl0″ muss durch Deine Netzwerkkarte ausgetauscht werden!

#> edit /etc/rc.local

ifconfig bridge0 addm tap0

#> edit /etc/devfs.rules

[system=10]
add path tap* mode 0777
add path kqemu* mode 0777

#> /etc/rc.d/devfs restart

Jetzt kann es als normaler Benutzer ohne Root-Rechte weitergehen:
#> qemu -hda winxpsp2.qcow -boot c -m 512 -k de -localtime -net nic -net tap,ifname=tap0,script=/usr/bin/true

FreeBSD 6.x
ALS ROOT:
Damit Qemu und Benutzer das benötigte TAP-und Bridge-Modul starten kann, sollte dies auch geladen werden:
#> kldload if_tap.ko
#> kldload bridge.ko
#> sysctl net.link.ether.bridge.enable=1
#> sysctl net.link.ether.bridge.config=rl0,tap0
#> sysctl net.link.tap.user_open=1

“rl0″ muss durch Deine Netzwerkkarte ausgetauscht werden!

Der automatische Start beim Booten und die benötigten Einstellungen:
#> edit /boot/loader.conf

bridge_load=”YES”
if_tap_load=”YES”

#> edit /etc/sysctl.conf

net.link.ether.bridge.enable=1
net.link.ether.bridge.config=rl0,tap0
net.link.tap.user_open=1

“rl0″ muss durch Deine Netzwerkkarte ausgetauscht werden!

Nun noch für die korrekten Berechtungen sorgen:
#> edit /etc/rc.conf

devfs_enable=”YES”
devfs_rulesets=”/etc/devfs.rules”
devfs_system_ruleset=”system”

#> edit /etc/devfs.rules

[system=10]
add path tap* mode 0777
add path kqemu* mode 0777

#> /etc/rc.d/devfs restart

Noch das kleine obligatorische Hilfsskript:
#> edit /etc/qemu-ifup

#!/bin/sh
/sbin/ifconfig $1

#> chmod 755 /etc/qemu-ifup

Jetzt kann es als normaler Benutzer ohne Root-Rechte weitergehen:
#> qemu -hda winxpsp2.qcow -boot c -m 512 -k de -localtime -net nic -net tap

Windows XP Netzwerk