Telmex

PCoIP y Modem de Telmex

Que tal gente, quiero compartir con ustedes como configuré el acceso remoto a mi laboratorio, claramente utilizando PCoIP (que mejor considerando el poco ancho de banda que muchas veces se nos brinda), esto a través de un modem de Telmex (Infinitum).

Primero revisemos cual es la configuración de mi lab:

archhispremotoComo podemos notar tenemos 2 puntos importantes en esta imagen, la primera es el hecho que el acceso sucede a través de un Modem de Telmex lo cual básicamente nos dicta que la conexión será realizada hacia un ambiente que esta detrás de un NAT y segundo punto importante es que la VM llamada “controlcenter” donde requiero conectarme a través de PCoIP esta detrás de esta NAT. Aquí muchos me dirían, ¿Porque no utilizas un Security Server de Horizon View para brindar acceso? (para poder contar con PSG o PCoIP Secure Gateway), bueno básicamente siempre busco que la configuración de mi homelab sea sencilla sin mucha complicación, tratar de ahorrar recursos y que sea fácil de realizar troubleshooting, por lo que opté por un agente directo de PCoIP, que es el mismo utilizado en los laboratorios hands on de VMworld y Partner Exchange, con este podemos conectar un cliente de PCoIP (en mi caso Mac) directamente a un escritorio con el agente de Horizon View sin necesidad de un Connection Server y un Security server para este tipo de escenarios.

Lo primero es entender como viaja el tráfico de PCoIP detrás de una NAT, para esto les comparto la siguiente imagen:

natpcoip

En este caso en específico el tráfico al estar por detrás de una NAT era muy posible que no funcionara de manera correcta (es por eso que se tiene el componente de PSG en el Security Gateway) debido a que el primero se entabla la comunicación TCP y después se envía por un canal UDP PCoIP, el problema esta en que una vez entablada la comunicación TCP el cliente de Horizon View selecciona como Destino para el paquete UDP la IP interna o “nateada” del vDesktop con el puerto 4172 de PCoIP cosa que claramente falla debido a que dichas IPs no son ruteables desde el exterior. En el caso del Security Server el componente de PSG (PCoIP Secure Gateway) se encarga de crear la conexión con la correcta ip, es por eso que tenemos que dar de alta el “External URL”:

Screen Shot 2013-08-05 at 1.18.10 AMCon el componente de PSG la comunicación sucede sin ningún problema ya que los paquetes llegan las IPs correctas. En el caso de PCoIP Direct Connect necesitamos modificar algunos puntos específicos para que esto se de (ya que no contamos con un security server que lo realize). Las modificaciones son realizadas a nivel de registro donde damos necesitamos especificar la Ip externa (lo que vendría siendo el PCoIP External URL cuando configuramos un PCoIP Secure Gateway), los puertos externos para UDP y TCP (en el caso que no sea 4172, en mi caso utilizo 4172) y el puerto para el canal de “framework” (aquí viaja el tráfico de USB):

Screen Shot 2013-08-05 at 1.23.39 AM

Con estas modificaciones (simulando lo que el componente de PSG realiza en un security server) el tráfico sucede de esta manera:

pcoipnatcorrecto

Una vez listo esto debemos definir reglas de firewall en el gOS del vDesktop (en el caso que estemos utilizando firewall en el sistema operativo local) y para mi caso solo definir el forward de los puertos hacia la ip interna de mi escritorio con el agente de conexión directa de PCoIP, por lo que nos firmamos en el modem de Telmex y definimos esto (en mi caso se trata de un modem TG582n de Technicolor)

Screen Shot 2013-08-05 at 1.28.33 AMUna vez dentro de nuestro portal de gestión debemos ir a Herramientas > Uso compartido de juegos y aplicaciones y ahí hacer click en “crear un nuevo juego o aplicación”, donde estaremos dando de alta todos los puertos que serán redirigidos a nuestro vDesktop, para esto como les comenté anteriormente yo utilizo los puertos por default no he modificado ningún puerto pero podemos fácilmente definir puertos externos que se traduzcan a puertos internos en nuestro vDesktop, podemos ver un ejemplo en la siguiente imagen donde se traduce del puerto 4173 a 4172 internamente:

creacionpuerto

Una vez dados de alta todos los puertos necesarios nos debe quedar algo como esto (en el caso de no haber modificado los puertos por default) solo el puerto 80 en este caso esta de sobra:

Screen Shot 2013-08-05 at 1.32.47 AM Aquí podemos notar que tengo todos los puertos necesarios para poder entablar una comunicación con mi escritorio a través de PCoIP incluso poder mapear dispositivos USB desde cualquier conexión de internet por lo que lo único que resta es asignar este “perfil” o conjunto de redireccionamiento de puertos a nuestro vDesktop, esto se vería muy parecido si lo estuviéramos realizando con un Connection Server o un Security Server por lo que podrían guiarse de esto para aplicarlo en sus laboratorios debido a la falta del agente de conexión directa de PCoIP, para asignar el perfil simplemente hacemos click en “Asignar un juego o aplicación a un dispositivo de red local”.

Y pues bueno lo mas facil fué probar mi escritorio a través del cliente de Horizon View para Mac:

Screen Shot 2013-08-05 at 1.42.49 AM  Es importante tener en mente que en mi caso utilizo DynDNS para poder siempre tener un FQDN a través del cual resolver la IP que mi ISP (Telmex) le brinda a mi modem (en el caso de apagarse o reiniciarlo esta puede llegar a cambiar), es por eso que si quieren tener este tipo de configuración tienen que primero crear en algún servicio de DNS Dinámicos esta relación entre un FQDN público y su IP externa brindada por su ISP, de igual manera para que esto persista entre apagones y reinicio de su modem deben de configurar un cliente que este actualizando constantemente la IP pública que tiene su modem en el sistema de DNS dinámico, lo interesante en el caso de este modem es que si cuenta con este cliente para estar actualizando la IP externa con un servicio de DNS Dinámico, para configurarlo solo es cuestión de ir dentro de nuestro portal de gestión del modem hacia “Herramientas > DNS Dinámico”.

Lamentablemente el agente de conexión directa de PCoIP no esta disponible para su descarga, este solo es entregado a nuestros partners que son VSPP (VMware Service Provider Program) o proveedores de servicio basados en VMware, esto pensado en que existen varias arquitecturas de DaaS que utilizan este tipo de configuración sin necesidad de contar con un connection server y/o un security server.