Bridge in Virtualbox: hoe virtual machine te bereiken?

Pagina: 1
Acties:

  • mithras
  • Registratie: Maart 2003
  • Niet online
Ik heb Ubuntu server in Virtualbox geïnstalleerd, met Ubuntu als host systeem. Omdat ik vanuit mijn host de virtual machine wil bereiken, is NAT niet toereikend en heb ik een bridge gemaakt. Dit doe ik door het volgende scriptje:
Bash: bridge.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/sh

USERNAME=jurian            #user of host system
DHCP=1                     #1 for DHCP, 2 for static ip
IP_ADDRESS=192.168.1.105   #ip address for static config

tunctl -t tap1 -u $USERNAME
brctl addbr br0
ifconfig eth0 0.0.0.0 promisc
brctl addif br0 eth0

if [ DHCP = 1 ]; then
  dhclient br0
else
  ifconfig br0 $IP_ADDRESS
fi

brctl addif br0 tap1
ifconfig tap1 up
chmod 0666 /dev/net/tun
Ik krijg vervolgens extra interfaces op mijn host:
br0       Link encap:Ethernet  HWaddr 00:1c:25:93:99:dc  
          inet addr:192.168.1.105  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::21c:25ff:fe93:99dc/64 Scope:Link              
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1              
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0              
          TX packets:24 errors:0 dropped:0 overruns:0 carrier:0           
          collisions:0 txqueuelen:0                                       
          RX bytes:0 (0.0 B)  TX bytes:3784 (3.7 KB)                      

eth0      Link encap:Ethernet  HWaddr 00:1c:25:93:99:dc  
          UP BROADCAST PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000                        
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)              

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host     
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:83 errors:0 dropped:0 overruns:0 frame:0
          TX packets:83 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0                            
          RX bytes:5563 (5.5 KB)  TX bytes:5563 (5.5 KB)       

tap1      Link encap:Ethernet  HWaddr 00:ff:ef:38:bf:2b  
          inet6 addr: fe80::2ff:efff:fe38:bf2b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:6 overruns:0 carrier:0
          collisions:0 txqueuelen:500                         
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)              

wlan0     Link encap:Ethernet  HWaddr 00:21:5c:51:8d:e1  
          inet addr:145.94.186.6  Bcast:145.94.187.255  Mask:255.255.252.0
          inet6 addr: fe80::221:5cff:fe51:8de1/64 Scope:Link              
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1              
          RX packets:8218 errors:0 dropped:0 overruns:0 frame:0           
          TX packets:1432 errors:0 dropped:0 overruns:0 carrier:0         
          collisions:0 txqueuelen:1000                                    
          RX bytes:2363390 (2.3 MB)  TX bytes:259008 (259.0 KB)           

wmaster0  Link encap:UNSPEC  HWaddr 00-21-5C-51-8D-E1-64-65-00-00-00-00-00-00-00-00
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
De br0 is dus de bridge voor de interface tap0 en die is gebridged met eth0.

Op mijn virtual machine heb ik nu de volgende interfaces:
eth0      Link encap:Ethernet  HWaddr 08:00:27:13:12:8a  
          inet6 addr: fe80::a00:27ff:fe13:128a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000                        
          RX bytes:0 (0.0 B)  TX bytes:2178 (2.1 KB)
          Interrupt:11 Base address 0xc020              

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host     
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0                            
          RX bytes:200 (200.0 B)  TX bytes:200 (2.0 B)
Op zich is op mijn laptop wlan0 de running interface, maar dat moet toch niet uitmaken? Als ik namelijk eth0 in het script naar wlan0 verander valt het hele netwerk weg op mijn laptop 8)7

Ik begrijp ongeveer wat er gebeurt, maar weet te weinig van netwerken en virtual machines. Mijn probleem is dat de virtual machine geen internet heeft, maar ik kan vanuit mijn host ook niet de virtual machine bereiken. Dat is wel iets wat ik graag zou willen met een virtuele server :)

Heeft iemand een suggestie hoe ik dit fix?

  • Siebz0r
  • Registratie: Juli 2007
  • Laatst online: 22-06-2018

Siebz0r

Got root?

Als je een bridge aanmaakt voor Virtualbox moet je naar mijn weten de interface gebruiken waar je I-net op binnenkomt.

Komt er netwerk binnen op je wlan0, dan bridge je met wlan0 ;)

