Este documento detalha o procedimento para configurar Epoptes em uma sala de informática utilizando a resolução de nomes mDNS (Avahi). Este método permite a interconexão entre dispositivos em redes com endereçamento IP dinâmico (DHCP), eliminando a necessidade de configurar IPs fixos.

Esquema de Funcionamento
- Servidor (Neste exemplo, vamos supor que terá este nome: tux0): Atua como controlador central e se anuncia na rede através do Avahi.
- Resolução de nomes: Os dispositivos são localizados usando o sufixo .local (tux0.local).
- Clientes: Conectam-se ao nome do servidor, validam o certificado de segurança e iniciam o serviço automaticamente a cada inicialização.
Gestão do Nome do Dispositivo (Hostname)
Dado que o IP é dinâmico e pode mudar, o nome do dispositivo é o único identificador confiável na rede. Para que o sistema funcione, o servidor deve ter um nome único e conhecido.
Procedimento para mudar o nome do dispositivo
Se o seu servidor ou clientes não tiverem o nome correto, você deve modificá-lo nos seguintes arquivos:
- Arquivo /etc/hostname: Este arquivo contém apenas o nome do dispositivo.
sudo nano /etc/hostname(Apague o nome atual e escrevatux0) - Arquivo /etc/hosts: Você deve atualizar a linha associada ao loopback local para que coincide com o novo nome.
sudo nano /etc/hostsModifique a linha:127.0.1.1 nome_antigopara127.0.1.1 tux0 - Aplicar sem reiniciar:
sudo hostnamectl set-hostname tux0
PASO 1: Configuração do Servidor
O servidor é a estação a partir da qual o controle da sala é exercido.
- Identificar a interface de rede: Para verificar o estado da rede, use o comando:
ip a - Script de instalação e configuração: Crie o arquivo
server_setup.she execute-o com permissões de superusuário:
#!/bin/bash
if [ "$EUID" -ne 0 ]; then echo "Erro: execute com sudo"; exit 1; fi
# Instalação de pacotes
apt update && apt install -y epoptes avahi-daemon
# Assegurar o nome do host
hostnamectl set-hostname tux0
# Gestão de permissões de usuário
# Adicione o usuário que lançou o script ao grupo epoptes
USUARIO_REAL=${SUDO_USER:-$USER}
gpasswd -a "$USUARIO_REAL" epoptes
echo "Configuração do servidor finalizada. Reinicie o dispositivo."
PASO 2: Configuração dos Clientes
Deve ser executado em cada posto de aluno.
- Correção dos caminhos do sistema: Se o sistema não localizar os binários em /sbin, adicione-os ao PATH do usuário:
echo 'export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin' >> ~/.bashrc && source ~/.bashrc - Script de configuração do cliente: Crie o arquivo
client_setup.shcom o seguinte conteúdo:
#!/bin/bash
if [ "$EUID" -ne 0 ]; then echo "Erro: execute com sudo"; exit 1; fi
# O cliente procurará o servidor pelo seu nome mDNS
SERVER_NAME="tux0.local"
# Instalação de dependências
apt update && apt install -y epoptes-client avahi-daemon
# Configuração do arquivo do cliente
# Estabelece a variável SERVER para apontar ao hostname do servidor
if [ -f /etc/default/epoptes-client ]; then
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
# Download do certificado de segurança (Requer que o servidor esteja ativo)
echo "Obtendo certificado de $SERVER_NAME..."
epoptes-client -c
# Persistência do serviço
systemctl enable epoptes-client
systemctl restart epoptes-client
echo "Configuração do cliente finalizada."
PASO 3: Verificação da Conexão
- No Servidor: Inicie a interface gráfica executando
epoptesou procurando a aplicação no menu de Educação. - No Cliente: Verifique se o serviço está rodando com o comando
systemctl status epoptes-client. - Resolução de problemas: Se o cliente não aparecer, verifique a conectividade mDNS através de um ping:
ping tux0.localSe responder mas não conectar, repita o download do certificado:sudo epoptes-client -c.
