Jak wykonać połączenie sieciowe między maszynami wirtualnymi w VirtualBox?

92

Mam dwie maszyny wirtualne w VirtualBox. Chciałbym nawiązać między nimi współpracę. W tej chwili mam domyślną konfigurację obu, ale wydają się mieć ten sam adres IP 10.0.2.15. Chciałbym również móc korzystać z Internetu w obu przypadkach, i jest to teraz możliwe.

Domyślnie ustawieniem sieci jest NAT, ale wygląda na to, że nie mogą sieci wewnętrznie, ponieważ mają ten sam adres IP. Ale jeśli zmienię na internal networking, myślę, że nie mogę uzyskać dostępu do Internetu za pomocą maszyn wirtualnych.

Jak skonfigurować sieć między wirtualnym gościem ORAZ mieć na nich dostęp do Internetu?

Jonas
źródło

Odpowiedzi:

57

Czy wypróbowałeś już Przewodnik po sieciach wirtualnych ?

Maszyna wirtualna otrzymuje adres sieciowy i konfigurację w sieci prywatnej od serwera DHCP zintegrowanego z VirtualBox. Adres IP przypisany w ten sposób maszynie wirtualnej zwykle znajduje się w zupełnie innej sieci niż host. Ponieważ więcej niż jedna karta maszyny wirtualnej może być skonfigurowana do korzystania z NAT, pierwsza karta jest podłączona do sieci prywatnej 10.0.2.0, druga karta do sieci 10.0.3.0 i tak dalej.

Myślę, że to, czego szukasz, to „ wewnętrzna sieć ”, łącząca ze sobą wewnętrzne maszyny wirtualne.

Możesz użyć okna dialogowego „Ustawienia” maszyny wirtualnej w graficznym interfejsie użytkownika VirtualBox. W kategorii „Sieć” okna dialogowego ustawień wybierz „Sieć wewnętrzna” z rozwijanej listy trybów sieci. Teraz wybierz nazwę istniejącej sieci wewnętrznej z rozwijanego menu poniżej lub wprowadź nową nazwę w polu wprowadzania.

Ye Lin Aung
źródło
1
Dzięki, właśnie tak. Sieć wewnętrzna działa, ale nie jest dostarczana z DHCP, więc wypróbowałem rozwiązanie Bridged i działa dobrze. Dzięki.
Jonas
3
@Joe Internet twój link jest OK, ale zrozumiałem go dopiero po przeczytaniu blog.techprognosis.com/2011/02/28/… . To powiedziawszy, mam uruchomioną sieć wewnętrzną. Nie mogłem wybrać trybu tylko hosta lub trybu zmostkowanego, ponieważ brakuje odpowiednich adapterów.
bernd_k
1
Link w poprzednim komentarzu nie działał dla mnie, wydaje się, że jest poprawny: blog.techprognosis.com/how-to-enable-dhcp-in-virtualbox-4
Nicola Musatti
Nie działało to dla mnie, dopóki nie ustawiłem statycznego adresu IP.
VaTo
31

Znalazłem następujące rozwiązanie dla mojego środowiska:

  • pierwszy adapter z siecią wewnętrzną, aby uzyskać dostęp do drugiej maszyny wirtualnej
  • drugi adapter z NAT do dostępu do Internetu.

Tych ustawień można dokonać za pomocą GUI Oracle VM VirtualBox Manager. Początkowo miałem ten sam problem co Jonas, brakowało mi DHCP. Wreszcie znalazłem ten artykuł (zarchiwizowana kopia, oryginalny link nie działa) i użyłem:

VBoxManage dhcpserver add --netname intnet --ip 10.13.13.100 --netmask 255.255.255.0 --lowerip 10.13.13.101 --upperip 10.13.13.254 --enable

z linii poleceń. Potem wszystko działało dobrze.

Śmiem twierdzić, że instrukcja jest słabym zasobem, ponieważ większość konfiguracji VirtualBox na hoście Windows może być wykonana przez GUI i poważną niedogodnością jest to, że nie można skonfigurować DHCP z GUI.

Moje środowisko: korzystam z przenośnego VirtualBox 4.1.2r73507 na Windows 7 64 bit. Obecnie nie działa tylko tryb hosta i mostkowany, ponieważ brakuje adaptera hosta. Mam problem podobny do opisanego w niemieckim pytaniu na forum Virtual Box , nie mam adaptera tylko hosta.

bernd_k
źródło
Mam już serwer internetowy dhcpserver, który jakoś przyszedł domyślnie, gdy zainstalowałem virtualbox 4.3.x, ale nie łączy się on z Internetem, gdy używam z nim nat.
pwned
11

W ten sposób łączę gości vbox tylko w trybie NAT (testowane na VirtualBox 4.2.4).

Wystarczy użyć adresu IP bramy, aby przejść od jednego gościa do hosta. Następnie użyj przekierowania portów, aby „proxy” ruch hosta do drugiego gościa.

