Próbuję skonfigurować zestaw gości w VirtualBox, tak aby każdy z nich mógł uzyskać dostęp do Internetu, a także być widoczny dla siebie i hosta. Chcę też, aby goście mieli statyczne adresy IP.
Oto procedura, którą stosowałem do tej pory:
- Wyłącz funkcję serwera DHCP sieci tylko hosta, która będzie używana w tej konfiguracji
- Zmień adres IP przypisany do hosta na 192.168.56.254
- Utwórz maszynę gościa z 2 kartami interfejsu sieciowego (NIC)
- Skonfiguruj pierwszą kartę sieciową, aby korzystała z NAT
- Skonfiguruj drugą kartę sieciową, aby korzystała z sieci Hot-Only
- Zainstaluj system operacyjny (Ubuntu Server 13.10) na każdym z nich
- Zaktualizuj system operacyjny
- Skonfiguruj sieć w następujący sposób, edytując / etc / network / interfaces
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.56.1 netmask 255.255.255.0 network 192.168.56.0 broadcast 192.168.56.255 gateway 192.168.56.254 dns-search cloudspace.local dns-nameservers 8.8.8.8 8.8.4.4
- Zapisz plik
- Restart
Po ponownym uruchomieniu gościa sieć tylko host działa poprawnie. Pary hosta / gościa i gościa / gościa mogą pingować się nawzajem, jednak Internet nie działa, ponieważ apt-get
zawodzi.
Jeśli wydam service networking restart
polecenie, sieć zacznie działać tak, jak powinna.
Co ja robię źle?
Próbowałem zmienić kolejność wyświetlania kart sieciowych w /etc/network/interfaces
pliku. Zmieniłem także sieć NAT / Host-Only między 2 kartami sieciowymi. Nic nie działało.
Hostem jest system Windows 8.1, a gościem jest Ubuntu Server 13.10. Próbowałem tego samego na Mac OS X z podobnymi wynikami.
Byłbym bardzo wdzięczny za wszelką pomoc w tym zakresie.
Aktualizacja:
Poniżej zamieszczam dane wyjściowe następujących poleceń, aby pomóc w diagnostyce:
- cat / etc / network / interfaces
- ifconfig -a
- trasa -n
$ cat /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.56.1 netmask 255.255.255.0 network 192.168.56.0 broadcast 192.168.56.255 gateway 192.168.56.254 $ ifconfig -a eth0 Link encap:Ethernet HWaddr 08:00:27:75:47:64 inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe75:4764/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1180 (1.1 KB) TX bytes:1332 (1.3 KB) eth1 Link encap:Ethernet HWaddr 08:00:27:93:98:d8 inet addr:192.168.56.1 Bcast:192.168.56.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe93:98d8/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:140 errors:0 dropped:0 overruns:0 frame:0 TX packets:225 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:14418 (14.4 KB) TX bytes:27378 (27.3 KB) 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:65536 Metric:1 RX packets:16 errors:0 dropped:0 overruns:0 frame:0 TX packets:16 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1184 (1.1 KB) TX bytes:1184 (1.1 KB) $ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.56.254 0.0.0.0 UG 0 0 0 eth1 10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
Aktualizacja 2:
Po uruchomieniu sudo service networking restart
dane wyjściowe route -n
stają się:
$ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 eth0 10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
Jak więc zapewnić tę konfigurację podczas rozruchu?
źródło
eth1
bałaganu z domyślną wyznaczoną trasą DHCP. Czy istnieje rozwiązanie tego?Wymyśliłem to rozwiązanie, które jest takie samo jak odpowiedź @ jkt123 i pytanie @ Umar, ale krótsze. Będę wdzięczny za opinie!
W virtualbox włącz zarówno NAT, jak i sieci tylko hosta . (BTW: Działa na moim hoście Win7. Nie wiem, jak to zrobić na hoście Linux).
Na hoście - znajdź adres IP interfejsu „tylko host”
W Gość edytuj / etc / network / interfaces . Sztuką było odwrócenie kolejności eth1 (tylko host) przychodzi PRZED eth0 (internet / dhcp). Nie wiem dlaczego.
restart.
źródło
Po pierwsze, włączyłem NAT dla obu sieci z DHCP i tylko sieć z hostem
static ip add 192.168.40.41
.Następnie wykonałem polecenie:
Uzyskałem ten wynik:
Przed ponownym uruchomieniem wpisałem następujące polecenie:
Następnie uruchomiłem ponownie.
Po załadowaniu do VM VirtualBox obie sieci działają. Mogę połączyć się z Internetem i połączyć się
192.168.40.41
za pomocą przeglądarki internetowej.Mam nadzieję, że pomoże to uzyskać
nano
edytor:Następnie wpisz
nano
terminal, aby go uruchomić.źródło
Masz wiele bram domyślnych przypisanych do różnych kart sieciowych. Ogólnie „Domyślne” oznacza wstępnie wybraną opcję. W takim przypadku, jeśli określona brama domyślna jest zdefiniowana dla obu kart sieciowych, nie byłaby to wstępnie wybrana opcja. Ponadto spowodowałoby to również problemy z komunikacją, takie jak routing asynchroniczny. Nie jestem pewien, jak Metryka obu interfejsów jest ustawiona na 0, ale może to być spowodowane tym, że obie karty sieciowe mają bramki. Tutaj znajduje się opis firmy Microsoft na ten temat, a funkcja Metryka ma wiele czynników, które określają sposób jej określania przy ustalaniu priorytetów. (Link: https://support.microsoft.com/en-us/help/299540/an-explanation-of-the-automatic-metric-feature-for-ipv4-routes )
W zgodzie z @ jkt123 w odpowiedzi, istnieje tylko 1 brama domyślna, którą należy przypisać.
źródło