Ideas para lidiar con Dominios y pantallas de bienvenida en los Nodos

Hola, abro este tema para recibir opiniones y aportes. :slight_smile:

Sobre Dominios

El hecho es que en LaOtraRed cada nodo puede brindar sus servicios y tener uno o más dominios, en mi caso utilizo chersky.lor para la página principal de mi nodo y para los servicios por ejemplo:radio.chersky.lor , fotos.chersky.lor, cada nodo podría hacer lo mismo y mientras no tengamos montado un servidor DNS, cada nodo puede configurar el enrutador para que este responda a peticiones de dominios de esa manera.

La idea es que cada nodo pueda hacer lo mismo, no hemos definido aún la forma de administración del servidor DNS pero lo más probable es que usemos un servidor DNS centralizado y que los dueños de nodos envién solicitudes por un medio a definir para que este responda a peticiones de dominios en la red.

Si tienen otras propuestas/ideas sobre como manejar el DNS, aquí irán bien.

Pantallas de bienvenida (splash screens)

La meta de esto es que cuando alguien se conecta a la señal WiFi de un nodo de LaOtraRed, sea automáticamente redirigido a la página principal del nodo (si la tiene) al tratar de navegar, algo parecido a un portal cautivo que obliga a que veas una página de bienvenida antes de seguir navegando.

Pero lo molesto de un portal cautivo es que hay que iniciar sesión cada cierto tiempo y el usuario sólo verá la pantalla una vez cada cierto tiempo y podría olvidar las direcciones para seguir navegando en LaOtraRed.

Por eso pensé también en usar una configuración especial para que el router redirija cualquier petición a dominios convencionales (de Internet) hacia la página principal del nodo.

Por ejemplo, suponiendo que el nombre del nodo es moritas.lor si alguien intenta entrar a google.com el router le enviará a moritas.lor.

Lo mismo para cualquier dominio terminado en .com .org .net .io .es .bo .br , etc. que son dominios primarios típicos de internet. El router los enviará a la página principal del nodo y allí debería haber un mensaje explicando que esto no es internet y es LaOtraRed, adicionalmente se podría tener una página que muestre direcciones hacia los demás nodos.

Ahora mismo estaba pensando combinar dnsmasq y nodogsplash para hacerlo pero no he hecho nada concreto, si tienen sugerencias también se les agradecerá. :wink:

Esta bien, porque cada vez que encuentran que hay Wifi abierto lo primero que hacen es entrar a su face o wasp y esto ayudaría a que primero lean un poquito y después usen los servicios que de cada Nodo.

Sobre los DNS, en las épocas del HL querían hacerlo descentralizado pero 1) técnicamente no es viable a largo plazo, y 2) ninguna de las “implementaciones experimentales” que había en internet podía funcionar en OpenWrt.

La idea que tengo en mente para eso, es federar el servicio de DNS: ya que hay varios nodos de confianza (entre funcionales y propuestos) como nodo Chersky, aymAtha, Jhtan donde hay servers, mi idea en borrador era hacer algo como un servicio federado donde los puntos usen bind9? powerdns? y se intercambien datos mediante consul.io o algo parecido. Así se definiría el servicio DNS autoritativo.
Para DNS repetidor (que use la gente), con un dnsmasq e IPs anycast en babeld, sería teóricamente posible tener IPs únicas para DNS como 10.64.64.4 y 10.64.65.5, que se enruten al punto dnsmasq más cercano en la red (y si ése punto cae babeld deja de anunciar esa ruta automáticamente)


Para pantallas de bienvenida, como en sí LOR es un jardín vallado (no hay Internet en absoluto, sólo intranet), y hay apps que esperan conectividad contínua a LOR sin interrupciones (como la de las futuras videollamadas), no creo que sea óptimo seguir con nodogsplash o cualquier cosa que esté toqueteando NAT e iptables. Además, NAT e iptables no son necesarios ya que el DNS no debería responder con IPs de la internet real.

Por lo pronto he estado haciendo experimentos en la vida real éstas semanas con una mezcla de sumideros de internet: un dnsmasq que 1) responda todo lo de LOR como se debe, y 2) lo de internet lo dirija todo a un nginx. Éste nginx actúa como sumidero y todas las peticiones son respondidas con un 302 Found (redirección) al portal de bienvenida.

Otra cosa a considerar es un pequeño software de guía, de alguna manera federado si es posible, donde todos puedan agregar los servicios que su nodo ofrece.

Buen punto, un DNS descentralizado no tiene sentido práctico por ahora.

Interesante propuesta, aunque en principio consul.io me parece complejo si lo aprendemos a manejar podríamos optimizar la necesidad de consultas para definir DNS autoritativos.

Sobre splash screen (pantallas de bienvenida)

Es una idea práctica, posiblemente justo lo que se necesita, como esto tiene más sentido en nodos donde hay servidores dando servicios propios no habría inconveniente en instalar nginx o apache en estas máquinas, sólo habrá que hacer que dnsmasq responda como debe a peticiones hacia internet y las redirija a la página principal del nodo.

Un inconveniente es en nodos donde no hay servidores y que funcionan solamente como nodos simples (pero sin servidores). En este caso, ¿sería factible un servidor web pequeño en el enrutador que haga los 302 ? y a ¿qué página redirigirá o de qué nodo? :neutral_face: se me ocurre montar un servicio que tenga una página web sobre LaOtraRed (LOR) que contenga información esencial y la forma de acceder a los otros nodos, sería muy bueno si conseguimos que esta página se actualice automáticamente.

Supongo es una idea similar y hablando de esto como un servicio web, tal vez bastaría con una página donde se llene un formulario para agregar tus dominios y descripción de los servicios.