Tutoriales, noticias y soluciones informáticas

Etiqueta: docker

PiServer con Docker – Parte 1: Primeros pasos hacia un servidor con Docker

Conectores de una raspberry

Hace ya unos cuantos años creamos en este mismo blog una serie de tutoriales para aprender a montar un servidor casero con una Raspberry. Empezamos aprendiendo a instalar Raspbian, que era de aquella el sistema operativo oficial para estos dispositivos, y después hemos ido montando sobre ese sistema un montón de «Servicios» para nuestro hogar. Pi-hole, un servidor de VPN, clientes de aMule y Transmision y hasta un servidor de Plex.

El tiempo ha pasado y han cambiado muchas cosas. Raspbian ha evolucionado y ahora se llama «Raspberry pi OS». Además ahora tenemos herramientas mucho mejores que nos facilitan mucho la vida a la hora de instalar y configurar el sistema, y tenemos tecnologías maduras que nos permiten montar todo de forma muchísimo más sencilla. Así que creo que es un buen momento de volver a explicar de nuevo todo lo que hemos montado de aquella. Seguiré enfocando estas guías a gente que está empezando en el uso de estos dispositivos y que no tienen ni idea de Linux (Creo que es la forma correcta de abordar este tema), por lo que os ruego a los expertos que me perdonen si me paro en exceso explicando comandos demasiado «basicos». Además también quiero introducir unos cambios muy importantes respecto a lo que hicimos hace unos años:

  • Vamos a adaptar estos tutoriales a las nuevas tecnologías y sistemas que han ido apareciendo en los últimos años.
  • Antes de ponernos a instalar cosas, vamos a aprender qué es docker, para qué sirve y cómo se usa (tendremos un artículo íntegramente de este tema)
  • Una vez que sepamos usar docker, vamos a emplearlo para instalar todo lo que habíamos instalado en los tutoriales anteriores (Sí… será como una repetición de esos mismos tutoriales pero usando docker).
  • Y una vez que sepamos montar todo lo que ya habíamos montado previamente ¿Por qué no aprender a instalar muchas más cosas en nuestro servidor?
Bueno... muchas más cosas no podrán ser. Una Raspberry es un dispositivo muy limitado y como le metas mucha caña seguro que acaba explotando. 
Raspberry sobre un macbook

Para tu información, Usuario Anónimo, todo ese software (sin dockerizar) lo he llegado a usar activamente, todo a la vez, en una mísera Raspberry Pi 2. Las Raspberrys actuales tienen más núcleos, más capacidad de proceso, más memoria y procesadores de 64 bits en lugar de 32 por lo que son mucho más potentes y pueden hacer más cosas a la vez. Aún así es evidente que no tienen las capacidades que pueda tener un ordenador completo moderno, pero sí que tienen potencia más que suficiente como para aguantar con todo esto y más.

En todo caso es importante indicar una cosa. Excepto este primer tutorial (Que está enfocado a la instalación del sistema operativo en una Raspberry), el resto de artículos podréis usarlos tal cual en cualquier instalación linux basada en Ubuntu o Debian. Así que lo que aprendamos aquí podremos aplicarlo a instalaciones más complejas.

¿Qué necesitamos para seguir el tutorial?

Para poder montar nuestro pequeño servidor vamos a necesitar lo siguiente:

  • Un ordenador (Da igual que tenga instalado Windows, Mac OS o Linux). Lo necesitaremos para acceder a nuestra pequeña raspberry porque a ésta ni siquiera le vamos a conectar un monitor. Trabajaremos con ella siempre de forma remota.
  • Una placa Raspberry Pi. Para los proyectos que crearemos, nos servirá cualquiera desde la Raspberry Pi 3 en adelante. Incluso una Zero 2 W nos podría servir (Ojo: una zero normal no nos serviría porque no soportaría un sistema operativo de 64 bits). Una sencilla búsqueda en Amazon os muestra algunas opciones.
  • Una tarjeta de memoria Micro SD que hará las veces de disco duro de nuestra Raspberry. Vamos a meterle bastante caña, así que intentad ponerle una decente (no la compréis en el bazar de al lado de casa. Coged una en una tienda de informática de confianza). Os recomendaría usar una de un mínimo de 32 GB de almacenamiento. Este enlace os da algunas opciones.
  • Necesitamos que nuestro ordenador pueda escribir en esa tarjeta de memoria, así que si no tiene un lector de tajetas compatible, necesitaríamos ponerle un adaptador USB que permita escribir en ella. Me refiero a algo como esto.
