Este documento detalla o procedemento para configurar Epoptes nunha aula de informÔtica utilizando resolución de nomes mDNS (Avahi). Este método permite a interconexión entre equipos en redes con direccionamento IP dinÔmico (DHCP), eliminando a necesidade de configurar IPs fixas.

Esquema de Funcionamento
- Servidor (Neste exemplo imos supoñer que terÔ este nome: tux0): Actúa como controlador central e anúnciase na rede mediante Avahi.
- Resolución de nomes: Os equipos localĆzanse mediante o sufixo .local (tux0.local).
- Clientes: ConƩctanse ao nome do servidor, validan o certificado de seguridade e inician o servizo automaticamente en cada arranque.
Xestión do Nome de Equipo (Hostname)
Dado que a IP é dinÔmica e pode cambiar, o nome do equipo é o único identificador fiable na rede. Para que o sistema funcione, o servidor debe ter un nome único e coñecido.
Procedemento para cambiar o nome do equipo
Se o teu servidor ou clientes non teƱen o nome correcto, debes modificalo nos seguintes ficheiros:
- Ficheiro /etc/hostname: Este ficheiro contén só o nome do equipo.
sudo nano /etc/hostname(Borra o nome actual e escribetux0) - Ficheiro /etc/hosts: Debes actualizar a liƱa asociada ao bucle local para que coincida co novo nome.
sudo nano /etc/hostsModifica a liƱa:127.0.1.1 nome_antigopor127.0.1.1 tux0 - Aplicar sen reiniciar:
sudo hostnamectl set-hostname tux0
PASO 1: Configuración do Servidor
O servidor é a estación dende a que se exerce o control da aula.
- Identificar a interface de rede: Para verificar o estado da rede, utiliza o comando:
ip a - Script de instalación e configuración: Crea o ficheiro
server_setup.she execĆŗtao con permisos de superusuario:
#!/bin/bash
if [ "$EUID" -ne 0 ]; then echo "Erro: executa con sudo"; exit 1; fi
# Instalación de paquetes
apt update && apt install -y epoptes avahi-daemon
# Asegurar o nome do host
hostnamectl set-hostname tux0
# Xestión de permisos de usuario
# Engade o usuario que lanzou o script ao grupo epoptes
USUARIO_REAL=${SUDO_USER:-$USER}
gpasswd -a "$USUARIO_REAL" epoptes
echo "Configuración do servidor finalizada. Reinicie o equipo."
PASO 2: Configuración dos Clientes
Debe executarse en cada posto de alumno.
- Corrección de rutas do sistema: Se o sistema non localiza os binarios en /sbin, engÔdeos ao PATH do usuario:
echo 'export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin' >> ~/.bashrc && source ~/.bashrc - Script de configuración do cliente: Crea o ficheiro
client_setup.shco seguinte contido:#!/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 da Conexión
- No Servidor: Inicie a interface grƔfica executando
epoptesou buscando a aplicación no menú de Educación. - No Cliente: Comprobe que o servizo estÔ correndo co comando
systemctl status epoptes-client. - Resolución de problemas: Se o cliente non aparece, verifique a conectividade mDNS mediante un ping:
ping tux0.localSe responde pero non conecta, repita a descarga do certificado:sudo epoptes-client -c.
