Sie sind nicht angemeldet.

1

05.01.2009, 13:39

VirtualBox wie ein zweitrechner einrichten (Netzwerk)

Erstmal ein Gutes Neues.

Ich möchte VirtualBox im gleichen Subnetz verwenden, damit ich zugriff via Neztwerk auf diese Virtuelle Machine habe.
Jedoch bekomme ich es nicht hin, das VirtualBox über DHCP eine 192.x IP bekommt, sie bekommt immer eine 10.x
Auch wenn ich die IP Manuell ändere habe ich keinen Netzwerk zugriff (ping geht nicht)

Hat jemand Erfahrungen mit VirtualBox und kann mir ein HOWTO bzw. Anleitung empfehlen?
Und ist es Richtig das man eine Virtuelle Schnittstelle Einrichten muss und via bridge mit einer zu verbinden?
knasan

- Bug oder Feature, das darf man sich hier aussuchen. -

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »knasan« (09.01.2009, 10:42)


2

05.01.2009, 14:36

Du musst für die jeweilige Maschine in der Konfiguration statt "NAT" den Modus "Host Interface" auswählen. Dazu muss aber erst noch das VBox Host Interface mit der Netzwerkkarte des Hosts gebrückt werden, was unter Linux aber nicht ganz so easy ist wie z.B. unter Windows***.
Welches Betriebssystem ist Dein host?

***Schau mal in die VBox Hilfe, dort steht das eigentlich sehr ausführlich beschrieben, ansonsten gibt es noch http://forums.virtualbox.org

3

05.01.2009, 18:08

Danke!
Die Infos mit Host Interface und das man ne bridge benötigt waren sehr hilfreich.
Und hier meine Lösung

