32 views
Palabras Clave: `ARSAT Blog` `VPC` `Arquitectura de Red` Red Aislada en Nube ARSAT ☁️ === Una red aislada es una de las arquitecturas de red disponible en la Nube de ARSAT. Es una de las redes más utilizadas debido a su simpleza y agilidad, tanto en su despliegue como en su operación. Cuenta con un nivel de aislación superior a otras soluciones debido al uso de VLANs y routers virtuales dedicados y al mismo tiempo ofrece una gran variedad de servicios de red que facilitan tanto la conectividad para con las instancias, de igual forma que para la publicación en internet de servicios y aplicaciones que se instalen en ellas. Entre estos servicios de red pueden mencionarse servicios de routing, DNS, DHCP, firewal, port forwarding, balanceo de carga, NATs y VPN. ![Arsat IaaS - Red Aislada Overview v1](https://hackmd.io/_uploads/ryeCB-cHR.svg) Los usuarios que desplieguen este tipo de redes podrán definir el direccionamiento IP privado en un rango a elección (dentro del [RFC1918](https://datatracker.ietf.org/doc/html/rfc1918)) y las instancias que se desplieguen en esta red tomarán una dirección ip automáticamente en el mismo rango mediante el servicio DHCP; siempre y cuando las NICs de la VMs se encuentren configuradas de esta forma (modo dinámico) en el sistema operativo. ## Componenetes y terminología: - :arrows_counterclockwise: **Router Virtual**: Un router virtual es un appliance basado en la distribución Linux Debian, sumamente versátil que se crea e inicia automáticamente al crear una red aislada y desplegar la primer máquina virtual sobre la misma. Funciona como Default Gateway de la red y conforma un Source NAT con la primer IP Pública que se asigna a la red. En el router virtual residen todos los servicios de red ya mencionados y también facilita aquellos otros servicios relacionados a la inicialización de instancias (servicios de metadata y userdata) que permiten personalizar las instancias al momento de su creación y/o primer arranque (definir usuarios or defecto del SO, instalar software, configurar NICs, ejecutar scripts, etc.) mediante software de inicialización previamente instalado en una plantilla como por ejemplo [cloud-init](https://cloud-init.io/). Los routers virtuales conforman parte sustancial de la infraestructura de la plataforma de nube y son mantenidos y actualizados por ARSAT. - :arrows_clockwise:: **Source Nat** Es el elemento que permite el tráfico *hacia/desde internet* en las máquinas virtuales que residen en la red aislada. Es obligatorio contar con al menos una IP Pública dentro de la cuota de recursos para conformar este elemento. La IP Pública destina a funcionar como Source NAT puede ser configurada también para utilizarse tanto en un esquema de balanceo de cargar como para realizar un port forwarding hacia una o más instancias. No puede utilizarse bajo ningún aspecto como un Static NAT hacia una instancia. - :arrow_heading_up: **Egress Rules** Se podría considerar parte del servicio de firewall y constituye aquel elemento que permite o deniega el tráfico *hacia internet* que puede generarse desde las instancias que residen en la red. Mediante el mismo podemos permitir o denegar conexiones salientes, especificar puertos de conectividad utilizados, protocolos de conectividad utilizados (TCP, UDP e ICMP) y destinos de conexión. Por defecto, todo el tráfico saliente es denegado (Default Deny) por lo tanto se deben configurar reglas explícitas para pemirtir este tipo de tráfico y de esta forma las instancias se conecten a internet. - :arrow_heading_down: **Firewall** Es el elemento que permite o deniega el tráfico desde internet hacia las instancias. Mediante él podemos permitir o denegar conexiones entrantes a la instancias especificando origen de conexión, protocolos de conectividad utilizados (TCP, UDP e ICMP) y puertos de conectividad utilizados. Por defecto, todo el tráfico entrante es denegado (Default Deny) por lo tanto se deben configurar reglas explícitas para pemirtir este tipo de tráfico. - :fast_forward: **Port Forwarding**: Es una técnica utilizada en redes informáticas que pemite que todo el tráfico de un puerto (o un rango de puertos) que posee IP Pública se redireccione a un puerto (o rango de puertos) de una IP Privada que posee una instancia o máquina virtual en particular. Los protocolos de conectividada aceptados bajo esta modalidad son TCP y UDP (ICPM no es aceptado). En el caso de configurar esta técnica mediante un rango de puertos, la misma se constituirá en la modalidad 1:1 entre los puertos públicos y los puertos privados. - :arrow_double_up: **Load Balancing**: Es el elemento que distribuye el tráfico de red o las solicitudes de servicio entre múltiples instancias o máquinas virtuales de manera eficiente. La función principal de un balanceador de carga es mejorar la capacidad de respuesta y la disponibilidad de aplicaciones, servicios o sitios web al asegurarse de que ningún servidor se sobrecargue mientras otros permanecen inactivos o infrautilizados. - :incoming_envelope: **Static NAT**: Es una técnica utilizada en redes informáticas que permite "traducir" direcciones IP Públicas a direcciones IP Privadas de manera fija y predefinida. En la práctica funciona de manera similar a la técnica de port forwarding con la diferencia sustancial que en este caso todos los puertos de una IP Pública son redireccionados a una IP Privada que se encuentra asignada a una máquina virtual. No es posible configurar un Static NAT en una IP Pública que funciona como "Surce NAT". Esta técnica solo es posible de usarse en direccines IP Públicas adicionales a la designada como "Source Nat". - :arrow_double_up: **VPN Remote Access**: El servicio VPN de acceso remoto es aquel que permite a nuestra computadora, con la cual gestionamos las máquinas virtuales creadas en la nube, conectarse directamente a la red aislada donde residen las mismas. Por defecto el servicio se encuentra deshabilitado y debe habilitarse explícitamente para su uso. Para la conexión VPN de acceso remoto es requisito fundamental contar con un cliente VPN IPSec en la computadora (disponibles de forma nativa en sistemas operativos Windows y MacOS) y dar de alta en la plataforma de nube los usuarios a los que se le permitirá conectarse a la red. Por otro lado la misma plataforma proporcionará, al momento de habilitar el servicio VPN, todos los datos de conexión necesarios como lo son la llave VPN pre-compartida y la IP Pública a la cual establecer la conexión VPN. Estos datos junto a los del usuario y la contraseña dados de alta específicamente para este servicio permiten una conexión exitosa. ## Consideraciones para las Redes Aisladas - :white_check_mark: Es una práctica recomendada conectar una máquina virtual solo a una red aislada. Conectar una máquina virtual a dos o más redes aisladas duplica todos los servicios de red disponibles en los routers virtuales (DHCP, DNS, Default Gateway, etc) y puede ocasionar problemas de conectividad varios. - :white_check_mark: El servicio de balanceo de carga que prestan los router virtuales está basado en el proyecto [HAproxy](https://www.haproxy.org/) y existen ciertos parámetros configurados por defecto que no pueden ser modificados, entre ellos se encuentran la cantidad de conexiones globales permitidas, cantidad de conexiones por instancia de balanceo permitidas y tiempos fuera (client timeout, server timeout, connect timeout, etc.). - :white_check_mark: El servicio VPN de acceso remoto disponible en las redes aisladas está basado en el proyecto [strongSwam](https://www.strongswan.org/) y está configurado de manera tal que permite rutear automáticamente y sin intervención todo el tráfico desde la computadora (conectada a la VPN) a la red donde se encuentran las VMs, siempre y cuando la red posea un direccionamiento IP privado dentro del rango 10.0.0.0/8. En caso que el rango IP se encuentre fuera del rango mencionado, se debe introducir una ruta estática en la computadora conactada a la VPN en forma manual y según de acuerdo al direccionamiento elegido de forma tal de poder alcanzar las IPs de la máquinas virtuales. ###### tags: `ARSAT Blog` `Red Aislada` `Arquitectura de Red`