~/copiona /Isla

isla.isla

hace tiempo que tenía ganas de poder expandir un poco más el proyecto de bibliobox ya que al tener levantado un servidor web en la raspi podía tener más cosas al estilo piratebox. Nos juntamos con @hans, una pirata amiga y craneamos que necesitabamos para configurar una LAN con varios dominios teniendo la raspi como access point.

Como vamos a inventar el dominio “.isla”, dentro de la red LAN de la raspi necesitabamos un DNS 1 para resolver los nombres a la ip

reemplace “isla” por el dominio que quieras.

  1. para eso usamos dnsmasq pero primero vamos a deshabilitar el dns por defecto que trae systemd

esto lo hacemos así:

sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
  1. e instalamos dnsmasq

sudo apt update && sudo apt install dnsmasq && sudo apt install dnsutils

el && hace que se ejecute un comando seguido del otro entonces ahcemos un update, luego se instala dnsmasq y luego dnsutils.

  1. creamos el archivo de configuración de dnsmasq sudo nano /etc/dnsmasq.d/isla

y vamos a guardar esto:

no-dhcp-interface=enp2s0f0
bogus-priv
domain=isla
expand-hosts
local=/isla/
domain-needed
no-resolv
no-poll
server=8.8.8.8
server=8.8.4.4"
  1. hacemos restart del servicio dnsmasq sudo systemctl restart dnsmasq

4.5 Ahora necesitamos que el sistema encuentre el archivo asi que en sudo nano /etc/default/hostapd buscamos #DAEMON_CONF y escribimos DAEMON_CONF="/etc/hostapd/hostapd.conf"

  1. ahora toca editar el archivo /etc/hosts donde vamos a poner los dominios que queramos

sudo nano /etc/hosts

192.168.100.1 librenauta.isla
# excalidraw
192.168.100.1 copiona.isla
# typesense
192.168.100.1 bibliobox.isla

192.168.100.1 es la ip fija que asigne a la raspi en sudo nano /etc/dhcpcd.conf en ambos lugares tiene que estar la misma ip

  1. reiniciamos dnsmasq como el paso 4

  2. install nginx como servidor web

sudo apt install nginx

ahora en sites-enabled vamos a configurar los dominios asignados a cada directorio donde tengamos una web :D

sudo nano /etc/nginx/sites-enabled/isla.conf

server {
        listen 80;
        listen [::]:80;
        server_name librenauta.isla;
    root /var/www/librenauta.isla/;
    index index.html;
    }

server { listen 80; listen [::]:80; server_name copiona.isla;

    root /var/www/copiona.isla/;
    index index.html;
    }

server { listen 80; listen [::]:80; server_name bibliobox.isla;

    root /var/www/bibliobox.isla/;
    index index.html;
    }

_prestar atencion que los directorios de los sitios estan en /var/www/ pero pero pueden estar en otra ubicación si lo cambiaron.

  1. recargamos el servicio de nginx

sudo systemctl reload nginx

y ya el servidor web esta sirviendo esos 3 dominios librenauta.isla, copiona.isla y bibliobox.isla.

en este que nos sirvio de mucha ayuda link 2 está la version de esto con diferentes servicios dinámicos con puertos diferentes al 80

  1. un DNS es un servicio que traduce la dirección que escribimos en el navegador a una ip especifica, ejemplo para entrar en https://copiona.com es mas facil recordar el nombre copiona.com que 51.68.214.107. eso hace el dns :D

  2. https://dev.to/ivishalgandhi/local-home-lab-dns-setup-with-dnsmasq-and-nginx-8b5