{"id":3031,"date":"2020-06-21T11:25:47","date_gmt":"2020-06-21T16:25:47","guid":{"rendered":"https:\/\/www.jorgealdana.pro\/blog\/?p=3031"},"modified":"2020-06-21T11:25:51","modified_gmt":"2020-06-21T16:25:51","slug":"que-son-los-tunnelling-services","status":"publish","type":"post","link":"https:\/\/www.jorgealdana.pro\/blog\/internet\/que-son-los-tunnelling-services\/","title":{"rendered":"\u00bfQu\u00e9 son los Tunnelling services?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Los desarrolladores web casi siempre hace uso de \u00ablocalhost\u00bb o lo que significa un entorno de prueba local, esto independientemente del lenguaje (JSP, ASP, PHP etc\u00e9tera). Y en diversas ocasiones, es necesario mostrar a un colega o un cliente nuestro progreso o incluso probarlo usando herramientas de prueba en l\u00ednea como browserstack.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si es un proyecto peque\u00f1o o si eres un freelancer es probable que no cuentes con un servidor dedicado para desarrollo y obviamente no podr\u00e1s probarlo en producci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cualquiera que sea la raz\u00f3n, existen maneras de publicar tu servidor local a Internet.<\/p>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">A trav\u00e9s de un NAT<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La forma \u00abtradicional\u00bb de realizarlo es con un NAT o con un \u00abPort Forwarding\u00bb, b\u00e1sicamente se trata de configurar el modem\/router que nos haya otorgado nuestro proveedor de Internet, de tal manera que la solicitud de un puerto en espec\u00edfico sea redireccionado a una terminal dentro de nuestra red local.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"610\" height=\"255\" src=\"https:\/\/484c2a6d15c399b70beb-b1e2a15a3df201703b71bb9b31acda05.ssl.cf5.rackcdn.com\/2020\/06\/ipforwarding.jpg\" alt=\"\" class=\"wp-image-3040\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">En ocasiones esto no es posible de realizar debido a configuraciones o restricciones de nuestro proveedor ISP, por ejemplo:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En el caso de TELMEX (Infinitum) no hay problema debido a que nuestro Modem\/Router cuenta con una direcci\u00f3n IP exclusiva y p\u00fablica (pero no dedicada), eso quiere decir que es posible realizar una conexi\u00f3n directa ya que nadie en Internet tendr\u00e1 la misma direcci\u00f3n que nosotros. Esto nos permitir\u00e1 conectarnos por ejemplo: a nuestras c\u00e1maras de vigilancia, a alg\u00fan servidor de almacenamiento como Synology, a un servidor web que tengamos en nuestra red local, a un servidor VPN que tengamos en la oficina o cualquier otro servicio que tengamos disponible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Debido a que la IP es din\u00e1mica y no dedicada, eso significa que cambiar\u00e1 constantemente, entonces para conectarnos sin tener que estar apuntando la nueva direcci\u00f3n IP cada 2 o 3 d\u00edas se recurre a los DNS din\u00e1micos, b\u00e1sicamente se instala un software cliente, el cual env\u00eda cada determinado tiempo una actualizaci\u00f3n de nuestra direcci\u00f3n IP (beacon) a un servidor externo. Los servicios m\u00e1s utilizados para realizar esto son: DynDNS, No-IP y FreeDNS.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Respecto a IZZI de Cablevisi\u00f3n, no es posible realizar un NAT, al menos no de manera gratuita \u00bfPor qu\u00e9? El ASN de Cablemas (AS28545) tiene 62,208 IPs p\u00fablicas disponibles, contra el ASN de Telmex (AS8151) el cual tiene 13,605,376 de IPs V4 p\u00fablicas disponibles; esto permite a TELMEX poder otorgar una direcci\u00f3n IP p\u00fablica a cada uno de sus clientes de Infinitum y en el caso de Izzi esto no es posible ya que no tienen suficientes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esta limitaci\u00f3n de Izzi, le obliga a tener que \u00abcompartir\u00bb las direcciones IP p\u00fablicas entre sus clientes por lo cual no es posible realizar un NAT o \u00abPort Forwarding\u00bb es decir: los clientes de Izzi forman parte de una Red privada con direcciones IPs privadas y salen a Internet a trav\u00e9s de una sola direcci\u00f3n IP p\u00fablica.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"725\" height=\"424\" src=\"https:\/\/484c2a6d15c399b70beb-b1e2a15a3df201703b71bb9b31acda05.ssl.cf5.rackcdn.com\/2020\/06\/IzziEsquema.jpg\" alt=\"\" class=\"wp-image-3041\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Es posible realizar un NAT en Izzi, pero es necesario contratar una direcci\u00f3n IP dedicada.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed tienes una gu\u00eda de <a href=\"https:\/\/downloads.telmex.com\/pdf\/Configurar_camaras_IP_modemHG530.pdf\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener nofollow\" class=\"rank-math-link\">como configurar un \u00abPort Forwarding\u00bb en un modem HG530<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Entonces, \u00bfqu\u00e9 pasa cuando no es viable realizar un NAT o \u00abPort Forwarding\u00bb? bueno, existen otras maneras de poder publicar tu servidor a Internet y el cual te muestro ahora:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>A trav\u00e9s de Tunneling<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El tunneling es un proceso de enrutado de red, en el cual se genera un socket de conexi\u00f3n entre un nodo intermediario y el cual permite la transmisi\u00f3n de informaci\u00f3n de una red a otra, por ejemplo de una red LAN a una WAN.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">B\u00e1sicamente es parecido a utilizar un proxy, el servidor intermediario \u00abredirigir\u00e1\u00bb toda la informaci\u00f3n que reciba a nuestra terminal en nuestra red local (port forwarding escalado a nivel WAN).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"648\" height=\"309\" src=\"https:\/\/www.jorgealdana.pro\/blog\/wp-content\/uploads\/2020\/06\/localhost.run_.esquema.jpg\" alt=\"\" class=\"wp-image-3043\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Existen m\u00faltiples servicios que nos permitir\u00e1n hacer esto, algunos de ellos gratuitos y otros que tienen costo. Recuerden, nunca nada es gratis por lo que no usar\u00eda jam\u00e1s estos servidores a menos que fuera totalmente necesario.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los servicios disponibles para esto son : localhost.run, ngrok.com, serveo.net y LocalTunnel. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No pondr\u00e9 un tutorial para cada uno ya que es muy f\u00e1cil encontrarlos, pero pondr\u00e9 al menos uno; en realidad es muy sencillo de utilizar, basta con ejecutar un simple comando en consola:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ssh -R 80:<strong>localhost:8080<\/strong> ssh.localhost.run<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">El comando anterior crea un tunel entre el servidor de localhost.run y tu computadora en el puerto 8080 (suponiendo que est\u00e9s corriendo Tomcat), pero el puerto ser\u00e1 el que utilice tu servicio. Posteriormente la consola te devolver\u00e1 una URL personalizada la cual deber\u00e1s utilizar para conectarte y ser\u00e1 algo como:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Connect to http:\/\/ejemplo-2e35c8b9.localhost.run or https:\/\/ejemplo-2e35c8b9.localhost.run<\/p><\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">De tal manera que si ingresaras https:\/\/ejemplo-2e35c8b9.localhost.run\/algo.php es como si estuvieras ingresando a https:\/\/localhost\/algo.php<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As\u00ed de simple, no requiere ning\u00fan tipo de configuraci\u00f3n extraordinaria y tu servidor local podr\u00e1 ser accedido desde cualquier parte de Internet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Existen soluciones m\u00e1s profesionales y con costo como: \u00abArgo Tunnel\u00bb de Clouflare el cual te permite hacer lo mismo pero a trav\u00e9s de la infraestructura de Cloudflare y con todas las bondades que ello supone, como autenticaci\u00f3n, protecci\u00f3n etc.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Como siempre, no hay garant\u00eda de que el tr\u00e1fico que se transmite entre estos servicios gratuitos no sea capturado, analizado o decifrado, por lo que no te recomiendo usarlo, a menos que sea una emergencia y despu\u00e9s que tomaras todas las previsiones.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>A trav\u00e9s de servidores gratuitos<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La gran mayor\u00eda de los proveedores de tecnolog\u00eda Cloud como AWS, Google Cloud, Azure y el nuevo Alibaba Cloud. Ofrecen una opci\u00f3n llamada \u00abFree Tier\u00bb lo que significa que puedes utilizar sus recursos de manera gratuita.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cada proveedor tiene sus propias reglas y limitaciones, sin embargo, considero que para efectos de un servidor de prueba, podr\u00edas utilizar cualquiera de estos proveedores sin ning\u00fan problema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si deseas utilizar cualquiera de estos servicios ingresa a:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">AWS<br><a href=\"https:\/\/aws.amazon.com\/es\/free\/\" target=\"_blank\" rel=\"noopener\">https:\/\/aws.amazon.com\/es\/free\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Azure<br><a href=\"https:\/\/azure.microsoft.com\/en-us\/free\/\" target=\"_blank\" rel=\"noopener\">https:\/\/azure.microsoft.com\/en-us\/free\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Google Cloud<br><a href=\"https:\/\/cloud.google.com\/free\" target=\"_blank\" rel=\"noopener\">https:\/\/cloud.google.com\/free<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Alibaba Cloud<br><a href=\"https:\/\/www.alibabacloud.com\/campaign\/free-trial\" target=\"_blank\" rel=\"noopener\">https:\/\/www.alibabacloud.com\/campaign\/free-trial<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>A trav\u00e9s de VPN<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La \u00faltima forma de poder ingresar a tu servidor local es con una VPN, una forma gratuita de hacerlo es con \u00abHamachi\u00bb el cual es un software que nos permitir\u00e1 crear una RedVPN de forma muy sencilla instalando una aplicaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esta Red es privada y por tanto tendremos direcciones IPs privadas las cuales utilizaremos para comunicarnos; puedes crear redes en malla, concentrador y de puerta de enlace.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para <a href=\"https:\/\/documentation.logmein.com\/webhelp\/ES\/CentralUserGuide\/LogMeIn\/t_hamachi_nw_add.html\" target=\"_blank\" aria-label=\"crear una red en Hamachi, puedes hacerlo con la siguiente gu\u00eda. (opens in a new tab)\" rel=\"noreferrer noopener nofollow\" class=\"rank-math-link\">crear una red en Hamachi, puedes hacerlo con la siguiente gu\u00eda.<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Espero que algunas de estas soluciones te ayuden y recuerda #Qu\u00e9dateEnCasa<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Los desarrolladores web casi siempre hace uso de \u00ablocalhost\u00bb o lo que significa un entorno de prueba local, esto independientemente del lenguaje (JSP, ASP, PHP etc\u00e9tera). Y en diversas ocasiones, es necesario mostrar a un colega o un cliente nuestro progreso o incluso probarlo usando herramientas de prueba en l\u00ednea como browserstack. Si es un proyecto peque\u00f1o o si eres un freelancer es probable que no cuentes con un servidor dedicado para desarrollo y obviamente no podr\u00e1s probarlo en producci\u00f3n. Cualquiera que sea la raz\u00f3n, existen maneras de publicar tu servidor local a Internet.<\/p>\n","protected":false},"author":1,"featured_media":3047,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[100],"tags":[3111,3112,3110,3109,3108,3107,3075],"class_list":["post-3031","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-internet","tag-free-tier","tag-hamachi","tag-infinitum","tag-izzi","tag-port-forwarding","tag-tunneling","tag-vpn","has_thumb"],"_links":{"self":[{"href":"https:\/\/www.jorgealdana.pro\/blog\/wp-json\/wp\/v2\/posts\/3031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jorgealdana.pro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jorgealdana.pro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jorgealdana.pro\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jorgealdana.pro\/blog\/wp-json\/wp\/v2\/comments?post=3031"}],"version-history":[{"count":12,"href":"https:\/\/www.jorgealdana.pro\/blog\/wp-json\/wp\/v2\/posts\/3031\/revisions"}],"predecessor-version":[{"id":3046,"href":"https:\/\/www.jorgealdana.pro\/blog\/wp-json\/wp\/v2\/posts\/3031\/revisions\/3046"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jorgealdana.pro\/blog\/wp-json\/wp\/v2\/media\/3047"}],"wp:attachment":[{"href":"https:\/\/www.jorgealdana.pro\/blog\/wp-json\/wp\/v2\/media?parent=3031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jorgealdana.pro\/blog\/wp-json\/wp\/v2\/categories?post=3031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jorgealdana.pro\/blog\/wp-json\/wp\/v2\/tags?post=3031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}