T6. Servicios en red¶
Servidor de Nombres de Dominio -DNS-¶
Duración: 5 horas.
Teoría¶
- Textos planos
/etc/hosts - Sistema jerárquico

Organización de servidores:
+ partiendo de los servidores root que son los . (dot).
_Puesto que TODAS las rutas SIEMPRE deben hacer referencia al dominio raiz, no es necesario ponerlo._
- posteriormente tenemos los Top Level Domains -tld- que tenemos de 2 tipos: geográficos (
.es.,.fr.,.pt., ...) y específicos (.com.,.org.,.tv., ...).- después tenemos los de segundo nivel, los denominados dominios, p.e.
google.es.,duckdns.org. - los subdominios, p.e.
luiscastelar.duckdns.org.omail.google.com.. - límites:
- Cada nodo del árbol se llama nombre de dominio y tiene una etiqueta con una longitud máxima de 63 caracteres.
- La profundidad máxima de una estructura arbórea es 127 niveles y la longitud máxima para un nombre es de 255 caracteres (incluído el punto final obligatorio).
- El nombre absoluto de un equipo -FQDN- está relacionado con todas las etiquetas de nodo y que termina con un punto final (
root)
- después tenemos los de segundo nivel, los denominados dominios, p.e.
- Mecanismo de funcionamiento:

Nota: En la figura se combinan la solicitud recursiva del usuario y la iterativa del resolver.
Bibliografía: CIFP Rodolfo Ucha
Cliente DNS:¶
Jerarquía de resolución:
Archivo /etc/hosts:¶
Fichero para la resolución estática de nombres (normalmente de la red local).
Incluye nuevas líneas en este fichero para la resolución de nombres de la red local. Las líneas de /etc/hosts tienen el formato:
# dirección_IP nombre_largo nombre_corto
127.0.0.1 localhost.localdomain localhost miPropioEquipo
192.168.60.100 sauron.mordor.com sauron
# bannear a youtuble
127.0.0.2 youtube.com
Comprueba su funcionamiento haciendo ping a las máquinas que has incluido.
Nota: en Windows el archivo es C:\Windows\System32\drivers\etc\hosts.
Nota 2: Firefox no respeta el uso de este archivo.
Servicio DNS indicado en /etc/resolv.conf¶
Fichero que especifica los servidores DNS y los dominios de búsqueda... salvo que en las nuevas versiones de S.O.s basados en Gnu/Linux ya no podemos editarlo directamente. El archivo es controlado por systemd [^1][^2].
Nota: En cierta bibliografía aparecerá como
sudo systemctl stop systemd-resolved.service. Deberéis saber quesystemdtoma por defecto .service si se omite el tipo de demonio (service, socket, ...)
Servidor DNS¶
DnsMasq:¶
Archivo de configuración:
services:
dns:
ports:
- 53:53/udp
- 5380:8080
volumes:
- ./dnsmasq.conf:/etc/dnsmasq.conf
logging:
driver: "json-file"
options:
max-size: "10m"
#max-file: "10"
environment:
- "HTTP_USER=foo"
- "HTTP_PASS=bar"
restart: always
image: jpillora/dnsmasq
Ésto fallará ya que no tenemos el archivo dnsmasq.conf por lo que primero debemos levantarlo con el volumen desactivado y capturamos su contenido con docker exec -it dnsmasq-dns-1 cat /etc/dnsmasq.conf > dnsmasq.conf
Después podremos añadir nuestros equipos de zona o incluso capturar equipos que no queremos que sean accesibles:
...
address=/profesor.local/192.168.60.100
address=/youtube.com/127.0.0.1
address=/marca.com/127.0.0.1
address=/ut4.midominio.duckdns.org/10.0.0.100
🛈 Los dominios
.localson dominios reservados para redes locales con lo que podemos utilizarlos sin peligro a ocultamientos.
Probarlo¶
- En GNU/Linux con
dig [@servidor] FQDNo sólodig FQDN. - En Windows con
nslookup [-opcion] [host] [servidor].
Registros DNS¶
Servidores internos¶
Los servidores de DNS internos son de gran utilidad para llevar un inventario de equipos en la red local y poder acceder a los mismos a través de nombres sencillos y no de depender de IPs que puedan variar en el tiempo o colisionar.
Además, son de gran utilidad para solventar los problemas de HairPin NAT, NAT reverso o NAT loopback, esto es, cuando queremos acceder a servicios públicos que están en nuestra misma red.
Referencias webgráficas¶
Prácticas¶
P1 - Servidor DNS¶
Montar un servidor de DNS que resuelva las IPs de 1 compañero, la del profesor y un registro MX. \
Pasos:
1. Tener una máquina Vagrant con IP pública y estática, y docker.
2. Instalar y configurar como microservicio el servidor dnsmasq de forma que resuelva lo solicitado.
Nota: los ficheros de configuración de dnsmasq se encuentran en /etc/dnsmasq.conf
P2 - Balanceador de carga por DNS¶
Sigue las instrucciones para realizar un balanceo básico con un servidor DNS.
Fuente: Jose Domingo Muñoz
Nota: Requieres 3 contenedores (2 nginx y un dnsmasq) y una red.
LDAP - Protocolo Ligero de Acceso a Directorios¶
- Teoría
- Limitaciones:
- Se requieren un mínimo de 2 servidores LDAP para establecer el servicio mínimamente confiable. Ten en cuenta que si uno falla la organización completa se queda sin acceso.
- Los servidores deben implementarse sobre máquinas físicas SIEMPRE. Ten en cuenta que si no el servidor que soporta dichas máquinas virtuales no podría estar dentro de la organización.
Nota: Active Directory de Microsoft es sólo una de las posibles implementaciones de LDAP.
Nota 2: Las GPO’s que establecemos en AD (o cualquier otro LDAP) son sólo válidas para equipos cliente Windows.
Autenticación de accesos Apache por LDAP¶
Tarea libre de validación paso a paso.
Práctica¶
Partiendo de lo anterior, montad un servidor que autentique vía LDAP el acceso a un directorio dado.
La práctica se realizará por parejas compuestas por alumno/a que provenga del grado medio de SMR y alumno/a que provenga de bachillerato o universidad.
Notas al pie:¶
[^1] En Ubuntu:
1. Modificar archivo /etc/systemd/resolved.conf
2. Enlazar el sistema antiguo sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
3. Reiniciar servicio:
+ sudo systemctl stop systemd-resolved
+ sudo systemctl start systemd-resolved
[^2] En Debian: sudo nano /etc/network/interfaces, donde añadiremos un dns-nameserver 192.168.60.190