Na przykład, jeśli gość A chce dotrzeć do usługi gościa B, która nasłuchuje na porcie 1000, A musi użyć adresu IP bramy (dla pierwszego interfejsu NAT jest to 10.0.2.2). Następnie musisz skonfigurować przekierowanie portów dla gościa B, aby cały ruch odebrany przez host na porcie 1000 był kierowany do gościa B na porcie 1000.

To może nie działać dla każdej usługi, ale wydaje się, że działa dobrze dla ssh, soli, ...

Podsumowując, nie potrzebujesz trybu samego hosta, aby połączyć wielu gości, ale nie chcę powiedzieć, że tryb tylko hosta nie jest najlepszą opcją dla twojego przypadku użycia.

użytkownik173653
źródło
1
Działa to bezbłędnie w moim przypadku użycia (testowanie ie8 na gościu xp łączącym się z serwerem w gościu linuksowym).
Ted
+1 za prostotę i prostotę!
Emre Sevinç
9

Potrzebny jest typ połączenia LAN hosta (coś takiego w wersji angielskiej) na komputerach-gościach i połączenie mostkowe na komputerze-hoście.

stymulacja
źródło
3

(odpowiedź na pytanie: bernd_k)

Aby udostępnić pliki między gospodarzem a gośćmi, w rzeczywistości udostępnia się katalogi, a nie pliki.

Jeśli tryb sieci jest zmostkowany lub NAT, to host i goście są równorzędnymi partnerami sieci. Chociaż cała konfiguracja jest zawarta w jednym hoście, pod względem sieci wszystkie są równe w sieci, tak jakby były fizycznymi maszynami. (NAT jest czasem bardziej problematyczny w użyciu niż zmostkowany).

W ten sposób każdy folder współdzielony na dowolnym komputerze, wirtualnym lub fizycznym, jest dostępny dla wszystkich. Ponieważ nie wszystkie maszyny wirtualne mogą być cały czas włączone, warto ustawić jeden folder hosta jako folder współdzielony. Następnie host udostępnia folder, a maszyny wirtualne używają go takim, jakim jest lub jako zamapowanym dyskiem.

W poniższym artykule szczegółowo opisano, jak udostępniać foldery w systemie Windows:
Jak udostępniać foldery w systemie Windows 7 za pomocą Kreatora folderów współdzielonych?

harrymc
źródło
2
Twoje wskazówki są cenne na późniejszym etapie, ale przed udostępnieniem plików lub folderów musisz być w stanie pingować drugi komputer.
bernd_k
2

Mam dwie karty sieciowe na moim komputerze Oracle VM XP

1. Połączony z szybkim adresem IP, ponieważ używam go jako klienta z konfiguracją sieci serwera. Zmieniono domyślną bramę na tę samą, co druga karta sieciowa (Nat 2nd)

2nd Nat Z uzyskaj adres IP od Oracle VM

działa w porządku!

Malcolm
źródło
2

Zrobiłem następujące kroki i nareszcie zadziałało ze mną (w CentOS VB):

  • Użyj NAT dla podstawowej karty sieciowej (Ustawienia -> Sieć -> Karta1 „dołączona do NAT”).
  • Dodaj kolejny adapter (Ustawienia -> Sieć -> włącz Adapter2 „podłączony do adaptera tylko hosta”) -> ustaw „Tryb rozwiązany” na „Zezwól na wszystko”.
  • Uruchom VB.
  • Dodaj kolejny interfejs sieciowy (cp / etc / sysconfig / network-scripts / ifcfg-eth0 / etc / sysconfig / network-scripts / ifcfg-eth1).
  • Zmień adres MAC dla eth1 zgodnie z tym, który pojawia się w Adapter2 ((Ustawienia -> Sieć ->).
  • Uruchom ponownie sieć „usługa restart sieci”

Wtedy ten VB powinien mieć dostęp do Internetu i może być dostępny z innych (VB i komputera lokalnego).

Uwaga:

Adapter NAT zostanie użyty do uzyskania dostępu do Internetu, a adapter Tylko host będzie używany do dostępu sieciowego między innymi VB i maszyną lokalną.

Moll
źródło
0

Nie wiem, czy to zadziała, ale moim pomysłem jest:

  1. Zmień IP na numer różnicowy tylko na jednej maszynie wirtualnej (w trybie NAT).

  2. Zmień inną maszynę wirtualną na Bridged.

  3. Ustaw ustawienia w obu systemach, aby maszyny mogły się znaleźć. Uruchom wszystko ponownie.

Jeśli 1 + 3 lub 1 + 2 + 3 nie działają, spróbuj tego: Utwórz folder współdzielony na maszynie hosta i udostępnij folder 2 maszynom Virtualbox w ustawieniach Virtualbox. Zrestartować się i voilá?

Wiem, że druga opcja to obejście.

H_7
źródło
0

Zmień sieć podłączoną do Bridged Adapter w sieci w Ustawieniach.

Otóż ​​to; Może łączyć dwa wirtualne komputery.

ami
źródło