El siguiente procedimiento describe cómo permitir en Linux el uso simultáneo de 2 interfaces de red conectadas a la misma subred de AWS y que la comunicación funcione tanto a nivel interno (máquinas en la misma subred) como externo (ambas interfaces visibles desde Internet). Esto puede ser útil por ejemplo cuando queremos que una misma instancia aloje un servidor web que sirva peticiones http ó https y al mismo tiempo disponga de un servidor de websockets ws:// o wss:// que escuche en el mismo puerto 80 ó 443 respectivamente. Aunque hay otras formas de conseguirlo como configurar Nginx para que sea capaz de discriminar el tráfico web (http) del tráfico de websockets (ws) y actuar como proxy para redirigir las peticiones correspondientes al servidor de websockets, esta otra solución que planteo me parece más sencilla y en cierta medida más eficiente porque no es necesario redirigir el tráfico, lo cual siempre introducirá una pequeña latencia, y permite mantener ambos servidores totalmente independientes dentro de la misma máquina. La única pega es que necesitaremos asignar 2 direcciones IP elásticas (Elastic IP) a la misma máquina en lugar de 1, pero al mismo tiempo esto nos aportará mayor flexibilidad a la hora de establecer reglas en los grupos de seguridad o en las reglas NAT de la subred.
Realizar backups de Windows mediante rsync con DeltaCopy Server
¿Rsync y Windows?
Muchas redes y sistemas corporativos con máquinas heterogéneas utilizan el protocolo rsync para realizar backups de servidores o para mantener sincronizados automáticamente los ficheros de uno o varios directorios en diferentes máquinas. Linux incorpora de forma nativa la utilidad rsync y otras herramientas asociadas, pero, ¿qué hacer cuando necesitamos hacer copias de seguridad de carpetas Windows de forma automática desde un NAS o una máquina remota? Una opción podría ser utilizar Samba para poder leer el contenido de dichas carpetas desde Linux, pero se trataría de una solución bastante compleja, pues nos obligaría a configurar Samba en el lado del servidor, configurar los distintos permisos y opciones en el propio Windows y además nos impone la restricción de que ambas máquinas estén en la misma red local o a configurar complicadas reglas en nuestro firewall para permitir el tráfico SMB/CIFS. Y con todo ello, la transferencia a través de la red de nuestros ficheros no sería segura, pues se realizaría en claro sin ningún tipo de cifrado.
Cómo crear un servidor SSH Windows
Ninguna de las versiones de Windows, ya sea Windows XP, Windows 7 u 8 o las mas modernas versiones de servidor como Windows 2008 o Windows 2012, proporciona un servidor SSH mediante el que acceder de forma estándar desde otras máquinas con distinto sistema operativo para ejecutar comandos de la consola, copiar ficheros, redireccionar puertos o automatizar el acceso mediante el empleo de claves pública/privada. La alternativa de Microsoft para esto es WinRM / Powershell, pero muchas son las ocasiones que encontraremos en las que necesitaremos un acceso estándar y compatible con otros sistemas, y qué mejor para ello que emplear el extendido y archiconocido protocolo SSH para entrar a nuestras máquinas Windows de forma segura.