Proxy SOCKS di Virtualbox


0

Sto usando ssh per stabilire un proxy SOCKS all'interno di una macchina guest Virtualbox (Debian). Ho confermato che funziona all'interno del sistema guest, ma quando provo ad usarlo nel mio sistema host (Windows) tramite Firefox, viene visualizzato un errore:

Firefox è configurato per utilizzare un server proxy che rifiuta le connessioni.

Ho provato NAT e inoltrato la porta appropriata. Quindi ho provato a utilizzare un adattatore a ponte e ho usato l'IP della macchina guest anziché 127.0.0.1. Nessuno dei due metodi ha funzionato.


se l'utilizzo di una connessione a ponte o l'inoltro tramite vbox NAT non funziona, il problema sembra inaccessibilità della porta su debian stesso. se telnet si indirizza all'indirizzo e alla porta proxy, si riceve immediatamente un messaggio di rifiuto o non si connette mai? cerca anche la tua porta proxy in sudo netstat -ntlup | grep portnum. è collegato a 127.0.xy, al tuo IP host o 0.0.0.0?
Frank Thomas,

@Frank Thomas: ho provato a eseguire un server Web nel sistema guest e sono stato in grado di connettermi a questo tramite il sistema host. Modifica: è collegato a 127.0.0.1.
someguy

1
se il processo è collegato a 127.0.0.1, solo l'host locale può connettersi ad esso. cercare come abilitare le connessioni remote al servizio in esecuzione. di solito si trova nel file di configurazione principale e si riferisce a collegamenti di interfaccia o IP.
Frank Thomas,

@Frank Thomas: non ho telnet sul mio sistema host. C'è un altro modo o devo installarlo? A proposito, il web server è nginx nel caso in cui ciò faccia la differenza.
someguy

controlla la mia ultima modifica. che il problema è legato a 127.0.0.1.
Frank Thomas,

Risposte:


1

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.


Aggiungerò solo che con OpenSSH in particolare, è possibile specificare l'indirizzo di bind come argomento all'avvio del server SOCKS ( -D addr:port) oppure è possibile abilitare l' GatewayPortsimpostazione nel file di configurazione in modo che si associ all'indirizzo jolly per impostazione predefinita.
someguy
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.