Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Internet a sítě => Téma založeno: blaf 06 Ledna 2009, 00:14:18
-
Ahoj,
mám problém s rozchozením serveru ve virtuální mašině běžící v Virtualboxu 2.1 na Ubuntu 8.10. Z dokumentace k VB jsem pochopil, že by mělo stačit v nastavení virtuální mašiny nastavit typ sítě na Host Interface. Když to tak nastavím tak se z guesta dostanu na internet a pingnu i hosta (oba stroje jsou ve stejné síti, host 192.168.0.2, guest 192.168.0.10, gateway 192.168.0.1). Ale když zkusím pingnout guesta z hosta tak to nejde. Zkousel jsem i v /etc/network/interfaces nastavit bridge a ten potom použít v VB, ale výsledek je úplně stejný.
/etc/network/interfaces - normal
auto lo
iface lo inet loopback
vypis ifconfig
eth0 Link encap:Ethernet HWaddr 00:1a:4d:57:48:78
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::21a:4dff:fe57:4878/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8574 errors:0 dropped:0 overruns:0 frame:0
TX packets:8469 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:8529879 (8.5 MB) TX bytes:1298079 (1.2 MB)
Interrupt:219 Base address:0x4000
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:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:100 (100.0 B) TX bytes:100 (100.0 B)
/etc/network/interfaces - bridge
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off
ifconfig
br0 Link encap:Ethernet HWaddr 00:1a:4d:57:48:78
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::21a:4dff:fe57:4878/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:86 errors:0 dropped:0 overruns:0 frame:0
TX packets:125 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:55200 (55.2 KB) TX bytes:20510 (20.5 KB)
nastaveni v VB
http://picasaweb.google.com/tomas.vojtech/Vbox#5287949223418149090 (http://picasaweb.google.com/tomas.vojtech/Vbox#5287949223418149090)
eth0 Link encap:Ethernet HWaddr 00:1a:4d:57:48:78
inet6 addr: fe80::21a:4dff:fe57:4878/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8587 errors:0 dropped:0 overruns:0 frame:0
TX packets:8574 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:8606710 (8.6 MB) TX bytes:1322263 (1.3 MB)
Interrupt:219 Base address:0x2000
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:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:376 (376.0 B) TX bytes:376 (376.0 B)
http://picasaweb.google.com/tomas.vojtech/Vbox#5287949223896267042 (http://picasaweb.google.com/tomas.vojtech/Vbox#5287949223896267042)
budu vděčný za každou radu
předem díky
-
Je potřeba si na hostiteli vytvořit další interface. Třeba
sudo VBoxAddIF vbox0 <user>
A guesta připojit k vbox0.
Rozhraní vbox0 se dá ip adresa aby byla na stejné podsíti jako guest. Ale na jiné podsíti jako eth0.
Teď se dostaneme z hostitele na guesta a naopak. Ale guest se nedostane na internet.
Aby se guest dostal na internet můžeme třeba vytvořit ten bridge br0 a do něj se zahrne eth0 a vbox0.
br0 bude mít IP adresu. eth0 a vbox0 IP adresu mít nebudou.
br0 bude na stejné podsíti jako guest.
Taky se mohl vytvořit prvně bridge br0 a příkazem
sudo VBoxAddIF vbox0 <user> br0
vytvořit interface vbox0 a rovnou ho přidat do bridge.
-
Případně přidat pevnou routu na IP toho virtuálního stroje a využít arp proxy.
-
Je potřeba si na hostiteli vytvořit další interface.....
Ve Virtualboxu 2.1 se to už dělat nemusí.Stačí vybrat hostitelovo eth rozhraní a mělo by to fungovat. Mám takto nastavené dva virtualboxy a normálně se přes síť dostanu z jednoho vituálu do dalšího. To samé z normálních strojů do virtualizovaných a zpět. Zatím mám ale ve virualizovaných systémech nastaveno DHCP. Pevnou IP jsem zatím nezkoušel, ale předpokládám, že se nic nemění.
-
Ve Virtualboxu 2.1 se to už dělat nemusí.Stačí vybrat hostitelovo eth rozhraní a mělo by to fungovat.
Máte pravdu. Přesně tohle je napsáno v manuálu. Jenže mě to jaksi nefunguje a proto jsem to zkoušel přes nějaký bridge.
Nemůže být problém v tom, že ip se přidělují přes dhcp na hostu i guestu?
-
Máte pravdu. Přesně tohle je napsáno v manuálu. Jenže mě to jaksi nefunguje a proto jsem to zkoušel přes nějaký bridge.
Nemůže být problém v tom, že ip se přidělují přes dhcp na hostu i guestu?
Možná.Zkuste si na hostitelském pc dát pevnou ip.
-
Tak přidělením statické ip hostitelskému počítači nic nevyřešilo. Situace je pořád úplně stejná.
Nemá někdo ještě nějaký nápad?
blaf
-
Jedině o jaké systémy (host, hostitel) se jedná? Firewall?
-
hostitel ubuntu 8.10, host win xp, ale vevnitr jsem zkousel i slackware a centos a bylo to stejne
vypis z iptables
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
-
Virtual Box od verze 2.1 podporuje novnou metodu nastaveni Host Interface, takze uz neni potreba vytvarer virtualni interface and bridge.
Vsechno krasne funguje pokud je hostitesky interface "fyzicky pripojeny" k jinemu pocitaci (k jinemu ethernet aktivnimu prvku).
Pak uz staci jen pouzit DHCP nebo staticke IP adresy a otestovat sit (ping hostitel->host, ping host->hostitel, nmap, ...).
-
Jednoduche reseni, ktere jsem hledal dost dlouho, je vyuzit virtualni interface, pokud chcete pouzit VirtualBox Host Interface bez fyzickeho pripojeni k jinemu pocitaci.
(Tise predpokladam, ze Vam necini problem otevrit terminal Aplikace -> Prislusenstvi -> Terminal a spustit v nem prikazy.)
Instalace:
nejprve je potreba nainstalovat uml-utilities (na hostitelsky pocitac)sudo apt-get install uml-utilities
Nastaveni:
vytvorit virtualni interface tap0 (na hostiteli)sudo tunctl -t tap0
nastavit tap0 a "nahodit" interface (v nasem pripade pouziji sit 10.0.0.0, opet na hostiteli) sudo tap0 10.0.0.2 netmask 255.255.255.0 up
ve VirtualBoxu nastavit Host Interface pro hosta (pouze naznaceno)
- vybrat virtualni pocitac
- nastaveni -> sit -> host interface
- v seznamu dole oznacit tap0
spustit virtualni pocitac (hosta) a nastavit jeho sit sudo ifconfig eth0 10.0.0.5 netmask 255.255.255.0 up
Overeni kumunikace:
a na zaver je dobre overit komunikaci mezi hostitelem a hostem
1) zkusit dostupnot hosta z hostitele (sputit nasledujici na hostiteli) ping 10.0.0.52) a dostupnost hostitele z hosta (sputit z virtualniho pocitace) ping 10.0.0.2
Komentar na konec:
Virtualni interface tap0 zmizi po restartovani pocitace.
"Rychle a spinave" reseni pro automaticke vytvoreni a nastaveni virtualniho interfacu je upravit soubor /etc/gdm/Init/Default sudo nano /etc/gdm/Init/Default a pridat na jeho konec pred "exit 0" nasledujici # vytvoreni tap0 pro VirtualBox 2.1 host interfacing
tunctl -t tap0
ifconfig tap0 192.168.0.2 netmask 255.255.255.0 up
# puvodni prikaz exit 0
exit 0