Harto de mDNS y otros comportamientos @ YoVirtualizador | 2023-09-07T03:00:00+02:00 | 4 minutos de lectura | Actualizado en 2023-09-05T03:00:00+02:00

Hace un tiempo escribí esto sobre mDNS y esto otro sobre avahi.

¿Estoy harto?

Pues si, estoy un poco harto de un comportamiento que no es compartido por otros sistemas, y que curiosamente solo afecta al hardening de Fedora, RedHat y familia.

En mi casa tengo un TLD en lugar de los habituales .home o .local que suelen existir en domicilios.
La razón es simple y muy similar a por qué un aficionado a los coches puede tener un foso en su aparcamiento. A veces puedo tener un laboratorio en casa.

Y como tengo un laboratorio, quiero que funcione con las mismas características que voy a tener en producción.

Problema

Si quiero resolver localmente, lo lógico es ir a mi DNS local.
Es más, si quiero resolver quiero exactamente eso, resolver, y el orden esperado por mi parte va a ser mi fichero host y a continuación el DNS de la interfaz de red.
Con avahi, se genera una caché de contenido descubierto por el protocolo de turno que se interpone en el camino del comportamiento esperado.
Como es lógico, en producción, no voy a tener como protocolo de uso habitual un protocolo del tipo avahi, bonjour, LNA y originalmente incluso NetBIOS, no solo por seguridad, si no también higiene y otras cosas.

Así que…

Solucionando

Por supuesto lo primero que he hecho es quitar de la ecuación cualquier otra cosa, como el router, o pihole, o incluso mi máquina, hoy ya estoy trabajando con mi máquina definitiva, y actualizada.

Lo primero. Diagnosis del DNS.

Cuando montas una red híbrida siguiendo los conceptos habituales, era tradicional montar un dominio interno empresa.local, o mejor aún, un empresa.adroot usando el dominio por compatibilidad NetBIOS. Desde hace tiempo, por los motivos que sean, todo esto está pasado de moda.
No es que no se pueda, no es que no se deba, es que ahora, ya desde hace unos años, sobre todo con la evolución a la nube, el uso de un FQDN también para el DNS cobra relevancia, con vistas a una posible ubicuidad del recurso, da igual que sea recurso local o remoto, va a ser una resolución DNS el acceso preferido.

Y eso es lo que quiero. Acceder por FQDN, y que la resolución DNS se ocupe de saber si la IP es local, remota, de una interfaz o de otra.
Y es que puedo querer usar el mismo nombre FQDN y que su configuración DNS cambie en función de la ubicación.
Puedo querer que petete exista en mi casa, en casa de mis padres, en una oficina y en internet, y usar el mismo FQDN para servicios que estarán en una IP diferente en cada caso.
No quiero un solo HombeLab. Quiero muchos homelabs.
Hay quien usa NAT-Loopback. En fín, para gustos los colores.

Por lo tanto, tenemos un ping, y algunas herramientas más.

primera captura

Ping y nslookup dan respuestas erróneas, sobre todo comparado con una consulta real con dig, como esta:

segunda captura

Y ahí está el detalle, y es que tengo que forzar a mi máquina a que consulte el DNS por encima de otros servicios, dado que no quiero que se pierda en autodescubrimientos y demás, y porque echo de menos el comportamiento limpio de un windows para estos casos.
Técnicamente, si un servidor DNS responde “El registro DNS no existe”, es una respuesta válida, porque es una respuesta. Igual que el meme del servidor web que responde con un 200 para luego informar de un 404 en el payload.
A ver, es una tontería pero técnicamente es válido.
Pues eso, que es una respuesta válida y no un error, aunque no responda como queremos.
Otra cosa sería “No estoy autorizado” o “No es posible realizar la petición”.

Forzando los comportamientos

A ver.
Tengo que editar el fichero nsswitch, pero no puedo editarlo directamente.
Pudiera tener la posibilidad de usar el fichero hosts como resolución de todo esto, pero voy a ser más práctico, voy a hacer que una misma configuración cliente sea válida para múltiples ubicaciones y configuraciones de servidor.

Authselect tiene una característica que es útil. Me permite unirme a dominios y otros entornos complejos de laboratorio. Así que es lo que vo a usar como herramienta para modificar mi entorno.

tercera captura
cuarta captura

La solución

Y la lista de comandos, aquí:

sudo authselect list
sudo authselect current
sudo authselect create-profile -b=sssd Petete-first
echo "Petete-first con petete DNS como DNS preferente" | sudo tee /etc/authselect/custom/Petete-first/README
sudo authselect select custom/Petete-first 
sudo sed -i 's/dns//g' /etc/authselect/custom/Petete-first/nsswitch.conf
sudo sed -i 's/files/files dns/g' /etc/authselect/custom/Petete-first/nsswitch.conf
sudo authselect disable-feature with-mdns4
sudo authselect disable-feature with-mdns6
sudo authselect disable-feature with-m4
sudo authselect disable-feature with-m6
sudo authselect apply-changes 

Y con esto, paso dejo configurado un nivel más básico para cuando quiera jugar con el dominio desde esta máquina.


YoVirtualizador en formato podcast. Ahora también en Sospechosos Habituales: https://feedpress.me/sospechososhabituales
Y sin más, os dejo los enlaces:

Web: https://www.yovirtualizador.com
Grupo de telegram: https://t.me/grupovirtualizador
Podcast: https://www.ivoox.com/podcast-yovirtualizador_fg_f1563806_filtro_1.xml
Canal de youtube: https://www.youtube.com/channel/UC0R70cABSsmC6TFyXth0qPg
Enlace de afiliados de amazon: https://amzn.to/3gX3HmK
Enlace de referidos de la Asociación Podcast: https://www.asociacionpodcast.es/registrarse/socio/?coupon=SB6A70

© 2019 - 2024 YoVirtualizador

Powered by Hugo with theme Dream.

avatar

El blog de YoVirtualizadorTu podcast y blog de confianza

Acerca de YoVirtualizador

YoVirtualizador es la marca de varios proyectos

Podcast de informática profesional. Canal de Youtube sobre el blog, el podcast y de temática profesional. Blog de contenido diverso, con temática BOFH y técnica.

Gracias por la lectura.

Política de comentarios

En YoVirtualizador todos los comentarios serán bienvenidos pero moderados.

Respetos guardan respetos.

El contenido irrelevante u ofensivo será eliminado.

Galletas

Política de cookies

En YoVirtualizador no usamos cookies para nada, pero los servicios de discus y analytics recopilan datos en servidores ajenos a YoVirtualizador sin que yo pueda hacer nada.

Este aviso es sólo porque algún político tenía que justificar su existencia.

Si hace clic en un enlace de afiliado y compra un producto o servicio, es posible que ese comerciante nos pague una tarifa.