
Redirección de puertos
Las direcciones IPv4 públicas escasean y se vuelven cada vez más
costosas. El sistema Cloud-Bricks, soporta el nuevo protocolo IPv6
pero está preparado para apoyar el proceso de transición entre IPv4
e IPv6. Uno de los mecanismos de transición son las direcciones IPv4
NAT. Estas son direcciones IPv4 privadas y sin costo que permiten el
acceso público desde una máquina virtual hacia Internet. (
Ver el Capítulo
sobre Tipos de direcciones IP)
Las direcciones NAT permiten también que una máquina virtual sea
administrada
remotamente sin necesidad de contar con una IP pública. El
sistema Cloud-Bricks configura automáticamente puertos
públicos especiales para que los protocolos SSH, RDP y HTTP queden
disponibles para ser usados a través de Internet utilizando como
"gateway" la dirección IPv4 Pública de su servidor físico
Cloud-Brick. (Ver Capítulo sobre
Administración
Remota).
Sin embargo si una Máquina Virtual requiere exponer un servicio TCP
o UDP públicamente en Internet y no cuenta con una dirección IP
pública, puede usar el mecanismo de redirección de puertos. Este
sistema permite mapear un puerto alto (> 10.000) de la dirección
IP física IPv4 de su máquina física Cloud-Brick hacia un puerto
interno de su máquina virtual.
Ejemplo con MySQL
Supongamos que deseamos exponer en Internet el puerto 3306 (Base de
datos MySQL) de una máquina virtual que no tiene una dirección IP
pública pero cuenta con una dirección IPv4 NAT.

Para ello asegurarse que el servicio de MySql se ejecuta en el
puerto 3306, y asegurarse de conceder privilegios a los usuarios
específicos desde un host remoto, con el comando, en la consola de
SQL:
GRANT <privileges> ON *.* TO 'user'@'%' IDENTIFIED BY 'password';
Configurar redirección
Ahora, ingresar a la opción Firewall>Redirección
de puertos en el menú de la izquierda.

-
Dar clic en el botón Nuevo
redireccionamiento... y seleccionar el puerto origen de la
redirección, la máquina virtual, el puerto destino del servicio y
tipo de protocolo (TCP o UDP).

-
Dar clic en el botón Aceptar, y luego en el botón Aplicar
cambios.
Accesar remotamente
Para accesar remotamente a su servicio deberá usar el nombre de Host y puerto que aparecen en la columna "Origen" de la tabla de redirección de puertos.
- El nombre del host tiene el siguiente formato:
<nombre_maquina_virtual>.<nombre_cliente>.vnat.net - Para nuestro ejemplo la máquina virtual se llama mysql y el nombre del cliente es pruebas.
- Hemos usado el puerto público 10100 y lo hemos mapeado hacia el puerto 3306 de la máquina virtual.
- Probar el acceso desde una máquina externa, con el
comando
mysql -u root -p -h mysql.pruebas.vnat.net -P 10100

Notas importantes
-
Para estas conexiones, es
necesario que la máquina virtual disponga de una dirección IPv4 NAT.
- Es MUY IMPORTANTE que las conexiones siempre se realicen a través del hostname descrito anteriormente.
- Esto se debe a que la dirección IP correspondiente a dicho hostname puede cambiar dinámicamente.
- El servicio de redirección de puertos solamente está disponible via IPv4, para IPv6 no es necesario utilizar este mecanismo ya que las direcciones públicas IPv6 están disponibles de manera gratuita.