DIANA MARTINS


Esta reflexão foi realizada no dia 14/04/16.
Iniciamos este módulo falando sobre o Puppet, o Puppet é um utilitário open source que permite gerir determinadas configurações de software, esta ferramenta pode ser muito útil, como por exemplo num data center, onde é necessário realizar tarefas muito repetitivas como editar ficheiros de configuração ou instalar um determinado software, então o que o Puppet faz é permitir realizar estas operações num tempo muito mais reduzido, como? É no servidor que os manifestos ficam armazenados e onde é configurado o puppet master e é no cliente que se configura o puppet agent para que este interaja com o puppet master, quando o servidor se conecta aos vários clientes este envia os manifestos e estes são lidos e executados nos clientes.
Depois de falarmos sobre o conceito e funcionamento do puppet, procedemos à sua instalação e configuração. Começámos por instalar o puppetmaster no servidor, e o puppet no cliente, depois ainda no cliente, configurámos o endereço do servidor, editando o ficheiro puppet.conf adicionámos a linha 'server=hostname do puppet master' à secção [main] e no ficheiro hosts inserimos a linha referente ao IP do puppetmaster seguido do hostname, depois reiniciámos o serviço. Voltámos ao servidor e listamos os certificados com aprovação pendente através do comando 'puppet cert list' e verificamos o hostname ('puppet cert sign hostname'), confirmámos se a lista de pendentes está vazia e verificamos quais as máquinas registadas com o comando 'puppet cert-all', depois destas verificações editamos o ficheiro /etc/hosts e inserimos uma linha com o IP do clientepuppet seguido do hostname do cliente. Para procedermos à criação de um manifesto criámos um ficheiro em /etc/puppet/manifests/.
Falámos também sobre o servidor DHCP (Dynamic Host Configuration Protocol) e a sua configuração.
O DHCP é um protocolo que distribui automaticamente configurações de rede, a função de um servidor DHCP é gerir os endereços IP e outras informações como o default gateway, o DNS, a mascara da rede e fornecer estas, automaticamente aos seus clientes. Em vez de configurarmos as definições de rede em cada cliente, estas podem ser feitas no servidor e basta configurar esse mesmo servidor como DHCP para que este distribua endereços IP aos clientes. Antes de configurarmos um servidor DHCP temos de ter em conta o ambiente em que se encontra inserido, conhecer a rede e definir um default lease time (tempo de renovação dos endereços IP) e um range.
Para configurarmos um servidor DHCP procedemos primeiro à instalação do pacote referente ao mesmo, após esta instalação editamos o ficheiro /etc/dhcp/dhcpd.conf e adicionamos a este ficheiro parâmetros como a subnet, a netmask, o range e o dns, se quiséssemos atribuir um IP fixo através do DHCP, teríamos de adicionar o nome do host, o fixed-address e o hardware ethernet (mac address) depois disto editamos o ficheiro /etc/default/isc-dhcp-server e configuramos a linha referente a interfaces. Para finalizar, temos apenas de iniciar o serviço.
DNS (Domain Name System) foi o tema abordado nas seguintes aulas. DNS é a abreviatura de sistemas de nomes de domínio, ou seja, este sistema permite atribuir nomes de domínios a endereços IP, é como uma tradução. Todos os sites ou serviços na Internet têm de ter um endereço IP e é com este recurso que é possível localizar o servidor que hospeda determinado site. A razão pela qual utilizamos nomes de domínios para podermos aceder aos sites é por ser muito mais fácil decorar um nome do que um número. Os serviços de DNS são como bancos de dados que estão espalhados em servidores localizados por todo o mundo, ao pesquisarmos por um endereço no browser, o computador pede aos servidores de DNS que encontre o endereço de IP associado ao
domínio, caso estes servidores não contenham esta informação, eles comunicação com outros servidores que possam ter, sendo assim os domínios são organizados hierarquicamente. Instalámos o BIND e procedemos à sua configuração, este é um software open source que implementa o protocolo DNS. Começámos por editar o ficheiro /etc/bind/named.conf.options colocando o nosso endereço de DNS nos forwarders, reiniciamos o serviço e configuramos o ficheiro /etc/bind/named.conf.local para podermos configurar as zonas do DNS, depois criamos um ficheiro começado por db. e seguido do nome da nossa zona, a primeira linha deste registo ($TTL) é referida ao tempo que os registos permanecem na cache do DNS, este valor é normalmente dado em segundos, o SOA é o nome da zona de domínio, o serial é referente ao número de serie da zona do domínio, refresh é o tempo que o slave demora a fazer refresh ao master, o retry, é o tempo que o slave demora a fazer retry ao master em caso de falha, o expire é o tempo que os slaves demoram a considerar a zona não autohoritative e o negative cache TTL é o tempo que os erros permanecem em cache, todos estes parâmetros são em segundos, existem também alguns tipos de registos, os mais importantes são o A, este é o endereço IP de um host, o MX referente ao correio eletrónico, o NS é o servidor de resolução de nomes de domínio e CNAME que é o nome do domínio, posto isto voltamos a reiniciar o serviço e testamos o mesmo.
Durante este módulo falámos também sobre o NFS (Network File System), o NFS é um serviço de rede que permite partilhar/montar ficheiros e diretórios remotos como se fossem um disco local, também é possível especificar diferentes permissões de acesso a cada cliente. Ou seja, eu posso por exemplo, numa empresa ter todas as pastas pessoais de cada trabalhador num único servidor e estas podem ser acedidas pelo utilizador em qualquer PC que esteja configurado na rede.
Procedemos assim à instalação do NFS no servidor e no ficheiro /etc/exports definimos as pastas a serem partilhadas pela rede e o tipo de acesso que iremos permitir dentro da mesma, as permissões podem ser, rw- podem ler e escrever o conteúdo da pasta, sync- o servidor só reconhece os dados apos ter sido escrito no cliente, async- o servidor NFS reconhece os dados antes que estes sejam guardados no disco, no_root_squash- o root do cliente comporta-se como o root do servidor, root_squash- o root do cliente rege-se pelas permissões do other, no_subtree_check- evita a verificação constante dos pedidos do cliente sobre se estão ou não na área exportada e o subtree_check que ativa esta verificação.
Instalámos o NFS no cliente e editámos o ficheiro /etc/fstab (este ficheiro contem configurações com informação necessária para automatizar o processo de montagem de partições) acrescentando uma linha que consistia na seguinte sintaxe ‘exemplo.nomedohost.com:/ubuntu /local/ubuntu nfs rsize=8192,wsize=8192,timeo=14,intr’
O NIS (Network Information Service) é um serviço com a finalidade de difundir as informações de uma rede. Informações estas, como os grupos de utilizador, utilizadores, hosts, etc. Entre as várias funções do NIS, a mais importante é a centralização da administração de usuários, o servidor NIS utiliza uma base de dados baseada em mapas, que são gerados a partir de ficheiros como o /etc/passwd, ou seja, a partir de ficheiros de administração e configuração local, o NIS cria mapas que são necessários para gerar um banco de dados.
No início o NIS era conhecido por YP (yellow page) por isso é que as iniciais YP estão sempre presentes. O uso do NIS é muito importante nas redes onde existem várias máquinas e para assegurar aos utilizadores o acesso a estas mesmas máquinas de uma forma uniforme, ou seja, garantir os mesmos níveis de acesso em todas as máquinas.
Instalámos então no servidor, o pacote nis e escolhemos um ‘domainname’ NIS para este sistema, editámos o ficheiro /etc/hosts e adicionámos o IP da maquina e o hostname, editámos o ficheiro /etc/ypserver.securenets e o /etc/default/nis. Iniciámos o serviço e criámos os mapas, depois é só validar as configurações do servidor (o nosso host deverá aparecer na 1olinha). Reiniciamos o serviço e adicionamos uma linha com ypserver seguido do IP do nosso servidor. Passamos para o nosso cliente e instalamos também neste, o pacote NIS, escolhemos o mesmo ‘domainname’ e editamos o ficheiro /etc/yp.conf acrescentando a mesma linha que acrescentamos no servidor. Depois de tudo configurado fizemos por exemplo, ‘echo + >> /etc/passwd’.
Refletindo sobre este módulo, acho importante ter conhecimento sobre os serviços de redes que existem e como estes podem facilitar imenso o nosso trabalho, principalmente em ambientes com muitos utilizadores. Ao princípio achei um bocado difícil de entender como é que poderíamos fazer, por exemplo, a montagem da pasta pessoal de um utilizador num PC, estando esta situada num servidor, mas depois acabei por perceber o seu funcionamento. Quanto aos outros serviços falados, não tive dificuldades.
Formador: Tiago Carrondo