Hoy aprenderemos cómo redireccionar puertos desde el host a una máquina virtual utilizando Qemu, permitiendo la comunicación entre el host y la máquina virtual, por ejemplo para hacer accesible los servicios como SSH y servidores web.
Si deseamos redireccionar:
- Puerto 2222 del host al Puerto 22 de la máquina virtual (para SSH).
- Puerto 8088 del host al Puerto 80 de la máquina virtual (para el servicio web).
Tendríamos que ejecutar el siguiente comando:
$ qemu-system-x86_64 -cpu host -m 2G -nic user,hostfwd=tcp::2222-:22,hostfwd=tcp::8088-:80 -hda centos.qcow2 -enable-kvm
El comando anterior lanza una máquina virtual con CentOS 10. Una vez que la máquina virtual esté en funcionamiento, se podrá acceder a los puertos SSH y HTTP. La parte que se encarga de instruir a qemu el redireccionado es: hostfwd=tcp::2222-:22,hostfwd=tcp::8088-:80
cuya sintaxis general es:
hostfwd=[tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport
En nuestro ejemplo como se omiten las direcciones IP entonces la redirección se mapea a todas las IP disponibles tanto en el host cómo en la máquina virtual.
Luego puedes conectarse a la máquina virtual ejecutando el siguiente comando:
$ ssh -p 2222 libre@localhost
Para acceder al servicio web en la máquina virtual, intente desde su navegador conectarse al puerto 8088:
http://localhost:8088
Es necesario asegurarse de que un servicio esté activo en ese puerto y tener en cuenta que las distribuciones basadas en Red Hat Enterprise Linux, como CentOS, tienen un firewall que puede bloquear el acceso a los puertos. Para permitir el acceso, se puede detener el firewall temporalmente:
$ sudo systemctl stop firewalld
Una vez que haya comprobado que puede acceder al servicio, añada las reglas pertinentes y reinicie el muro cortafuegos
$ sudo systemctl start firewalld
La redirección de puertos en Qemu es una herramienta poderosa que permite la interacción entre el host y las máquinas virtuales. A través de ejemplos prácticos, hemos aprendido cómo redireccionar puertos para acceder a servicios como SSH y servidores web. Qemu se ha mostrado como un virtualizador eficiente, y su uso puede facilitar el trabajo con tecnologías libres.