Adaptador usb-MicroSD
  • Os recomiendo encarecidamente conectar la raspberry con un cable de red directamente al router. Evidentemente no podremos hacerlo si usamos una Raspberry Pi Zero 2 W, pero si no es así, buscad un cable de red y hacedle un sitio a la raspberry al lado del router. Usad sólo la conexión WiFi de la Raspberry como última opción.
  • Para muchos de los proyectos que vamos a hacer, vamos a necesitar mapear puertos en el router que os otorga conexión a internet, así que tened a mano las credenciales de acceso al vuestro.
  • A colación con este último punto, voy a suponer que sabéis todo lo referente a direcciones IP (Sabéis qué es una dirección ip, qué segmento de IP’s estáis usando en vuestra instalación, etc…). Suelo detenerme en cada punto en este tipo de tutoriales, pero pararme a explicar qué es una dirección IP tal vez sea excesivo.

Es importante indicar que, con la excepción de este primer tutorial, el resto de lo que vayamos a aprender se va a poder aplicar tanto en una Raspberry como en cualquier otro equipo en el que hayáis instalado una distribución Linux (al menos las derivadas de Debian y Ubuntu).

Sin más preámbulos, vamos a ver cómo podemos instalar un sistema operativo optimizado para funcionar como servidor en nuestra Raspberry.

Seguir leyendo
Share

Instalación de un servidor de RustDesk: la alternativa libre y gratuíta a Anydesk, TeamViewer y Logmein

Oficina tradicional

Desde que comenzó la pandemia de Covid19 allá por el 2020 muchas empresas han tenido que buscarse la vida para dar soporte a usuarios de ordenadores situados lejos de sus propias oficinas. El teletrabajo ha hecho que para mucha gente la oficina ahora sea su domicilio, y pese a que este hecho tenga consecuencias positivas tanto para los empleadores como para los empleados, también tiene algunas negativas.

Por ejemplo, los departamentos de IT de muchas empresas tienen ahora más cosas de las que ocuparse, ya que van tener que dar soporte a los empleados que están trabajando desde sus casas, y por qué no decirlo, esto ha supuesto un pequeño quebradero de cabeza en algunos casos. Cuando hay que configurar algo en el ordenador que usa el empleado es imprescindible que la empresa use alguna herramienta que permita visualizar y controlar remotamente la pantalla de ese equipo.

Uy, sí. Herramientas de esas en mi empresa las llevan usando hace años. Primero usaban LogMeIn. Luego empezaron a usar Team Viewer. Luego Anydesk. No sé por qué andan cambiando de software cada poco tiempo. 
Interfaz de rustdesk en pequeño

Algo similar ha pasado en casi todas las empresas. Incluso cuando tienes contratado algún software en el servidor y los desarrolladores necesitan acceder a él de alguna forma, acaban instalando alguna otra herramienta similar. El problema es que muchas de estas herramientas se han intentado vender con precios absurdamente elevados, incluso para las empresas (LogMeIn sobre todo), con lo cual poco a poco fueron entrando competidores con precios «menos exagerados». Algunos de ellos con el tiempo acabaron optando por la misma política de precios desorbitados (Team Viewer) y algunos otros han podido ofrecer precios mucho más razonables (como Mikogo o Anydesk), pero sin llegar a ofrecer nada que no ofreciera ya la competencia, por lo que no hay ningún software de este tipo que podamos decir que usa la gran mayoría de las empresas. Cada una va usando el software que ve más conveniente para esta labor o que más se ajusta a sus presupuestos.

Por mi parte siempre he distinguido dos tipos en esta clase de software: por un lado tenemos los programas que funcionan (mejor o peor) en una red local, pero que a la hora de conectarse a través de internet tienen serios problemas de acceso porque no están diseñados para acceder a ellos a través de internet (como VNC o el escritorio remoto de Microsoft). Y por otro lado tenemos programas que nos permiten conectar al equipo de forma remota a través de internet y dar soporte directo al usuario, como LogMeIn, Team Viewer, AnyDesk y similares.

Y básicamente en estas estábamos hasta que hace muy poquito entró un nuevo competidor en el juego que nos vino a ofrecer algo tremendamente rompedor.

Te veo venir. ¿Algo que no usa ni el tato? ¿Programa raruno? ¿Software libre quizá? ¿Algo que para instalarlo tienes que sacarte tres master en informática de sistemas?

Ehhhh… bueno… te concedo lo de raruno. El tema es que por fin se ha desarollado un software completamente libre que nos permite acceder a equipos de forma remota a través de internet, de forma muy similar a cómo lo hace Team Viewer o Anydesk. Mira, fijate en esta pantalla de anydesk.