/etc/conf.d/net

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
[config_eth0=( "null" )
tuntap_vbox0=tap
config_vbox0=( "null" )
config_br0=( "192.168.2.104 netmask 255.255.255.0 brd 192.168.2.255 mtu 1492" )
dns_servers_br0=( "192.168.2.1" )
routes_br0=( "default gw 192.168.2.1" )
bridge_br0="eth0 vbox0"
depend_br0()
{
need net.eth0
need net.vbox0
}
brctl_br0=( "setfd 0" )


Es muss ein Symlinks für vbox0 Angelegt werden - es ist zu behandeln wie eine Normale Netzwerkkarte

Quellcode

1
ln -s /etc/init.d/net.lo /etc/init.d/net.vbox0


Um die Brige dauerhaft im System zu erhalten, verwende ich dieses Script (Siehe Anhang)
Script:

Quellcode

1
2
3
4
5
mv vbox.txt vbox
sudo cp vbox /etc/init.d/
sudo chmod +x /etc/init.d/vbox 
sudo rc-update add vbox default
sudo rc-update add net.vbox0 default


Bis hier habe ich diese Quelle benutzt:
Kay Farin Block

Damit HostInterface in VirtualBox Funktioniert, muss man es Virtualbox bekannt geben und einen Benutzer definieren der es verwenden darf. Das Interface und der User werden in /etc/vbox/interfaces Eingetragen.

Auszug von /etc/vbox/interfaces

Quellcode

1
 vbox0 <user> br0 


Dies kann man jedoch mit dem Internen Virtualbox Tool VBoxAddIF erledigen

Quellcode

1
sudo VBoxAddIF vbox0 <user> br0


Diese Informationen habe ich aus der Hilfe von Virtualbox entnommen.

Danke!

[EDIT]
Aus gründen der Zeichensätze von der Homepage, woher ich das script habe funktioniert das script nicht mehr. Nach einem Reboot waren ? im Script. Leider habe ich das script noch nicht zum laufen gebracht. Ich werde mich aber darüm kümmern damit es lauffähig ist und dann die reversion hier posten
»knasan« hat folgende Datei angehängt:
  • vbox.txt (576 Byte - 6 mal heruntergeladen - zuletzt: 14.07.2012, 20:22)
knasan

- Bug oder Feature, das darf man sich hier aussuchen. -

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »knasan« (06.01.2009, 18:58)


4

05.01.2009, 18:26

Cool, ich war bisher zu faul unter Linux die Brücke einzurichten, bisher laufen alle meine VBoxen über NAT (Host Interface wär mir aber auch lieber) daher werd ich mir Deinen Weg mal bei Gelegenheit zu Gemüte führen.

5

06.01.2009, 21:47

Ich habe mich jetzt auf die Fehler suche gemacht und habe festgestellt das dieses Script gar nicht benötigt wird. Man muss nur darauf acht geben das dieser Befehl einmalig als Root ausgeführt wird

Quellcode

1
 VBoxTunctl -t vbox0  -u username 


Ich hab ein kleines, statisches script geschrieben, darin muss man lediglich die VARIABLE USER_NAME editieren. Wenn, wie oben einmal gepostet eure virtuelle schnittstelle vbox0 genannt habt, sollte dann alles gut gehen.
Ich Teste noch das Script und dann poste ich es hier. - Warte noch einen tag ab und dann denke ich ist dieser Thread wirklich gelöst.

[EDIT]
Es funktioniert, also bitte dieses Script verwenden. Es wurde von mir geschrieben und eigentlich wäre es schön, wenn so ein einfaches script sofort mit installiert würde. Es wäre ja auch möglich via grep /etc/group nach vboxusers zu durchforsten und jeden benutzer der dort drin hat die rechte zu vergeben.
Naja, aber ich belasse es mal auf dieser Version :D
»knasan« hat folgende Datei angehängt:
  • vbox.txt (377 Byte - 11 mal heruntergeladen - zuletzt: 24.08.2013, 19:33)
knasan

- Bug oder Feature, das darf man sich hier aussuchen. -

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »knasan« (06.01.2009, 22:02)


6

10.01.2009, 18:41

So, habe mir jetzt Dank Deinem thread endlich einen Ruck gegeben und bridging auch auf meinem Rechner aktiviert. Dabei bin ich so wie Du nach der Anleitung auf Kay's Welt vorgegangen und bei mir hat alles so funktioniert wie es dort beschrieben war. Mir ist jetzt nicht klar, wozu das script im Anhang benötigt wird *kopfkratz*

Lediglich die von Dir beschriebenen Probleme mit dem Zeichensatz (" und ' machten Probleme) musste auch ich umschiffen, aber sonst lief das bei mir so (wie auf Kay's Welt beschrieben) ab:

1.) Im Kernel die beiden Optionen aktiviert

Quellcode

1
2
Networking -> Networking Options -> 802.1d Ethernet Bridging
Device Drivers -> Network device support -> Universal TUN/TAP device driver support

2.) /etc/conf.d/net konfiguriert (allerdings mit DHCP für br0 anstatt statische IP)

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
config_eth0=( "null" )
tuntap_vbox0="tap"
config_vbox0=( "null" )
config_br0=( "dhcp" )
dhcp_br0="nontp nonis"
bridge_br0="eth0 vbox0"
depend_br0()
{
need net.eth0
need net.vbox0
}
brctl_br0=( "setfd 0" )

3.) Geräte-Links erstellt

Quellcode

1
2
3
cd /etc/init.d/
ln -s net.lo net.vbox0
ln -s net.lo net.br0

4.) net.vbox0 und net.br0 in den default-Runlevel eingefügt

Quellcode

1
2
rc-update add net.vbox0 default
rc-update add net.br0 default

5.) /etc/init.d/vbox erstellt

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/sbin/runscript

source /etc/profile

PROXY_USED="";
depend() {
# depend() function:
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
need net
before netmount
if [ -n "$PROXY_USED" ];
then
after $PROXY_USED
fi;
};

start() {
ebegin "Starting VirtualBox-Bridging"
awk '/vbox/ { system(sprintf("VBoxTunctl -u %s -t %s && ifconfig %s up", $2, $1, $1)); }' /etc/vbox/interfaces;
eend ${?}
};

stop() {
ebegin "Stopping VirtualBox-Bridging"
awk '/vbox/ { system(sprintf("VBoxTunctl -d %s", $1)); }' /etc/vbox/interfaces;
eend ${?}
};

6.) chmod 755 auf /etc/init.d/vbox

Quellcode

1
chmod 755 /etc/init.d/vbox

7.) vbox in den default-Runlevel eingefügt

Quellcode

1
rc-update add vbox default

8.) Netzwerk neugestartet (hat bei mir irgendwie nicht ganz gereicht > also Holzhammer rausgeholt und rebootet)

9.) /etc/vbox/interfaces konfiguriert

Quellcode

1
vbox0 <user> br0

10.) "Host Interface" vbox0 kann jetzt für die VBox Maschinen verwendet werden

Grüße
Felix