Poiché il servizio non è accessibile quando il nic virtuale è in una modalità con bridge o in modalità NAT con una regola di inoltro correttamente configurata, è probabile che il problema riguardi il server guest o il servizio stesso.
Molti servizi non sono configurati per accettare connessioni remote per impostazione predefinita e aprono le porte di rete per l'ascolto solo sull'interfaccia di rete di loopback. Per determinare a quale interfaccia è associato il tuo servizio, usa questo comando:
Linux:
# netstat -ntlup | grep portnumber
finestre:
netstat -abno | FINDSTR LISTENING
e prendere nota dell'indirizzo IP a cui è associata la porta / processo.
# netstat -ntlup | grep 53
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 835/dnsmasq
udp 0 0 127.0.1.1:53 0.0.0.0:* 835/dnsmasq
mostra il servizio dnsmasq in esecuzione sull'interfaccia di loopback (127.0.xy) ed è accessibile solo dai processi in esecuzione sull'host locale.
# netstat -ntlup | grep 445
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 566/smbd
tcp6 0 0 :::445 :::* LISTEN 566/smbd
Tuttavia mostra il servizio in ascolto su TUTTE le interfacce (0.0.0.0).
finalmente,
# netstat -ntlup | grep 138
udp 0 0 10.0.2.255:138 0.0.0.0:* 960/nmbd
udp 0 0 10.0.2.15:138 0.0.0.0:* 960/nmbd
mostra il servizio in ascolto su eth0 (IP host) e tutte le trasmissioni ricevute su eth0 (indirizzo di trasmissione della rete host che termina in .255) poiché i protocolli Samba utilizzano le trasmissioni IP.
Ogni servizio ha i propri mezzi per abilitare le connessioni remote. questo è qualcosa che deve essere configurato nel servizio stesso (nessun controllo del livello del sistema operativo), perché quando il servizio apre la porta per l'ascolto, specifica i dettagli di quale interfaccia associare. Di solito (in Linux) comporta la specifica del binding dell'interfaccia nel file di configurazione principale dei servizi e il riavvio del servizio. In Windows, è più probabile trovare una casella di controllo che dice "consenti connessioni remote" o qualcosa del genere, ma di solito è ancora necessario riavviare il servizio per rendere effettive le modifiche.
sudo netstat -ntlup | grep portnum
. è collegato a 127.0.xy, al tuo IP host o 0.0.0.0?