Este documento detalla el procedimiento para configurar Epoptes en un aula de informÔtica utilizando resolución de nombres mDNS (Avahi). Este método permite la interconexión entre equipos en redes con direccionamiento IP dinÔmico (DHCP), eliminando la necesidad de configurar IPs fijas.

Esquema de Funcionamiento
- Servidor (En este ejemplo vamos a suponer que tendrĆ” este nombre: tux0): ActĆŗa como controlador central y se anuncia en la red mediante Avahi.
- Resolución de nombres: Los equipos se localizan mediante el sufijo .local (tux0.local).
- Clientes: Se conectan al nombre del servidor, validan el certificado de seguridad e inician el servicio automƔticamente en cada arranque.
Gestión del Nombre de Equipo (Hostname)
Dado que la IP es dinÔmica y puede cambiar, el nombre del equipo es el único identificador fiable en la red. Para que el sistema funcione, el servidor debe tener un nombre único y conocido.
Procedimiento para cambiar el nombre del equipo
Si tu servidor o clientes no tienen el nombre correcto, debes modificarlo en los siguientes archivos:
- Archivo /etc/hostname: Este archivo contiene solo el nombre del equipo.
sudo nano /etc/hostname(Borra el nombre actual y escribetux0) - Archivo /etc/hosts: Debes actualizar la lĆnea asociada al bucle local para que coincida con el nuevo nombre.
sudo nano /etc/hostsModifica la lĆnea:127.0.1.1 nombre_antiguopor127.0.1.1 tux0 - Aplicar sin reiniciar:
sudo hostnamectl set-hostname tux0
PASO 1: Configuración del Servidor
El servidor es la estación desde la que se ejerce el control del aula.
- Identificar la interfaz de red: Para verificar el estado de la red, utiliza el comando:
ip a - Script de instalación y configuración: Crea el archivo
server_setup.shy ejecĆŗtalo con permisos de superusuario:
#!/bin/bash
if [ "$EUID" -ne 0 ]; then echo "Error: ejecuta con sudo"; exit 1; fi
# Instalación de paquetes
apt update && apt install -y epoptes avahi-daemon
# Asegurar el nombre del host
hostnamectl set-hostname tux0
# Gestión de permisos de usuario
# Añade el usuario que lanzó el script al grupo epoptes
USUARIO_REAL=${SUDO_USER:-$USER}
gpasswd -a "$USUARIO_REAL" epoptes
echo "Configuración del servidor finalizada. Reinicie el equipo."
PASO 2: Configuración de los Clientes
Debe ejecutarse en cada puesto de alumno.
- Corrección de rutas del sistema: Si el sistema no localiza los binarios en /sbin, añÔdelos al PATH del usuario:
echo 'export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin' >> ~/.bashrc && source ~/.bashrc - Script de configuración del cliente: Crea el archivo
client_setup.shcon el siguiente contenido:
#!/bin/bash
# Definición do nome do servidor mDNS
SERVER_NAME="tux0.local"
# 1. Verificar se se executa como root
if [ "$EUID" -ne 0 ]; then
echo "Erro: Por favor, executa o script con sudo (sudo ./config_cliente_nome.sh)"
exit 1
fi
# Engadimos as rutas de administración ao PATH da sesión actual do script
export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin
echo "--- Iniciando configuración automÔtica do cliente Epoptes ---"
# 2. Actualización de repositorios e instalación
# Instalamos avahi-daemon para que o cliente poida resolver o nome .local
echo "[1/5] Instalando paquetes necesarios (epoptes-client, avahi, net-tools)..."
apt update && apt install -y epoptes-client avahi-daemon net-tools
# 3. Configuración do ficheiro /etc/hosts (Opcional con Avahi, pero recomendable por seguridade)
# Nota: Co uso de .local, o sistema buscarĆ” automaticamente na rede sen necesidade de IP fixa
echo "[2/5] Limpando configuracións previas de hosts..."
sed -i '/tux0/d' /etc/hosts
sed -i '/server/d' /etc/hosts
# 4. Configuración do ficheiro por defecto de Epoptes
echo "[3/5] Axustando configuración para conectar a $SERVER_NAME..."
if [ -f /etc/default/epoptes-client ]; then
# SubstituĆmos calquera configuración previa polo nome do noso servidor
sed -i "s/^#SERVER=.*/SERVER=$SERVER_NAME/" /etc/default/epoptes-client
sed -i "s/^SERVER=.*/SERVER=$SERVER_NAME/" /etc/default/epoptes-client
else
echo "SERVER=$SERVER_NAME" > /etc/default/epoptes-client
fi
# 5. Descarga do certificado dende o servidor
# O servidor debe estar acendido e coa aplicación Epoptes aberta
echo "[4/5] Descargando certificado de seguridade dende $SERVER_NAME..."
/usr/sbin/epoptes-client -c
# 6. Activación e arranque do servizo
echo "[5/5] Activando o servizo para o arranque automƔtico..."
systemctl enable epoptes-client
systemctl restart epoptes-client
echo "---"
echo "PROCESO FINALIZADO CON ĆXITO."
echo "O cliente xa deberĆa aparecer na consola do servidor ($SERVER_NAME)."
echo "Se o certificado fallou, asegĆŗrate de que o servidor se chama 'tux0'."
PASO 3: Verificación de la Conexión
- En el Servidor: Inicia la interfaz grƔfica ejecutando
epopteso buscando la aplicación en el menú de Educación. - En el Cliente: Comprueba que el servicio estÔ corriendo con el comando
systemctl status epoptes-client. - Resolución de problemas: Si el cliente no aparece, verifica la conectividad mDNS mediante un ping:
ping tux0.localSi responde pero no conecta, repite la descarga del certificado:sudo epoptes-client -c.
