Arquitetura

Esta seção descreve a arquitetura de rede e os serviços fornecidos por uma instalação Skolelinux.

A topologia da rede do Debian Edu

A figura é um esboço da topologia de rede assumida como padrão. A configuração predefinida de uma rede Skolelinux assume que existe um (e apenas um) servidor principal, enquanto permite a inclusão tanto de estações de trabalho normais quanto de servidores LTSP (com clientes dependentes e/ou estações de trabalho sem disco associados). O número de estações de trabalho pode ser tão grande ou tão pequeno quanto se quiser (desde nenhuma). O mesmo vale para os servidores LTSP (Linux Terminal Server Project), estando cada um deles numa rede separada para que o tráfego entre os clientes e o servidor LTSP não afete os demais serviços de rede. O LTSP é explicado em detalhe no respectivo capítulo de instruções.

A razão para que só possa haver um servidor principal em cada rede escolar é que o servidor principal permite a configuração dinâmica de hospedeiros, através do protocolo DHCP (Dynamic Host Configuration Protocol), e em cada rede só pode haver um sistema a fazê-lo. É possível transferir a execução de serviços de rede do servidor principal para outras máquinas; para o fazer, é necessário configurar a execução do serviço noutra máquina e, em seguida, atualizar a configuração do DNS, apontando o identificador ("alias") do DNS desse serviço para o computador certo.

A ligação à Internet é feita através de um encaminhador (router) separado, também chamado intermediário (gateway), para que a configuração padrão do Skolelinux possa ser mais simples do que seria de outra forma. Ver o capítulo Encaminhador de Internet (router) para informação de como instalar um encaminhador intermediário, se não for possível reconfigurar conforme necessário um encaminhador já existente.

Com exceção do controle dos clientes dependentes, todos os serviços são inicialmente configurados num computador central (o servidor principal). Por razões de desempenho, o(s) servidor(es) LTSP deve(m) ser separado(s) (embora seja possível instalar os perfis de servidor principal e de servidor LTSP no mesmo computador). É atribuído a todos os serviços um nome DNS específico e todos funcionam exclusivamente em IPv4. O nome DNS atribuído facilita a transferência de serviços individuais do servidor principal para um computador diferente, simplesmente parando o serviço no servidor principal e alterando a configuração do DNS, apontando para a nova localização da execução do serviço (que deve primeiro ser configurada nesse computador, é claro).

Para garantir a segurança, todas as ligações em que as senhas são transmitidas pela rede são encriptadas, de modo que nenhuma senha é enviada pela rede como texto simples.

Abaixo está uma tabela dos serviços que são configurados por predefinição numa rede Skolelinux e o nome DNS de cada serviço. Se for possível, todos os arquivos de configuração irão referir-se ao serviço pelo nome (sem o nome de domínio), facilitando assim às escolas a mudança de domínio (se tiverem um domínio DNS próprio) ou dos endereços IP que utilizam.

Tabela de serviços

Descrição do serviço

Nome comum

Nome DNS

Registro centralizado

rsyslog

syslog

Serviço de nome de domínio (DNS)

DNS (BIND)

domínio

Configuração automática de rede de máquinas

DHCP

bootps

Sincronização de relógio

NTP

ntp

Diretórios pessoais via sistema de arquivos de rede

SMB/NFS

homes

Correio Eletrônico

IMAP (Dovecot)

postoffice (correios)

Serviço de diretório

OpenLDAP

ldap

Administração de usuários

GOsa²

---

Servidor web

Apache/PHP

www

Backup Central

sl-backup, slbackup-php

backup

Cache web

Proxy (Squid)

webcache

Impressão

CUPS

ipp

Login remoto seguro

OpenSSH

ssh

Configuração automática

CFEngine

cfengine

Servidor(es) LTSP

LTSP

ltsp

Vigilância de máquinas e serviços com relatório de erros, além de estado e histórico na web. Relatório de erros por e-mail

Munin, Icinga e Sitesummary

sitesummary

Os arquivos pessoais dos utilizadores são guardados nos respectivos diretórios de utilizador (pastas pessoais), que são disponibilizados pelo servidor. Os diretórios de utilizador são acessíveis a partir de todas as máquinas, dando aos utilizadores acesso aos mesmos arquivos (aos seus arquivos), independentemente da máquina que utilizem. O servidor é neutro relativamente a sistemas operacionais, proporcionando acesso via NFS a clientes do tipo Unix e via SMB2/SMB3 a outros clientes (windows, mac, etc.).

Por padrão, o e-mail é configurado para entrega local (ou seja, na escola) apenas, embora possa ser configurado o envio de correio pela Internet, se a escola tiver uma ligação permanente à Internet. Os clientes são configurados para entregar e-mail ao servidor (usando 'smarthost'), acedendo os utilizadores ao seu correio pessoal através de IMAP.

Todos os serviços são acessíveis usando o mesmo nome de usuário e respectiva senha, graças à base de dados central de usuários para a autenticação e autorização.

Para aumentar o desempenho em sites visitados frequentemente é usado um intermediário (proxy) de web (o Squid), que guarda arquivos localmente. Além de bloquear o tráfego web no encaminhador (router), isto também permite controlar o acesso à Internet nas máquinas, individualmente.

A configuração da rede nos clientes é feita automaticamente usando DHCP. Todos os tipos de clientes podem ser ligados à sub-rede privada 10.0.0.0/8, obtendo endereços IP correspondentes; os clientes LTSP devem ser ligados ao servidor LTSP correspondente através da sub-rede separada 192.168.0.0/24 (isto garante que o tráfego de rede dos clientes LTSP não interfere com o resto dos serviços de rede).