Het staat trouwens letterlijk in de Virtualbox handleiding:
First, you must create a bridge on the host and add one of the host's physical network interfaces to it, usually eth0. This will let you connect that interface to the virtual interfaces used by the virtual machines.

Keep in mind that bridging is an Ethernet concept, not a TCP/IP one. In physical networking, bridging is normally used to connect two Ethernet networks, letting computers on the one communicate with computers on the other through a single point of contact without having to merge the networks into one.[12]

[ Voor 62% gewijzigd door Siebz0r op 17-09-2008 09:26 ]


  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22-01 08:08

TrailBlazer

Karnemelk FTW

ik denk dat je je gewoon de eth0 van je virtual box een ip moet geven in de reeks van je bridgde dus bijvoorbeeld 192.168.1.106

  • Siebz0r
  • Registratie: Juli 2007
  • Laatst online: 22-06-2018

Siebz0r

Got root?

TrailBlazer schreef op woensdag 17 september 2008 @ 10:04:
ik denk dat je je gewoon de eth0 van je virtual box een ip moet geven in de reeks van je bridgde dus bijvoorbeeld 192.168.1.106
Daar heeft de TS een dhcp client voor? ;)
Die zit volgens mij standaard in Ubuntu (guest), lijkt me vreemd/slecht (van Ubuntu) als dit er niet in zit gebakken.
Ubuntu staat toch voor gebruiksvriendelijkheid? Of is de Server versie niet "Idiot Proof"?

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22-01 08:08

TrailBlazer

Karnemelk FTW

Eerst alles statisch aan de praat krijgen en dan gaan rotzooien met DHCP en dergelijke.

  • Siebz0r
  • Registratie: Juli 2007
  • Laatst online: 22-06-2018

Siebz0r

Got root?

Laat de TS eerst een bridge aanmaken tussen zijn I-net interface en zijn Virtualbox interface ;) dat heeft de TS nu niet en dat lijkt me stap 1.

By the way, TS waar heb je dat scriptje vandaan? Ik zie toch een heel ander iets staan in de handleiding van Virtualbox.

  • mithras
  • Registratie: Maart 2003
  • Niet online
Het scriptje is een van de vele mogelijkheden. Het komt volgens mij allemaal op hetzelfde neer en dit leek me de makkelijkste oplossing. Verder heb ik er niet vele verstand van, maar overal gebeurt hetzelfde (op enkele naamgeving na dan, met of zonder dhcp etc).

Ik heb het nog steeds dat mijn wifi wegvalt op het moment dat ik een bridge aanmaak, maar daar ben ik nu dus mee aan het puzzelen. Vooral omdat ik geen verstand heb van vm en netwerk zit ik hiermee, maar het zal vast niet zo ingewikkeld zijn :p

Het vreemde vooral van dat ethernet gebeuren, is dat ik dus niet mijn vm kan bereiken op het moment dat ik geen internet heb. Volgens mij kan ik dit probleem omzeilen door niet met dhcp te spelen maar een statisch ip te geven, kan dat kloppen?

  • Siebz0r
  • Registratie: Juli 2007
  • Laatst online: 22-06-2018

Siebz0r

Got root?

mithras schreef op woensdag 17 september 2008 @ 15:26:
Het scriptje is een van de vele mogelijkheden. Het komt volgens mij allemaal op hetzelfde neer en dit leek me de makkelijkste oplossing. Verder heb ik er niet vele verstand van, maar overal gebeurt hetzelfde (op enkele naamgeving na dan, met of zonder dhcp etc).
[...]
Probeer eerst eens volgens de handleiding de bridge te configureren voor je zelf initiatief neemt ;)
[...]
Ik heb het nog steeds dat mijn wifi wegvalt op het moment dat ik een bridge aanmaak, maar daar ben ik nu dus mee aan het puzzelen. Vooral omdat ik geen verstand heb van vm en netwerk zit ik hiermee, maar het zal vast niet zo ingewikkeld zijn :p

Het vreemde vooral van dat ethernet gebeuren, is dat ik dus niet mijn vm kan bereiken op het moment dat ik geen internet heb. Volgens mij kan ik dit probleem omzeilen door niet met dhcp te spelen maar een statisch ip te geven, kan dat kloppen?
Als ik een bridge aanmaak (ik zit nu op Win XP) valt mijn verbinding weg, maar deze hersteld na een x aantal seconden. Probeer na het aanmaken van de bridge opnieuw verbinding te maken met je netwerk ;)

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 22:28

