Ir al contenido principal

Redirección de puertos en Virtual Box


Continuando con mis anteriores "posts", vamos a terminar nuestro entorno de pruebas redirigiendo los puertos que nos interesan de la máquina virtual a nuestro PC.

Con Virtual Box podemos configurar la red de diversas formas, una de ellas es redireccionar los puertos de la máquina virtual a la nuestra.

Es bastante fácil y rápido de configurar, y lo que hace es que tengamos unos puertos destinados al entorno de desarrollo y otros para el entorno de pruebas.

Ejemplo de uso: 

- podemos usar el puerto 8080 para desarrollar en eclipse en nuestro entorno de desarrollo con Tomcat.
- usaremos el puerto 80 para el Tomcat del entorno de pruebas
Más adelante veremos cómo configurar las redes de virtual box para que sean máquinas independientes conectadas a nuestra red y más opciones.

Vamos a hacer la redirección del puerto 22 para poder acceder a nuestra máquina virtual a través de uno de los clientes ssh más extendidos (y con nombre controvertido): "putty".

Si recordáis, cuando instalamos Ubuntu 12 Server dejamos marcada la opción de "Open SSH Server", esto hace que nuestra máquina virtual escuche por el puerto 22 (por defecto) las peticiones ssh.

Antes de nada vamos a bajarnos el cliente de esta url: http://www.putty.org/



Pulsamos en el primer enlace ("here") y seleccionamos el fichero "putty.exe" que más se ajuste a nuestro sistema operativo y a nuestra arquitectura. En mi caso "For Windows on Intel x86".

Descargamos el fichero y lo ejecutamos.


Vamos a hacer una prueba que no debe funcionar: escribimos en "Host Name or (IP Address)" localhost y pulsamos el botón "Open". Nos aparecerá el siguiente error:


Esto ocurre porque nuestra máquina física no sabe que tiene que redirigir las peticiones del puerto 22 a la máquina virtual. Vamos a decírselo.

Sobre nuestra máquina virtual pulsamos botón derecho y en "configuración".


Seleccionamos "Red" en la parte de la izquierda y pulsamos el botón "Reenvío de puertos".


Se nos abre la siguiente ventana. Pulsamos sobre la cruz verde de la derecha.


Nos aparece una linea para añadir una regla. Escribimos en la columna "Puerto anfitrión" el puerto de la máquina física que queremos dirigir y en la columna "Puerto invitado" el puerto de la máquina virtual. Vamos a poner el 22 en las dos columnas.



Si por casualidad el puerto 22 de nuestra máquina física está ocupado, podemos poner otro como el 24. A la hora de lanzar la llamada desde "putty" hay que poner ese número de puerto en el texto "Port" en lugar del 22 que aparece por defecto.

Puede que en algún momento puede que nos aparezca el siguiente aviso:


Se pulsa en el botón "Permitir acceso" y ya no debería aparecernos más.

Volvemos al "putty" (suena un poco raro, ¿verdad?). Y repetimos la operación anterior.



Debería aparecer la siguiente advertencia:



Como es un entorno de pruebas no pasa nada y pulsamos el botón "Si".

A continuación ya deberíamos ver el terminal pidiéndonos nuestro usuario y password.


Trabajar con este terminal es mucho más rápido que directamente contra la máquina virtual. 

Truco: si queremos cortar algún texto solo tendremos que seleccionarlo con el ratón y para pegar pulsar con el botón derecho.

Una vez dentro ya podemos empezar a trabajar con la máquina virtual. Recordar que para apagarla basta con escribir "sudo shutdown -P now".

Con esto ya tenemos el entorno de pruebas listo para configurarlo a nuestro gusto.

Si queremos redirigir más puertos solo tenemos que repetir el proceso tantas veces como puertos queramos redirigir.

Entradas populares de este blog

Un bot con Telegram en Termux

En las últimas semanas he retomado un par de ideas que tuve hace algunos años: por un lado la idea de hacer un Bot con el que hacer operaciones a través de comandos específicos. En concreto me gustaría hacer poder realizar comandos de inversión en bolsa (de manera ficticia) por otro lado desplegar la aplicación en un móvil con Termux (emulador de Linux para Android) Así que os cuento los pasos que he hecho para realizar estas tareas. Creación de Bot con Telegram Busca el contacto @BotFather (es el bot oficial de Telegram para crear otros Bots). Pulsa en Iniciar o escribe /start para comenzar. Escribe el comando: /newbot BotFather te pedirá que le pongas un nombre visible a tu Bot. Ejemplo: Nombre: MiBotJava Luego te pedirá un username único que termine en Bot. Ejemplo: Username: MiBotJava_bot Si el nombre de usuario está disponible, te dará un mensaje de éxito. Obtén el token Después de crear el Bot, BotFather te dará un mensaje como este: Done! Congratulations on your new bot. You wil...

Spring Boot: Página inicial con Bootstrap

  Este es el segundo artículo de la serie sobre Spring Boot que comenzamos hace dos semanas, si quieres ver el primero puedes acceder pulsando aquí . En el primer artículo vimos cómo descargar nuestro proyecto configurado para nuestros intereses y listo para ser importado en nuestro IDE (nosotros usaremos Eclipse ). Lo primero que vamos a hacer es importar el proyecto: File -> Import Existing Maven Projects Seleccionamos el fichero pom.xml en la carpeta donde lo hemos descomprimido y esperamos unos segundos Cuando acabe la importación, esta es la estructura que nos aparecerá: Con Spring Boot no necesitamos configurar el servidor, ya se encarga él de facilitarnos la vida. Lo único que tenemos que hacer es arrancar la clase BootApplication.java , que se encargará de arrancar Tomcat y dejar nuestra aplicación funcionando en el puerto 8080.  Y si todo fuera bien, podríamos acceder a través de la URL:  http://localhost:8080/ Pero ahora mismo tenemos un error de conexión c...

Transpilando que es gerundio

Si que llevaba tiempo sin pasarme por aquí, madre mía como esta esto de descuidado... A ver si me animo y como propósito de 2025 escribo un poco más (que no es díficil). He empezado un par de cursos y el primero ha sido uno de TypeScript, ya sabéis que me gusta mucho JavaScript y he decidido echarle un ojo. Pero, ¿qué es TypeScript? TypeScript es un lenguaje de programación que se creó como una especie de "superpoder" para JavaScript. Básicamente, es JavaScript dopado con esteroides, ya que agrega características que lo hacen más robusto y fácil de usar, especialmente en proyectos grandes. Una de las grandes ventajas de TypeScript es el tipado estático, que nos permite definir qué tipo de datos estamos manejando, lo que ayuda a evitar errores que en JavaScript podrían ser difíciles de detectar hasta que es demasiado tarde. En otras palabras, te ayuda a “prevenir fuegos” en el código antes de que sucedan. Una de las cosas que hace especial a TypeScript es que sigue siendo Java...