====== Port forwarding con Virtualbox ====== Autore: **//Fabio Di Matteo//** \\ Ultima revisione: **//13/10/2009//** \\ \\ In questo articolo vedremo come abilitare il port forwarding in un sistema virtuale tramite [[http://www.virtualbox.org/|Virtualbox]]. Lo scenario sara' costituito da una macchina virtuale con installato CentOS-5.3 e una macchina ospitante in cui girera' Debian GNU/Linux. Faremo in modo che tutte le connessioni ssh provenienti dalla rete locale e da internet dirette alla macchina ospitante verranno invece indirizzate alla macchina virtuale. ===== Preparativi ===== Prima di tutto e' necessario abilitare il port forwarding nel router , ovvero indirizzare tutte le connessioni in ingresso sulla porta 22 (ssh) sull'ip interno della nostra macchina ospitante. Disabilitare eventualmente qualunque server ssh (o altro che stia in ascolto sulla porta 22). ===== Regole di nat per Virtualbox ===== Tenendo presente che per **Guest** si intende la macchina virtuale e per **Host** la macchina ospitante e' necessario impartire le seguenti regole a macchina virtuale spenta : VBoxManage setextradata CentOS-5.3 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh2/Protocol" TCP VBoxManage setextradata CentOS-5.3 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh2/GuestPort" 22 VBoxManage setextradata CentOS-5.3 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh2/HostPort" 22 dove: \\ * **CentOS-5.3** e' il nome della nostra macchina virtuale; * **pcnet** e' il tipo di scheda di rete scelta per macchina virtuale; * **0** e' il numero della nostra scheda di rete virtuale; * **ssh2** e' il nome della nostra regola ; * **Protocol** e' il tipo di protocollo utilizzato nella nostra regola; * **GuestPort** e' il numero di porta sorgente della nostra macchina virtuale macchina virtuale; * **HostPort** e' il numero di porta sorgente della nostra macchina virtuale macchina virtuale; \\ \\ ** Se si desidera inoltrare porte inferiori alla 1024 e' necessario avere i privilegi di root. ** ===== Rimuovere le regole per il nat di Virtualbox ===== Per rimuovere le regole e' sufficiente reimpostarle senza il valore. Nel nostro caso : VBoxManage setextradata CentOS-5.3 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh2/Protocol" VBoxManage setextradata CentOS-5.3 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh2/GuestPort" VBoxManage setextradata CentOS-5.3 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh2/HostPort" ===== Elencare tutte le regole ===== Per visualizzare tutte le regole applicate ad una macchina virtuale e' sufficiente: VBoxManage getextradata CentOS-5.3 enumerate dove: \\ * **CentOS-5.3** e' il nome della nostra macchina virtuale ;