Hero of Time

Moderator LNX

There is only one Legend

Ahum. Wifi en bridge werken niet. Zie ook VirtualBox FAQ, voor een groot deel geschreven door yours truly ;).

Ik heb dezelfde situatie gemaakt, communicatie tussen Guest en Host zonder problemen. Geen bridge voor nodig, alleen een Host Interface. Voer het volgende uit als root (of via sudo):
code:
1
2
VBoxAddIF vbox0 <je gebruikersnaam>
ifconfig vbox0 192.168.4.1 netmask 255.255.255.0 up

Start je VM op, en vul daar het zelfde IP range in. Je script heb je nu niet meer nodig. Het IP adres kan je in je /etc/network/interfaces zetten op beide machines. Op het forum van VirtualBox vind je ook genoeg mensen met dezelfde situatie.

Succes.

Ps. Voor internet gewoon een extra iface toevoegen met NAT.

Commandline FTW | Tweakt met mate


  • ahbart
  • Registratie: Januari 2002
  • Laatst online: 28-01 17:53
Virualbox biedt de mogelijkheid om de client te benaderen via een shared folder. Dit kun je doen in de hoofdinterface van Virtualbox selecteer de client en dan settings. Daar zie je de shared folders ook staan.
Is dat niks voor je?

  • mithras
  • Registratie: Maart 2003
  • Niet online
Siebz0r schreef op woensdag 17 september 2008 @ 16:11:
[...]

Probeer eerst eens volgens de handleiding de bridge te configureren voor je zelf initiatief neemt ;)
In principe komt het bij elke tutorial op hetzelfde neer, alleen met net wat andere naamgeving. Helaas, maar bedankt voor je input :)
Hero Of Time schreef op woensdag 17 september 2008 @ 18:54:
Ahum. Wifi en bridge werken niet. Zie ook VirtualBox FAQ, voor een groot deel geschreven door yours truly ;).

Ik heb dezelfde situatie gemaakt, communicatie tussen Guest en Host zonder problemen. Geen bridge voor nodig, alleen een Host Interface. Voer het volgende uit als root (of via sudo):
code:
1
2
VBoxAddIF vbox0 <je gebruikersnaam>
ifconfig vbox0 192.168.4.1 netmask 255.255.255.0 up

Start je VM op, en vul daar het zelfde IP range in. Je script heb je nu niet meer nodig. Het IP adres kan je in je /etc/network/interfaces zetten op beide machines. Op het forum van VirtualBox vind je ook genoeg mensen met dezelfde situatie.

Succes.

Ps. Voor internet gewoon een extra iface toevoegen met NAT.
Het ziet er wel goed uit. Zo 1-2-3 die toevoegen werkt nog niet, maar via deze "oplossing" heb ik veel andere users gevonden met hetzelfde probleem. Hier ga ik wel uitkomen :)
ahbart schreef op donderdag 18 september 2008 @ 12:57:
Virualbox biedt de mogelijkheid om de client te benaderen via een shared folder. Dit kun je doen in de hoofdinterface van Virtualbox selecteer de client en dan settings. Daar zie je de shared folders ook staan.
Is dat niks voor je?
Ik wil websoftware kunnen testen. Een shared folder is dan een onderdeel daarvan (ik wil een hostmap in de vm mounten of vice versa), maar dan kom ik met mijn browser nog niet bij mijn virtuele webserver ;)

  • mithras
  • Registratie: Maart 2003
  • Niet online
Om nog te reageren op bovenstaande oplossing: de bridging werkt inderdaad niet met wireless en daarom moet het anders opgelost worden. De bovenstaande oplossing blijkt iets te kort door de bocht te zijn.

Hier heeft iemand een goede uitleg geschreven hoe je het met routing wel aan de praat kan krijgen. Het komt neer op het volgende:
tunctl -u $USER
sysctl net.ipv4.ip_forward=1
sysctl net.ipv4.conf.wlan0.proxy_arp=1
sysctl net.ipv4.conf.tap0.proxy_arp=1
ip link set tap0 up
route add -host 192.168.1.200 dev tap0
Waarna je via 192.168.1.200 je virtual machine kan bereiken :)
Pagina: 1