Come configurare l'inoltro di porta in VirtualBox

Come configurare l'inoltro di porta in VirtualBox

VirtualBox è una piattaforma di virtualizzazione ampiamente utilizzata per la creazione e la gestione delle macchine virtuali. Sebbene si tratti di una piattaforma open source, alcuni componenti a source a chiusura sono anche inclusi in un diverso pacchetto di estensione. È gratuito per l'uso, ma è possibile acquistare una licenza Enterprise ORACLE VM VirtualBox Extension Pack se si desidera utilizzarla per scopi commerciali e richiedere supporto ufficiale standard.

Quando viene creata una nuova macchina virtuale in VirtualBox, la modalità di rete predefinita è impostata su NAT o traduzione dell'indirizzo di rete. La modalità NAT ha i suoi vantaggi e limitazioni su altre modalità di networking. In sostanza, NAT è più sicuro ma allo stesso tempo più complicato quando si tratta di impostare la comunicazione incrociata con altre macchine virtuali e il mondo esterno. Se si desidera che la macchina virtuale ottenga sia la sicurezza che l'accesso a servizi specifici con la modalità NAT, richiederebbe l'aiuto di Port Forwarding. In questo modo, la VM rimarrà isolata dagli altri ma accede comunque ai servizi specifici.

Cosa copriremo?

Questa guida vedrà come possiamo impostare il port forwarding in VirtualBox utilizzando metodi grafici e di riga di comando. Useremo un Ubuntu 20.04 Virtual Machine per questo scopo. Per verificare se la configurazione funziona, imposteremo la porta in avanti sulla nostra VM per l'accesso SSH dalla porta 22 alla porta 9099 nel metodo grafico e dalla porta 22 alla porta 2222 nel metodo della riga di comando. Andiamo avanti con questa configurazione senza ulteriori ADO.

Prerequisito

  1. VirtualBox installato sul computer host.
  2. Ubuntu 20.04 Macchina virtuale in esecuzione all'interno di VirtualBox.
  3. OpenSsh-Server installato sulla VM ospite.
  4. OpenSsh-Client installato sulla macchina host.

Iniziare con il port forwarding

Metodo 1. Port Forwarding utilizzando VirtualBox Graphical Interface

Passo 1. Dal riquadro sinistro della finestra principale VirtualBox, selezionare la macchina virtuale dall'elenco. Ora fai clic con il pulsante destro del mouse sul nome della macchina virtuale e scegli l'opzione "Impostazioni" o seleziona l'icona "Impostazioni" dal riquadro destro.

Passo 2. Nella nuova finestra pop-up, selezionare l'etichetta corrispondente a 'Network.'Ora fai clic sull'icona della freccia allegata con l'etichetta corrispondente all'opzione' avanzata '.

Passaggio 3. Fai clic sul pulsante "Port Forwarding". Apparirà una nuova finestra pop-up. Qui usa l'icona "+" per aggiungere una nuova regola.

Passaggio 4. Nelle caselle di testo corrispondenti a diverse etichette, riempire i vari dettagli per la nuova regola. Abbiamo usato il seguente:

Nome (nome del servizio): Ssh

Protocollo: TCP

IP host: Indirizzo IP della macchina host

Porta ospite: Porta sulla macchina host a cui verrà inoltrata la richiesta dell'ospite.

IP ospite: Indirizzo IP della macchina per gli ospiti

Porta degli ospiti: Porta predefinita di un servizio in esecuzione sulla macchina per gli ospiti.

In questa guida, dal momento che utilizziamo il servizio "SSH" sul protocollo "TCP", la porta degli ospiti avrà 22 anni. Il nostro porto host, come già detto, è 9099. Stiamo lasciando l'IP ospite per ottenere automaticamente l'IP da VirtualBox. Allo stesso modo, la colonna IP host viene lasciata vuota in quanto ciò sarà equivalente a 0.0.0.0; Ciò significa che qualsiasi macchina che abbia accesso al tuo host sulla porta 9099 può anche accedere a SSH alla VM ospite.

Una volta terminati i passaggi sopra, salva queste impostazioni premendo il pulsante OK.

Testare l'installazione

Prima di provare a SSH nella VM ospite, assicurarsi che il server OpenSSH sia installato su di esso. In caso contrario, puoi installarlo usando il comando:

$ sudo apt install OpenSsh-server

Passo 1. Prova a ssh la VM ospite dall'host sulla porta 9099. Per questo, usa il comando:

$ sudo ssh -l 'nome utente' 0.0.0.0 -P 9099

'nome utente'è il nome dell'utente sulla VM ospite.

Metodo 2. Port Forwarding utilizzando l'interfaccia della riga di comando

Un altro modo per configurare l'inoltro della porta è l'utilizzo VBoxManage di VirtualBox Strumento di comando. Qui mostreremo come funziona:

Passo 1. Elenca tutte le macchine virtuali sulla macchina host con il comando:

VmsManage List VMS

Dalla figura sopra, possiamo vedere che sta mostrando due VM: i) Fedora 34 ii) Ubuntu 20.04.

Passo 2. Ora usa il formato seguente per eseguire il port forwarding Se la macchina virtuale è accesa :

VBoxManage ControlVM "VM Nome" Natpf1 "Guestssh, TCP ,, 2222 ,, 22"

Se la VM è arrestata, usa:

VBoxManage ModifyVM "VM Nome" -NATPF1 "Guestssh, TCP ,, 2222 ,, 22"

Ora di nuovo, prova ad accedere con il tuo comando:

sudo ssh -l 'username'0.0.0.0 -P 2222

Qui "Nome VM" è il nome della macchina virtuale che abbiamo ottenuto nel passaggio sopra. "Nome utente" è il nome dell'utente sulla VM ospite.

Conclusione

VirtualBox è una buona scelta per lo sviluppo e il test in quanto può aiutarti a risparmiare tempo e denaro. Il comando VBoxManage è conveniente in quanto possiamo controllare (avvia, arrestare, sospendere) le VM dalla riga di comando. Ciò è particolarmente utile quando l'accesso grafico al server VM non è disponibile presso il data center. Questa guida è testata su Ubuntu 20.04, ma dovrebbe funzionare su qualsiasi macchina che supporti l'accesso SSH.