Come accedere a un server in esecuzione su una rete domestica, dietro un router?


22

Ok, quindi ho un PC nella mia rete domestica, con Ubuntu su una VM con il server openssh installato.

  1. Come posso accedere in remoto da un altro computer esterno alla rete domestica, utilizzando Internet?
  2. Quale indirizzo IP utilizzo per connettermi ad esso?
  3. Che tipo di port forwarding devo fare?

Che tipo di rete utilizza la VM? Per un normale uso domestico, si consiglia il collegamento a ponte, quindi ai fini della rete la VM sarà equivalente a una macchina fisica, quindi si esegue semplicemente il port forwarding sul router come al solito.
fkraiem,

In Impostazioni di rete sulla mia macchina virtuale, dice che la scheda di rete è collegata a NAT. Ecco uno screenshot: link Devo cambiare questo?
Hugo Lobo,

Metterlo in bridge renderà le cose più semplici, sì. (Fondamentalmente, con NAT è necessario eseguire il port forwarding due volte, sul router e in VBox.)
fkraiem

infatti non è necessario alcun port forwarding quando la macchina da cui si desidera connettersi è visibile sul server locale - solo noi la -Lbandiera al comando ssh - ma assicurarsi che la connessione sia mantenuta attiva - eseguire htop o qualcosa di simile da mantenere il trasferimento dei dati.
Ampio

Risposte:


22

Ci sono più cose che devi fare:

1) Come fkraiem menzionato nel suo commento, assicurati che la tua VM sia accessibile sulla rete locale. L'uso di una connessione di rete "bridge" nelle impostazioni della VM dovrebbe ottenere questo risultato. Quindi, utilizzando uno degli altri computer (anche l'host), verificare se è possibile accedere al server SSH. Se puoi, congratulazioni, passiamo al passaggio successivo.

2) Successivamente devi sapere come eseguire il port forwarding sul tuo router. Dal momento che non hai menzionato quale router hai, dovrai capirlo da solo. La porta 22 è quella utilizzata da SSH. Ovviamente puoi ascoltare su una porta più alta sul router per evitare che i tuoi log vengano riempiti da un gruppo di script kiddie che cercano di hackerare il tuo server e quindi inoltrare la porta a 22 sul tuo server. Ad esempio, immaginiamo che il tuo IP locale per il tuo server sia 192.168.0.10. Il tuo IP WAN (Internet) è 99.99.99.99.

99.99.99.99:60022 -> Router -> 192.168.0.10:22

Quello che vuoi fare è dire al tuo router di ascoltare sulla porta 60022 e inoltrarlo a IP 192.168.0.10 e alla porta 22.

Per capire qual è il tuo IP WAN, basta google "qual è il mio indirizzo IP". Ci sono altri modi, ma è il più semplice.

Ora, dopo aver configurato il router, prova a connetterti con un computer esterno al tuo IP WAN con la porta superiore. Potresti legarlo con il tuo cellulare a un laptop per farlo.

Se potessi connetterti a questo, congratulazioni di nuovo.

3) Ora devi assicurarti che i tuoi indirizzi IP rimangano statici sulla tua rete locale e che tu debba ottenere una voce DNS dinamica per il tuo indirizzo IP WAN. In questo modo useresti un nome di dominio anziché il tuo IP WAN. Google "DNS dinamico" per trovare un servizio gratuito.

Spero che abbia aiutato.


Questo è "99.99.99.99:60022 -> Router -> 192.168.0.10:22" è il comando effettivo? cosa significa "router"? Voglio dire, cosa succede qui?
m4l490n,

@ m4l490n No, non è un comando. È semplicemente un modo per mostrare il "flusso" della connessione. 99.99.99.99 è solo un indirizzo IP che ho scelto. Avrei potuto anche mostrare XXX.XXX.XXX.XXX, ma trovo i numeri più facili da capire. 60022 è la porta "esterna" su cui il router è in ascolto. Quindi esegue il port forwarding all'indirizzo interno di 192.168.0.10 e lo sposta sulla porta 22. Il motivo per cui non sono andato più in dettaglio è perché OP non ha indicato quale router (e firmware) stava usando.
G Trawo,

4

La mia configurazione personale è la seguente:

  1. Sul router inoltrare la porta 22 dalla macchina remota alla 2222 della macchina locale, ad esempio 192.168.0.33. In questo modo è ancora possibile avere accesso ssh al sistema operativo principale sulla macchina, mentre 2222 è per il sistema operativo virtuale.

    inserisci qui la descrizione dell'immagine

    1. Nella casella virtuale, inoltrare la porta 2222 del sistema operativo host 192.168.0.33 alla porta 22 del sistema operativo guest. L'IP del guest può essere trovato con il ifconfigcomando sul guest stesso.

    inserisci qui la descrizione dell'immagine

Ora se conosci l'IP del tuo router, puoi ssh sull'IP del tuo router e questo verrà automaticamente inoltrato alla porta 2222 della tua macchina fisica. La macchina fisica fornirà quella connessione alla porta 22 della macchina virtuale (a condizione che la VM sia in esecuzione).

Se vuoi ssh dalla rete locale, usa ssh -p 222 192.168.0.33

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.