Title: Guia de autoalojamiento Author: ~ferorge Date: 2024-07-20 copyright: 2024, ~ferorge, CC BY-SA 4.0. Email: ferorge@texto-plano.xyz KeyWords: servidor, publico, libre, pubnix, auto alojado, soberano css: lynx.css # Guia de autoalojamiento ------------------------------------------------------------------------ ##### __Objetivo__ Este artículo detalla el procedimiento para alojar un servidor en un hogar. El abordaje tiene los siguientes objetivos: * Soberanía de la información. * Utilización de software libre. * Gratituidad, solo una conexión a internet y una PC. * Recreativo, no lucrativo. ------------------------------------------------------------------------ ##### __Tabla de contenido__ 1. Acceso al modem. 2. Configuración del DNS dinámico. 3. Configuración de nombres. 4. Configuración del cortafuegos. 5. Exposición del servidor. 6. Configuración de servicios. 7. Adhesión al manifiesto. ------------------------------------------------------------------------ ##### __1. Acceso al modem__ Cuando disponemos de una conexión a internet, el modem provisto por el proveedor de internet es la puerta de enlace entre la internet y la intranet. Estas redes son conocidas también como redes pública y priva- da respectivamente. Por seguridad los hosts de la red privada no son accesibles desde la red pública, por esto hay que verificar si podemos modificar la confi- guración del modem para lograr que nuestro servidor esté expuesto a la red pública, internet. > El ejemplo a continuación corresponde al modem del servicio de > Movi$tar fibra, en la zona metropolitana de Buenos Aires, Argentina. > El método de acceso puede variar dependiendo del proveedor de inter- > net y la ubicación geográfica del servicio. La configuración del modem es realizada accediendo desde el navegador web. Para esto debemos obtener su dirección de IP en la red privada. Ejecutamos el siguiente comando en la terminal GNU/linux: ` $ ip route | grep default ` El comando devuelve mucha información, la necesaria es la que está resaltada: _default via **10.0.0.1** dev eth0 proto dhcp src 10.0.0.2 metric 100_ Continuar con el siguiente procedimiento: 1. Acceder a la IP obtenida escribiendo, por ejemplo, http://10.0.0.1 con Firefox o cualquier otro navegador. 2. El sitio muestra un tablero con la información del estado del modem. 3. Presionar el botón "Menú" y luego "Configuración avanzada". 4. Ingresar indicando la contraseña ubicada en la etiqueta de la cara inferior del modem en caso de que no haya sido modificada anteriormente. 5. Leer la advertencia y continuar presionando el botón "Aceptar". 6. Ingresar el nombre de usuario "admin" y la contraseña ubicada en la etiqueta de la cara inferior del modem en caso de que no haya sido modificada anteriormente. ------------------------------------------------------------------------ > En versiones anteriores no era posible acceder a la configuración > avanzada con esta metodología, pero existía un ¿fallo? para hacerlo. > En este caso se podía acceder repitiendo los pasos 1 y 2. > Presionar el botón "Menú", y luego "Otra funcionalidades". > Finalmente en la sección "Firewall" presionar en la palabra "aquí". > De esta manera se accedía a la configuración del modem sin contraseña. ------------------------------------------------------------------------ En el sitio de la configuración del modem hay que encontrar el campo destinado a la zona desmilitarizada llamado "DMZ". En él hay que indicar la dirección de IP del host de la red privada que queda desprotegido y expuesto a internet. El campo se encuentra en la barra lateral presionando en "Configuration" > "NAT" > "DMZ". En esta categoría hay dos campos a configurar, los cuales se deben com- pletar una vez que el servidor tenga la configuración mínima para ser expuesto a internet. Esta configuración debe ser activada cuando el servidor esté listo para ser expuesto a la red pública. ------------------------------------------------------------------------ ##### __2. Configuración del DNS dinámico__ El proveedor de internet asigna al modem una dirección de IP aleatoria para identificarnos en internet. Esta dirección no es siempre la misma y es modificada por él según su necesidad. Como esto imposibilita conectarse remotamente al servidor, hay que crear una cuenta en un sitio que ofrezca DNS dinámico. Esta funcionalidad vin- cula un nombre de dominio a una dirección de IP, como cualquier DNS, y además realiza el seguimiento a cada dirección de IP que otorgue el pro- veedor de internet. Algunos servicios gratuitos son: * [dynv6](https://dynv6.com/) * [No-IP](https://www.noip.com/) * [Now-DNS](https://now-dns.com/) * [CloudDNS](https://www.cloudns.net/index/lang/es/) * [openNIC dynDNS](http://be.libre/) ###### _Selección del nombre del hospedador._ Hay que elegir el nombre del dominio del servidor hospedador, el cuál hospeda a todos los usuarios que se conecten a él. Una vez definido hay que configurar el DNS dinámico. En este caso el dominio se llama "sobnix". ###### _Configuración de dynv6._ Realizar el siguiente procedimiento para crear la zona: 1. Ingresar a [dynv6](https://dynv6.com/) y registrarse. 2. Ingresar a [zones][zones] y presionar el botón "Create new Zone". 3. Completar los campos indicando: 3.1. Name: el nombrede dominio elegido y una opción de la lista. 3.2. IPv4 Address: presionar el botón "Set current address". 3.3. IPv6 prefix: presionar el botón "Set current address". Si devuelve un error y usas IPv4, ignóralo. 4. Presionar el botón "Create Zone". Una vez finalizado el dominio "sobnix.dynv6.net" apunta a nuestra IP. [zones]:(https://dynv6.com/zones) ------------------------------------------------------------------------ ##### __3. Configuración de nombres__ La configuración del sistema operativo está basado en la distribución de GNU/linux ubuntu 24.04. Hay que configurar el nombre del hospedador, conocido como hostname. Opcionalmente también puede agregarse información adicional referida al servidor. En este [sitio][109.2_01.a] está el guión para configurarlos. [109.2_01.a]:https://git.sobnix.dynv6.net/ferorge/ubuntu-noble-server/tree/src/109.2_01.a.Configuracion-nombre-hospedador.sh Luego hay que configurar el nombre de dominio completo, conocido como FQDN (Fully Qualified Domain Name). Al mismo tiempo vinculamos nuestro dominio con la dirección de IP pública actual. En este [sitio][109.2_01.b] está el guión para configurarlos. [109.2_01.b]:https://git.sobnix.dynv6.net/ferorge/ubuntu-noble-server/tree/src/109.2_01.b.Configuracion-nombres-red.sh Una vez configurados los nombres necesitamos verificar periodicamente que el dominio apunte a nuestra dirección de IP pública. Si esta fuese modificada por el proveedor de internet debemos configurar la zona crea- da en el paso anterior con el nuevo valor. En este [sitio][520] está el guión para verificar que la IP del dominio y del servidor sean iguales y actualizar la zona del servidor de nombres dinámicos. Una vez que todo funcione correctamente hay que establecer la periodici- dad con la cual se verifica las direcciones de IP. Esto puede hacerse mediante crontab o creando un enlace simbólico en el directorio /etc/cron.hourly [520]:https://git.sobnix.dynv6.net/ferorge/ubuntu-noble-server/tree/src/520.Verificacion-zona-dynv6.sh ------------------------------------------------------------------------ ##### __4. Configuración del cortafuegos.__ Hay que activar el cortafuegos para proteger el servidor de ataques ex- ternos. En este [sitio][530] está el guión para configurar el cortafuegos indi- cando la política de denegar todas las conexiones entrentes y permitir todas las salientes. Al finalizar la ejecución del guion se obtiene la siguiente salida: > Status: active > Logging: on (low) > Default: deny (incoming), allow (outgoing), disabled (routed) > New profiles: skip [530]:https://git.sobnix.dynv6.net/ferorge/ubuntu-noble-server/tree/src/530.Configuracion-cortafuegos.sh ------------------------------------------------------------------------ ##### __5. Exposición del servidor__ En esta instancia el servidor ya está apto para ser expuesto a internet. Ahora tenemos que obtener la IP privada del servidor. Ejecutamos el siguiente comando en la terminal GNU/linux: ` ip -4 -o address | grep -v 127.0.0.1 ` El comando devuelve mucha información, la necesaria es la que está resaltada: _2: eth0 inet **10.0.0.2**/24 metric 100 brd 10.0.0.255 (...)_ Hay que repetir el procedimiento indicado en "acceso al modem" hasta llegar a la configuración del DMZ. Indicamos la dirección obtenida anteriormente, en este caso 10.0.0.2, activamos el campo "enabled" y guardamos las modificaciones. Si todo fue correcto: **Todos los puertos del host estarán expuestos.** Para verificar que el servidor está respondiendo al dominio dinámico puede realizar un ping al dominio elegido. Ahora debés decidir y configurar los servicios que estarán disponibles en tu servidor soberano autoalojado. ------------------------------------------------------------------------ ##### __6. Configración de servicios__ En desarrollo... ------------------------------------------------------------------------ ##### __7. Adhesión al manifiesto__ [Manifiesto del self-hosting por crazyjane@texto-plano.xyz](https://codeberg.org/TheCoffeMaker/shm/src/branch/main/README.md) ------------------------------------------------------------------------ ###### __Autoría y licencia__ Guia de autoalojamiento © 2024 por \~ferorge [ferorge@texto-plano.xyz](mailto:ferorge@texto-plano.xyz). !["Licenciado bajo Creative Commons Attribution - Share Alike 4.0 International."][image] [image]: https://mirrors.creativecommons.org/presskit/buttons/88x31/png/by-sa.png "CC BY-SA 4.0 International" height=15px width=44px Para ver una copia de esta licencia, visite [CC BY-SA 4.0]. [CC BY-SA 4.0]:https://creativecommons.org/licenses/by-sa/4.0/deed.es ------------------------------------------------------------------------