O acesso centralizado é configurado de forma que todas as máquinas enviem as suas mensagens syslog para o servidor. O serviço syslog é configurado de forma a apenas aceitar mensagens recebidas da rede local.

Por padrão, o servidor DNS é configurado com um domínio apenas para uso interno (*.intern), até que um domínio DNS real ("externo") possa ser configurado. O servidor DNS é configurado como servidor DNS de cache para que todas as máquinas da rede possam utilizá-lo como servidor DNS principal.

Alunos e professores podem publicar websites. O servidor web fornece mecanismos para autenticar utilizadores e para limitar o acesso a páginas e subdiretórios individuais a certos usuários e grupos. Os utilizadores poderão criar páginas web dinâmicas, já que o servidor web será programável no lado do servidor.

A informação sobre usuários e máquinas é alterada num local central e é tornada acessível a todos os computadores da rede automaticamente. Para conseguir isso, é configurado um servidor de diretório centralizado. O diretório terá informações sobre os utilizadores, grupos de utilizadores, máquinas e grupos de máquinas. Para evitar confusão entre utilizadores, não haverá diferença entre grupos de arquivos e grupos de rede. Isto implica que os grupos de computadores que irão formar grupos de rede utilizarão o mesmo espaço de nomes que os grupos de usuários.

A administração dos serviços e usuários será principalmente feita através da web e seguirá padrões estabelecidos, funcionando bem nos navegadores web que fazem parte do Skolelinux. A delegação de certas tarefas a usuários individuais ou grupos de usuários será possível através dos sistemas de administração.

Para evitar certos problemas com o NFS e para tornar a resolução dos problemas mais simples, os computadores necessitam de relógios sincronizados entre si. Para conseguir a sincronização, o servidor Skolelinux é configurado como um servidor local de Network Time Protocol (NTP) e todas as estações de trabalho e clientes são configurados para se sincronizarem com o servidor. O próprio servidor deve sincronizar o seu relógio através de NTP com computadores na Internet, garantindo assim que toda a rede tenha a hora correta.

As impressoras são ligadas onde for conveniente, seja diretamente na rede principal, seja a um servidor, estação de trabalho ou servidor LTSP. O acesso às impressoras pode ser controlado para usuários individuais de acordo com os grupos a que pertencem; isto será conseguido através da utilização de quotas e controle de acesso para impressoras.

Todas as máquinas GNU/Linux que são instaladas com o instalador Skolelinux serão administráveis a partir de um computador central, muito provavelmente o servidor. Será possível fazer login em todos via SSH e assim ter acesso total às máquinas. É necessário executar primeiro kinit, como root, para obter um TGT (ticket-granting ticket) do Kerberos.

Toda a informação dos usuários é mantida num diretório LDAP. As atualizações das contas de utilizador são feitas nesta base de dados, que é utilizada pelos clientes para autenticação do utilizador.

A cada conta de usuário do Skolelinux é atribuída uma secção do sistema de arquivos no servidor de arquivos. Esta seção (diretório home) contém os arquivos de configuração do usuário, documentos, e-mail e páginas web. Alguns dos arquivos devem ser configurados para ter acesso de leitura para outros usuários no sistema, alguns devem ser legíveis por todos na Internet e alguns não devem ser acessíveis para leitura por ninguém, exceto pelo usuário.

Para garantir que todos os discos usados para diretórios de usuários ou diretórios compartilhados possam ser identificados de forma única em todos os computadores da instalação, os discos podem ser montados como /skole/host/directory/. É criado inicialmente um diretório no servidor de arquivos, /skole/tjener/home0/, no qual são criadas todas as contas de usuários. Posteriormente podem ser criados mais diretórios, quando necessário, para acomodar determinados grupos de usuários ou determinados padrões de uso.

Para permitir o acesso compartilhado a arquivos que usem o sistema normal de permissões UNIX, é necessário que os usuários, além de estarem no grupo pessoal primário a que pertencem por predefinição, estejam também em grupos compartilhados suplementares (p. ex. "estudantes"). Se os usuários tiverem uma máscara apropriada (002 ou 007) para tornar os itens recém-criados acessíveis a grupos e se os diretórios em que eles estiverem trabalhando estiverem configurados para fazer com que os arquivos assumam a mesma entidade detentora que o grupo, o resultado é o compartilhamento controlado de arquivos entre os membros de um grupo.

As configurações iniciais de acesso a arquivos recém-criados são uma questão de opção. A máscara (umask) predefinida do Debian é 022 (que não permite acesso de grupo como descrito acima), mas o Debian Edu usa 002 como predefinição - significando que os arquivos são criados com acesso de leitura para todos os utilizadores, acesso esse que pode ser removido posteriormente por uma ação explícita do criador do arquivo. Isto pode ser alterado (editando /etc/pam.d/common-session) para uma máscara de 007 - significando que o acesso de leitura dos arquivos é inicialmente vedado, necessitando de uma ação do usuário para os tornar acessíveis. A primeira abordagem encoraja o compartilhamento de conhecimento e torna o coletivo mais transparente, enquanto que a segunda diminui o risco de disseminação indesejada de informação sensível. O problema com a primeira opção é que não é claro para os usuários que o material que criam fica acessível a todos os outros usuários. Só o conseguem perceber inspecionando os diretórios dos outros usuários e vendo que os seus arquivos podem ser lidos. O problema com a segunda opção é que provavelmente poucas pessoas tornarão os seus arquivos acessíveis a outros, mesmo que não contenham informação sensível e o conteúdo seja útil para usuários curiosos, que querem perceber como outros resolveram problemas específicos (normalmente problemas de configuração).