Esta seção descreve a arquitetura de rede e os serviços fornecidos por uma instalação Skolelinux.
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.
O DHCP no servidor principal serve a rede 10.0.0.0/8, fornecendo um menu de inicialização PXE onde se pode escolher entre instalar um novo servidor ou uma nova estação de trabalho, iniciar um cliente dependente ou uma estação de trabalho sem disco, executar o memtest (teste da(s) memória(s)), ou iniciar a partir do disco rígido local.
Mas isto pode ser modificado; para mais informações, ver o capítulo de instruções respetivo.
Nos servidores LTSP, o que o DHCP faz é apenas servir uma rede dedicada (sub-rede) na segunda interface (as opções 192.168.0.0/24 e 192.168.1.0/24 estão pré-configuradas) e raramente necessita ser alterado.
A configuração de todas as sub-redes é guardada no LDAP.
Uma rede Skolelinux precisa de um servidor principal (também chamado "tjener", termo norueguês que significa "servidor") que por predefinição tem o endereço IP 10.0.2.2 e é instalado selecionando o perfil Servidor Principal. É possível (mas não necessário) selecionar e instalar na mesma máquina também os perfis Servidor LTSP e Estação de Trabalho, além do perfil Servidor Principal.
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.
Uma rede Skolelinux pode ter muitos servidores LTSP, que são instalados ao ser selecionado o perfil Servidor LTSP.
Os servidores LTSP são configurados para receberem o syslog de clientes dependentes e de estações de trabalho, e encaminharem essas mensagens para o destinatário central do syslog.
Observe:
Estações de trabalho sem disco LTSP usam os programas instalados no servidor.
O sistema de arquivos raiz do cliente é disponibilizado através do NFS. Após
cada modificação no servidor LTSP a imagem relacionada tem que ser gerada
novamente; executar debian-edu-ltsp-install
--diskless_workstation yes
no servidor LTSP.
Uma configuração 'cliente dependente' permite que PCs comuns funcionem como terminais (do X). Isto significa que a máquina inicia diretamente do servidor, usando o PXE, sem usar o disco rígido do computador cliente. A configuração de clientes dependentes é feita agora pelo X2Go, uma vez que o LTSP deixou de ter essa funcionalidade.
Os clientes dependentes são uma boa maneira de ainda ser feito uso de computadores muito antigos (a maioria de 32 bits), pois eles executam eficazmente todos os programas no servidor LTSP. Isto funciona da seguinte forma: o serviço usa o DHCP (Dynamic Host Configuration Protocol) para se ligar à rede e o TFTP (Trivial File Transfer Protocol) para iniciar a partir da rede; em seguida, é montado o sistema de arquivos a partir do servidor LTSP utilizando NFS; finalmente, é iniciado o cliente X2Go.
Uma estação de trabalho sem disco executa todo o software no próprio computador, apesar de não ter um sistema operacional instalado localmente. Isto significa que os computadores clientes iniciam via PXE, sem executarem software instalado num disco rígido local (mas sim no servidor).
As estações de trabalho sem disco são uma excelente forma de ser utilizado equipamento potente com o mesmo baixo custo de manutenção dos clientes dependentes. O software é administrado e mantido no servidor, sem a necessidade de software instalado localmente nos clientes. A pasta pessoal de cada usuário (os diretórios de usuário) e as configurações do sistema para cada um também são guardadas no servidor.
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.
Atualmente existem dois tipos de imagens para suportes de instalação: netinst e BD. Ambas as imagens podem também ser carregadas a partir de pendrives via USB.
O objetivo é haver a possibilidade de fazer uma única instalação do sistema como servidor, usando qualquer tipo de suporte, e, a partir do servidor, com inicialização pela rede, instalar o sistema em todos os outros computadores (clientes) através da rede.
Apenas a imagem netinstall necessita de acesso à Internet durante a instalação.
A instalação não deve fazer solicitações, com exceção do idioma desejado, localização, teclado e perfil do computador (Servidor principal, Estação de trabalho, Servidor LTSP, ...). Todas as outras configurações são estabelecidas automaticamente com valores razoáveis, para serem alteradas a partir de uma localização central pelo administrador do sistema, após a instalação.
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).