interfaz de anydesk

Ahora mira esta otra pantalla de RustDesk (que es el software del que vamos a hablar en este artículo)

Interfaz de Rustdesk
¡Ay va! ¡Pero si parecen gemelos!

Si te fijas el interfaz es casi igual (Bueno… por qué no decirlo, muchos de estos programas tienen interfaces similares). Personalmente a RustDesk no le he echado en falta ninguna funcionalidad clave, así que todo esto unido a que es un software por el momento completamente gratis…

Espera, espera... ¿Por qué "por el momento"? ¿El programa se va a volver de pago?

Sólo en una parte que no nos debería afectar. Este software está aún en desarrollo. Según he podido entender, los desarrolladores tienen la intención de mantener gratuítas las funcionalidades que tiene Rustdesk en este momento (básicamente todas las cosas que podemos hacer con AnyDesk, por ejemplo). Pero al parecer están desarrollando también un interface web para controlar todos los dispositivos vinculados con nuestro servidor de Rustdesk, controlar los equipos que estén dentro del dominio de la empresa, etc… Ese interface por lo que he entendido va a ser una parte de pago, pero no es algo crítico ni mucho menos. En mi empresa pagamos (hasta ahora) religiosamente licencias de Anydesk y esa parte no se la he visto a Anydesk por ningún lado, así que puede estar interesante cuando terminen su desarrollo.

¡¡Quieto parao!! ¿Qué es eso que dijiste antes de "nuestro servidor de RustDesk"?. Anydesk o Team Viewer no necesitan instalar ningún servidor. Sólo un programa en el equipo cliente y otro en el ordenador de la persona que va a dar soporte al usuario. 
Cables

Lo sé, pero el tema es que no puedes hacer una conexión de equipo a equipo a través de internet (para visualizar la pantalla del cliente, por ejemplo) sin una estas dos opciones:

  • Saber su ip pública y que esta ip pública sea accesible a través de internet.
  • Usar un servidor que medie en la conexión entre los dos equipos.

El primer punto es el punto clave. Últimamente están muy de moda las líneas CG-NAT de las que tanto hemos hablado en otros artículos (y que tanto detesto). Este tipo de líneas no tienen ip pública a la que poder mandar una petición, así que tendremos un problema a la hora de acceder a ese equipo de forma directa. Resulta mucho más adecuado que el software de escritorio remoto de ese equipo se conecte a un servidor y que se haga la transferencia de datos con ese servidor mediando entre los dos equipos. Un esquema similar es el que usan todos estos servicios, sólo que el servidor que se usa es la infraestructura de la empresa desarrolladora (Team Viewer, Anydesk o la que sea) en lugar de tener que montártelo tú en tu empresa.

Sí, sí... lo que quieras. Pero yo no necesito montarme un servidor para usar AnyDesk. 
Configurando un servidor

Pues has de saber que la parte de montar un servidor de Rustdesk es completamente opcional. Puedes usar RustDesk sin montarte un servidor, usando los servidores de RustDesk. Sin embargo para mi, ya que existe la opción, es más que recomendable montarse uno.

Para que nos entendamos: puedes dar soporte a un usuario con RustDesk usando los servidores del propio RustDesk (Como haces con AnyDesk o Team Viewer), con lo cual necesitas sólo el programa en el ordenador del usuario y en el tuyo. O también puedes montarte tú un servidor de RustDesk propio para que todo el tráfico pase por tu servidor. En este artículo aprenderemos a montarnos nuestro propio servidor de Rustdesk aunque también aprenderemos a usar RustDesk sin realizar esa instalación.

Ni que decir tiene que montarte tú un servidor propio es la opción ideal siempre que sea factible. Tendremos menos riesgos de que alguien intercepte el tráfico directamente en el servidor y no dependeremos de si un servidor ajeno está saturado de peticiones o no, con lo que si nuestro servidor está bien dimensionado no deberíamos tener nunca problemas de rendimiento. Si lo piensas, para una empresa tener algo así es más que recomendable (y toda empresa que tenga un departamento de informática debería tener alguien que pudiera montarlo sin mayores problemas). No dependes de terceros para un servicio que puede llegar a ser crítico y te garantizas un rendimiento óptimo siempre.

Así que vamos a ver cómo podemos montar este tinglado sin que nos explote ningún equipo.

Seguir leyendo
Share

© 2024 Flopy.es

Tema por Anders NorenArriba ↑

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies