il port forwarding di virtualbox non funziona


3

Ubuntu è il SO guest in esecuzione su un host Windows. Viene utilizzato NAT e il port forwarding è stato aggiunto. Tutti gli accessi all'host sulla porta 3000 devono essere inoltrati all'ospite sulla stessa porta.

Ma quella porta è accessibile solo sul computer guest ma non accessibile dal computer host.

Con le impostazioni di rete con bridge, non ci sono problemi. Ma la mia preoccupazione è che quando lavoro offline (nessuna connessione a Internet) con il mio computer host, non riesco più ad accedere al guest tramite quel numero di porta. Ho provato a disabilitare la connessione sull'host, quindi non riesco a connettere la porta 3000.

Cosa potrebbe esserci di sbagliato nella mia installazione e configurazione NAT predefinita (v4.3.20)?


problema simile si verifica quando si ha una VM nidificata in esecuzione su Windows, ovvero Ubuntu VM che esegue VM Ubuntu - il portforwarding normale improvvisamente non funziona
serup

Risposte:


2

Un altro metodo è continuare a utilizzare un adattatore NAT ma utilizzare "127.0.0.1" come IP host del port forwarding. La regola di port forwarding sarà simile (potresti aggiungerne anche una per UDP)

Protocollo: TCP, IP host: 127.0.0.1, Porta host: 3000, IP ospite: "ip ospite", Porta ospite: 3000

Quindi è possibile utilizzare 127.0.0.1:3000 per accedere al guest.

L'interfaccia di loopback IP 127.0.0.1 è sempre online anche se la rete fisica è disconnessa.


Il mio problema è quando uso NAT, la porta 3000 non è accessibile dall'host. l'accesso dal computer guest alla stessa porta non ha alcun problema.
canoa,

2
È possibile verificare la funzione di port forwarding di VirtualBox controllando l'output di "netstat -an -p tcp". Se vedi "127.0.0.1:3000 0.0.0.0:0", è impostato correttamente. In tal caso, potresti voler controllare le impostazioni del firewall di Ubuntu se consente la porta 3000 in arrivo dall'interfaccia di rete. L'accesso dalla stessa macchina ospite spesso utilizza l'interfaccia di loopback che è sempre consentita.
Eric Leung,

1
OK. L'adattatore 1 è abilitato e collegato a "NAT", il campo del nome è disattivato e vuoto. È corretto? ora il sistema operativo guest non ha alcuna connessione a Internet.
canoa,

Quando è selezionato "NAT", il campo del nome visualizzato in grigio e vuoto è corretto. Quando si fa clic su Avanzate, il cavo è collegato? Quale voce in Port Forwarding?
Eric Leung,

Il cavo è collegato Quando TCP / HostIP, GuestIP unset / HostPort = GuestPort = 3000 / non funziona. Quando HostIP viene modificato in 127.0.0.1. Non funziona ancora. Nessuna connessione Internet dall'ospite e dalla porta 3000 non viene mostrata sul computer host, ma può essere vista sull'ospite.
canoa,

1

Non c'è da stupirsi che non funzioni! Creare il port forwarding sull'adattatore solo host? Come? Non appena seleziono Adattatore solo host, il pulsante Port Forwarding è disabilitato. Lo stesso con le istruzioni ambigue per usare localhost. Niente funziona. E nulla di appropriato appare anche in netstat. (Quindi, considerato che il sistema operativo host è Windows, dovrei essere sorpreso?)


Questo dovrebbe essere un commento, ma hai perfettamente ragione.
HDave

0

Devi aggiungere 2 adattatori in ordine a quello. 1 adattatore per NAT e un altro per Host. Con l' adattatore solo host il tuo sistema operativo host e guest può comunicare. Con NAT l'ospite si connette a Internet.

1)Set 1 Host Only Adapter & 1 NAT adapter
2)Enable Virtual Box Network Adapter in your Host Machine.
3)Ping both Host and the Guest and ensure both are connected. 
4)Now Create Port Forwarding on the Host Only Adapter.

Ora funzionerà


Sono bloccato al passaggio 3). e non è possibile eseguire il ping del gateway 10.0.2.2 sul guest - "l'host di destinazione non è raggiungibile".
canoa,

Effettua il ping dell'indirizzo IP dell'adattatore solo host non quello del NAT. Quali sono gli indirizzi IP configurati per l'adattatore NAT e solo host? E l'indirizzo IP dell'adattatore della scatola virtuale del tuo host
Anbu,

CIDR NAT: 10.0.2.0/24, adattatore solo host: 172.16.2.1/255.240.0.0, ip box virtuale dell'host: 192.168.1.101/255.255.255.0. Il ping dall'adattatore all'host solo host e l'host della scatola virtuale restituisce la rete irraggiungibile.
canoa,

è necessario modificare l'indirizzo IP dell'adattatore solo host nel SO guest. Modificalo in 192.168.1.50 / 255.255.255.0. Quindi esegui il ping di entrambi. Lavorerò
Anbu

Cambiato. Quindi riavvio il guest linux. Succede qualcosa di cablato. Ora il guest eth0 ha solo un IPvv6, il precedente IP v4 è sparito. IP ospite - eth0: fe80 :: a00: 27ff: fe94: e29a / 64, lo: 127.0.0.1, lxcbr0: 10.0.3.1/24 virbr0: 192.168.122.1/24.
canoa,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.