PJI11103-2016-2
- Endereço encurtado: http://bit.ly/pji320162
- Link cronograma: http://bit.ly/2cONkrw
- Link para as configurações feitas pelos alunos (alternativo)
- Presença
Diário de aula de PJI - 2016-2 - Prof. Simara Sonaglio
Dados Importantes
Professora: Simara Sonaglio
Email: simara.sonaglio@ifsc.edu.br
Professor: Ederson Torresini
Email: etorresini@ifsc.edu.br
Encontros: quartas e quintas das 18:50 às 22:10 horas.
Diário de aulas
10/08/16: Apresentação da disciplina e discussão do projeto a ser desenvolvido
Aula 1 |
---|
|
11/08/16: Discussão sobre os itens levantados pelo alunos
Aula 2 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
17/08/16: Discussão sobre os itens levantados pelo alunos
Aula 3 |
---|
Memória da aula será acrescentada posteriormente |
18/08/16: ADSL
Aula 4 |
---|
DSL. O Modem pode operar basicamente de duas formas: como roteador ou como bridge. Quando funciona como roteador, o modem possui recursos internos para estabelecer a conexão lógica com o AC. Quando funciona como bridge, os recursos necessários para o estabelecimento de uma conexão lógica devem estar instalados no computador, como o protocolo PPPoE.
A parte da infraestrutura ADSL dentro da rede de dados da operadora inclui equipamentos DSLAM (muitos deles), um ou mais AC e as redes de comunicação para interligá-los. Note-se que quem dá acesso de fato à Internet é o AC. A figura abaixo ilustra esses componentes. O enlace de dados entre o equipamento do assinante e a rede da operadora pode ser feita de diferentes formas. Esse enlace é visto pelo assinante como seu enlace para a Internet - i.e. ele obtém seu endereço IP fornecido pela operadora. Os tipos de enlace de dados ADSL mais usados são:
ATIVIDADE 1
Configurações ADSLCada link ADSL deve ter seu IP dinamicamente configurado, o qual deve ser um IP válido fornecido à equipe pelo provedor (professores). Os seguintes parâmetros dos modems ADSL devem ter estes valores:
ATIVIDADE 2
PPPoE (PPP over Ethernet)
Em um enlace PPPoE um dos nodos é o host (cliente), e o outro o concentrador de acesso (AC, que tem papel de servidor). O estabelecimento do enlace é iniciado pelo host, que procura um AC e em seguida solicita o início do enlace. Esse procedimento é composto por por dois estágios:
ATIVIDADE 3
|
24/08/16: ADSL
Aula 5 |
---|
Continuação da Aula 4. |
25/08/16: LAN
Aula 6 |
---|
O problema dos ciclos (caminhos fechados) em uma rede local ethernetA interligação acidental de duas portas de um switch cria um ciclo na rede local (loop). Mas isso pode ser feito também de forma intencional, pois em LANs grandes pode ser desejável ter enlaces redundantes, para evitar que a interrupção de um enlace isole parte da rede. A existência de interligações alternativas portanto é algo que pode ocorrer em uma rede local, seja por acidente ou com a finalidade de conferir algum grau de tolerância a falhas na infraestrutura da rede. Um caso em que uma rede possui um ciclo intencionalmente colocado pode ser visto na LAN abaixo: Apesar de desejável em algumas situações, uma topologia de rede com caminhos fechados, como visto na figura acima, não pode ser instalada sem alguns cuidados. Uma rede como essa trancaria devido a um efeito chamado de tempestade de broadcasts (broadcast storm). Isso acontece porque, ao receber um quadro em broadcast, um switch sempre o retransmite por todas as demais portas. Para que a rede acima funcione como esperado, uma ou mais portas de switches precisarão ser desativadas de forma que o caminho fechado seja removido. Ter que fazer isso manualmente tira o sentido de ter tal configuração para tolerância a falhas (e não impede um "acidente" como aquele descrito no início desta secão), por isso foi criado o protocolo STP (Spanning Tree Protocol, definido na norma IEEE 802.1d) para realizar automaticamente essa tarefa. VLANOs primeiros switches com suporte a VLANs as implementavam de forma legada (i.e. não seguiam um padrão da indústria). Isso impedia que houvesse interoperabilidade entre equipamentos de diferentes fabricantes. Logo a IEEE formou um grupo de trabalho para propor mecanismos padronizados para implantar VLANs, dando origem ao padrão IEEE 802.1q. Os fabricantes de equipamentos de rede o adoataram largamente, suplantando outras tecnologias legadas (ex: ISL e VTP da Cisco). Com isso, VLANs IEEE 802.1q podem ser criadas usando switches de fabricantes diferentes. Atualmente, a implantação de VLANs depende de switches com suporte ao padrão IEEE 802.1q. Assim, verifique quais dos switches do laboratório possuem suporte a VLAN:
Uma VLAN é identificada por um número, chamado VID (VLAN Identifier), sendo que a VLAN com VID 1 é considerada a VLAN default (configuração de fábrica). Em um switch com suporte a VLAN IEEE 802.1q, cada porta possui um (ou mais ...) VID, o que define a que VLAN pertence. Assim, para criar uma VLAN, devem-se modificar os VID das portas de switches que dela farão parte. Por exemplo, em uma pequena rede com duas VLANs as portas dos switches podem estar configuradas da seguinte forma:
AtividadeAcessar o Switch Catalyst 2960 (Arquivo:2960 pbr.pdf) e criar VLANs. Associar algumas interfaces a estas VLANs e posteriormente conectar computadores a elas e fazer testes de conectividades.
|
31/08/16: LAN
Aula 7 |
---|
Agregação de enlaceApós implantada é natural que uma rede cresça ou tenha sua topologia alterada. Assim, seu dimensionamento, pensado (espera-se) cuidadosamente durante seu projeto, pode não ser mais o ideal ou mesmo tornar-se inadequado. Isso é particularmente observado nos equipamentos que interligam a rede, tais como switches de núcleo (core switches). Num projeto de uma rede de médio ou grande porte, um ou mais switches de núcleo interligam os demais segmentos da rede. Desta forma, por esses switches potencialmente trafega uma grande quantidade de informação. Se os segmentos de rede forem ampliados, a quantidade de tráfego por esses switches possivelmente aumentará. Dependendo do caso, os enlaces entre esses switches e os segmentos de rede poderiam ficar saturados - isto é, não dariam mais conta da intensidade de tráfego que devem transportar. Nesse caso, uma saída poderia ser aumentar as capacidades desses enlaces. As capacidades de enlaces Ethernet de um switch são determinadas pelas tecnologias por ele suportadas. Isso quer dizer que uma porta de switch tem sua capacidade predefinida, e não há como modificá-la. No entanto, uma forma barata de aumentar a capacidade de enlaces Ethernet é agregar duas ou mais portas de switches para que operem como se fossem uma única porta. Essa técnica tem tanta utilidade que o IEEE (órgão que padroniza diversas tecnologias de camada física e enlace de redes), criou para ele uma norma específica chamada IEEE 802.1AX.
AtividadeCriar um Link Aggregation no Switch e configurar os servidores tanto da Operadora como do Galpão para o utilizarem. Nas máquinas é necessário instalar o seguinte pacote:
|
01/09/16: DHCP
Aula 8 |
---|
DHCPVer capítulo 31 da apostila. Toda máquina que for participar de uma rede, deve primeiro, ter um endereço IP. Em uma rede pequena (até 20 máquinas), a tarefa de configurar IPs é relativamente simples. Mas em uma rede grande com centenas de máquinas, esta tarefa de endereçamento torna-se trabalhosa. Para facilitar as coisas, foi criado um mecanismo de endereçamento automático de IP para máquinas em uma rede TCP/IP: o DHCP (Dynamic Host Configuration Protocol – Protocolo de configuração de máquinas dinâmico). Um servidor DHCP pode facilitar muito a vida do administrador da rede. Dentre as configurações de serviços que podem ser passadas ao host cliente por dhcp são:
Como podemos observar, tudo o que é necessário para que uma máquina esteja em condições de ingressar em uma rede e usufruir de tudo o que ela possa oferecer, o DHCP se faz útil para sua configuração automática. Protocolo DHCPEntenda, com a explicação a seguir, como funciona o protocolo DHCP. a) DHCP Discover – Quando uma máquina é ligada, ela tem um serviço (daemon) cliente do DHCP configurado para localizar o servidor neste momento. Este cliente DHCP envia um pacote UDP com destino à porta 67 do servidor chamado “DHCP Discover”. Este pacote broadcast tem o endereço IP de destino 255.255.255.255 e mac address de destino ff:ff:ff:ff:ff:ff. b) DHCP Offer – O servidor ao receber o referido pacote em sua porta ethernet, irá analisá-lo e, em sua tabela de IPs, reservar um endereço e preparar um pacote de resposta ao cliente solicitante. Este pacote de resposta chama-se DHCP Offer. O único meio de a estação cliente saber que o pacote DHCP Offer se destina à ela, é através do mac address. c) DHCP Request – O cliente ao receber o pacote do servidor, decide se aceita a configuração oferecida pois pode receber mais de uma oferta. Em caso positivo, retorna um novo pacote ao servidor, comunicando o aceitamento da oferta. Este pacote chama-se DHCP Request. d) DHCP Ack – Para finalizar a “conversação” entre cliente e servidor DHCP, este finaliza (efetiva) o aluguel (lease) do endereço ao cliente em sua tabela de IPs, e envia àquele, um pacote DHCP Ack para que ele ajuste suas configurações. AtividadeEm nosso experimento será usado o servidor DHCP desenvolvido pelo ISC. Para usá-lo devem-se seguir os passos descritos abaixo.
Maiores detalhes sobre esse servidor DHCP: |
07/09/16: Feriado
Aula 9 |
---|
08/09/16: Configurações diversas
Aula 10 |
---|
Criar uma interface lógica em /etc/network/interfaces. Já configuramos a interface, falta apenas associar um IP a esta interface:
|
14/09/16: Conclusão das configurações dos Servidores
Aula 11 |
---|
15/09/16: Avaliação
Aula 12 |
---|
A avaliação desta primeira etapa do projeto consiste em um Relatório Individual a ser entregue via e-mail (simara.sonaglio@ifsc.edu.br e etorresini@ifsc.edu.br) em formato PDF até o final da aula.
|
21/09/16: Conclusão das configurações nos servidores
Aula 13 |
---|
|
22/09/16: DNS
Aula 14 |
---|
Não houve aula. Apenas 2 alunos compareceram. |
28/09/16: DNS
Aula 15 | |||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ver capítulo 25 da apostila. DNS (Domain Name System) é uma base de dados distribuída e hierárquica. Nela se armazenam informações para mapear nomes de máquinas da Internet para endereços IP e vice-versa, informação para roteamento de email, e outros dados utilizados por aplicações da Internet. A informação armazenada no DNS é identificada por nomes de domínio que são organizados em uma árvore, de acordo com as divisões administrativas ou organizacionais. Cada nodo dessa árvore, chamado de domínio, possui um rótulo. O nome de domínio de um nodo é a concatenação de todos os rótulos no caminho do nodo até a raiz. Isto é representado como uma string de rótulos listados da direita pra esquerda e separados por pontos (ex: ifsc.edu.br, sj.ifsc.edu.br). Um rótulo precisa ser único somente dentro do domínio pai a que pertence. Por exemplo, um nome de domínio de uma máquina no IFSC pode ser mail.ifsc.edu.br., em que o "." (último) significa o root level domain .br é o domínio do topo da hierarquia (no Brasil feito em [15])ao qual mail.sj.ifsc.edu.br pertence. .ifsc.edu é um subdomínio de .br., e mail o nome da máquina em questão. Por razões administrativas, o espaço de nomes é dividido em áreas chamadas de zonas, cada uma iniciando em um nodo e se estendendo para baixo para os nodos folhas ou nodos onde outras zonas iniciam. Os dados de cada zona são guardados em um servidor de nomes, que responde a consultas sobre uma zona usando o protocolo DNS. Clientes buscam informação no DNS usando uma biblioteca de resolução (resolver library), que envia as consultas para um ou mais servidores de nomes e interpreta as respostas. (tirado do manual do BIND9) Ver também o livro sobre DNS e BIND da O'Reilly. Registros DNSCada rótulo na hierarquia DNS possui um conjunto de informações associadas a si. Essas informações são guardas em registros de diferentes tipos, dependendo de seu significado e propósito. Cada consulta ao DNS retorna assim as informações do registro pedido associado ao rótulo. Por exemplo, para ver o registro de endereço IP associado a www.ifsc.edu.br pode-se executar esse comando (o resultado teve alguns comentários removidos): root@freeman:~$ dig sj.ifsc.edu.br mx
;; QUESTION SECTION:
;sj.ifsc.edu.br. IN MX
;; ANSWER SECTION:
sj.ifsc.edu.br. 3600 IN MX 10 hendrix.sj.ifsc.edu.br.
;; AUTHORITY SECTION:
sj.ifsc.edu.br. 3600 IN NS ns.pop-udesc.rct-sc.br.
sj.ifsc.edu.br. 3600 IN NS ns.pop-ufsc.rct-sc.br.
sj.ifsc.edu.br. 3600 IN NS hendrix.sj.ifsc.edu.br.
;; ADDITIONAL SECTION:
hendrix.sj.ifsc.edu.br. 3600 IN A 200.135.37.65
ns.pop-ufsc.rct-sc.br. 11513 IN A 200.135.15.3
ns.pop-udesc.rct-sc.br. 37206 IN A 200.135.14.1
Cada uma das informações acima mostra um determinado registro e seu conteúdo, como descrito na tabela abaixo:
Obs: TTL (Time To Live) é o tempo de validade (em segundos) da informação retornada do servidor de nomes, e classe é o tipo de endereço (no caso IN equivale a endereços Internet). Os tipos de registros mais comuns são:
Configuração1. Instale o servidor DNS em sua máquina:
|
29/09/16: DNS
Aula 16 |
---|
|
05/10/16: Conclusão do DNS e LDAP
Aula 17 |
---|
Atividade sobre DNS
LDAPVer documentação oficial do projeto Openldap. LDAP (Lightweight Directory Access Protocol) é um protocolo de acesso a um serviço de diretório. Um diretório é um banco de dados hierárquico especificamente projetado para busca e navegação, além das funções básicas de localização e atualização. Diretórios costumam possuir informações definidas por atributos, e suportam mecanismos de filtragem sofisticados. Sem implementar as operações complexas encontradas em um banco de dados típico, diretórios costumam ser ajustados para prover respostas rápidas a operações de busca ou localização de grande volume. Para aumentar a disponibilidade e robustez, pode haver a replicação e distribuição das informações. Como se vê, um serviço de diretório engloba novos conceitos e elementos em sua composição. Dentre os serviços já estudados, DNS é um tipo de diretório, e possui características como as descritas acima. No entanto, DNS foi criado com o propósito específico de prover um esquema de nomeação de hosts e serviços na Internet. LDAP, por outro lado, se apresenta como um diretório de uso geral, onde se podem guardar informações de qualquer natureza, e ser usado para qualquer finalidade. Sendo um diretório, uma base de dados LDAP contém um conjunto de informações organizadas em árvore. O exemplo abaixo demonstra uma parte de uma possível árvore LDAP: Dentro do LDAP as informações são modeladas com objetos que possuem um conjunto de atributos. Os diferentes tipos de objetos são definidos por um atributo especial chamado objectClass. Cada objectClass define que atributos deve possuir um objeto, incluindo atributos obrigatórios e opcionais. A isso se chama schema da base LDAP, sendo uma parte importante de sua implantação. Existem vários schemas predefinidos e padronizados, que são incluídos nos softwares que implementam o LDAP. Um exemplo de objectClass segue abaixo: dn: uid=msobral,ou=People,dc=sj,dc=cefetsc,dc=edu,dc=br
objectClass: top
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: sambaSamAccount
cn: MARCELO MAIA SOBRAL
sn: msobral
uid: msobral
uidNumber: 3100
gidNumber: 500
homeDirectory: /home/professores/msobral
loginShell: /bin/bash
gecos: MARCELO MAIA SOBRAL
description: MARCELO MAIA SOBRAL
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdCanChange: 0
sambaPwdMustChange: 2147483647
displayName: MARCELO MAIA SOBRAL
sambaAcctFlags: [UX]
sambaSID: S-1-5-21-1612827373-3948523564-3779644005-7200
sambaPrimaryGroupSID: S-1-5-21-1612827373-3948523564-3779644005-2001
sambaProfilePath: \\DK\profiles\msobral
sambaHomePath: \\DK\msobral
sambaHomeDrive: H:
Esse objeto representa uma conta de usuário na rede IFSC. Como se pode ver, uma conta é descrita por diversos atributos, mostrados acima no formato: nome_do_atributo: valor_do_atributo Os vários atributos objectClass definem os schemas a serem aplicados a esse objeto. No caso, diferentes informações sobre um usuário para diferentes finalidades (identificação, conta Unix, conta Samba). Cada objeto na base LDAP possui um localizador único, chamado Distinguished Name(ou simplesmente DN), e que funciona como o endereço do objeto dentro da base. O DN pode ser entendido também como o equivalente ao caminho do objeto na base, de forma similar ao caminho de um arquivo dentro de um sistema de arquivos. No objeto acima, seu DN aparece na primeira linha: dn: uid=msobral,ou=People,dc=sj,dc=cefetsc,dc=edu,dc=br Na terminologia LDAP, o objeto na base é chamado de entrada (entry). O DN se compõe do identificador da própria entrada (no exemplo, uid=msobral), concatenado aos identificadores das entradas antecessoras na árvore, até chegar à raiz (dc=br). Outra entrada de uma base LDAP segue abaixo: dn: cn=licenciatura,ou=Group,dc=sj,dc=cefetsc,dc=edu,dc=br
objectClass: posixGroup
cn: licenciatura
gidNumber: 1007
memberUid: divina
memberUid: mlucia
memberUid: anasch
Esse exemplo se refere a um grupo de usuários. Note a diferença no DN e no objectClass. Esse objeto possui assim um conjunto diferente de atributos, comparado ao objectClass posixAccount. A principal aplicação LDAP é o armazenamento de informações administrativas em uma rede. Por exemplo, as contas de usuários, os grupos, apelidos de email (aliases), catálogos de endereços de email (address books), dentre outras informações. No caso particular de contas e grupos de usuários, o uso do LDAP proporciona a definição de contas distribuídas, que são válidas em todos os computadores que fazem parte de um domínio administrativo. Aqui no IFSC se usa o LDAP com esse propósito. Pesquisando na base LDAPExiste o utilitário ldapsearch para pesquisa na base LDAP. Para instalá-lo: sudo apt-get install -y ldap-utils
Seu uso pode ser complexo, mas uma forma simples de utilizá-lo segue abaixo: $ ldapsearch -x -h IP_servidor_LDAP atributo=valor
Ex: para obter o objeto do tipo conta de usuário mostrado anteriormente: $ ldapsearch -x -h 172.18.0.1 -b dc=sj,dc=cefetsc,dc=edu,dc=br uid=msobral
... e para obter uma listagem de todos os grupos na base LDAP: $ ldapsearch -x -h 172.18.0.1 -b dc=sj,dc=cefetsc,dc=edu,dc=br "objectClass=posixGroup"
|
06/10/16: Laboratório sobre LDAP
Aula 15 |
---|
O texto abaixo foi obtido de: Mundo TI Brasil
Os schemas em LDAP permitem manter a consistência dos dados do Diretório. Uma importante característica é serem extensíveis e assim podemos adicionar mais atributos ou classes dependente das necessidades. Para usar um schema é necessário inclui-lo no arquivo de configuração slapd.conf. Os schemas definem:
Obs.: Se um objeto (entrada), não obedecer às regras do schema, este não pode ser inserido no diretório. Portanto cada entrada estará condicionada a uma hierarquia de armazenamento dos dados na base LDAP. Isto é especificado através do Distinguished Name (DN).
O Distinguished Name (DN) é usado para identificar uma entrada de forma não ambígua num Serviço de Diretório. Os DN ́s são compostos por uma sequência de Relative Distinguished Name (RDN) ́s e cada RDN corresponde a um ramo na DIT, desde a raiz até a entrada a qual o DN faz referência. Um DN é formado por uma série de RDN ́s separados por vírgulas. Por exemplo: dn: uid=1050,ou=people,dc=mundotibrasil,dc=com,dc=br
Os atributos são identificados por um nome ou acrônimo, possuem um tipo e um ou mais valores. O tipo de atributo está associado a uma sintaxe. A sintaxe define que tipo de valor pode ser armazenado no atributo. Alguns exemplos de atributos: Abreviatura Nome do atributo por extenso
dn distinguishedName
cn commonName
sn surName
gn givenName
o organizationName
ou organizationalUnitName
st stateOrProvinceName
l localityName
c country
dc domainComponent
uid userID
LDAP Data Interchange Format (LDIF) é um arquivo de texto usado para:
A unidade básica de informação armazenada num Diretório é denominada por entrada. As entradas são compostas por um conjunto de atributos referentes a um objecto, sendo organizadas numa estrutura semelhante a uma árvore, isto é, organizada segundo uma DIT (Directory Information Tree). Abaixo, exemplo de uma entrada num arquivo LDIF # Entrada root dn
dn: dc=mundotibrasil,dc=com,dc=br
objectClass: dcObject
objectClass: organization
o: Mundotibrasil
dc=mundotibrasil
# Administrador do Diretório
dn: cn=admin,dc=mundotibrasil,dc=com,dc=br
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
userPassword: topsecret
description: Administrador LDAP
Obs.: Podem ser adicionadas várias entradas no mesmo arquivo LDIF. O comando para adicionar uma ao mais entradas ao Diretório é o sldapadd/ldapadd que será abordado com mais pormenor mais à frente na parte da implementação.
Consiste num conjunto de atributos referentes a uma entrada. Quando uma entrada é definida, são atribuídas um ou mais object classes. Esses object class possuem atributos que podem ser opcionais ou obrigatórios. Existem dois tipos de object classes: structural e auxiliary. Toda a entrada deve ter um object class do tipo structural e pode ter uma ou mais object class auxiliary. Um exemplo retirado do core.schema da object class “person”: objectclass ( 2.5.6.6 NAME ’person’
DESC ’RFC2256: a person’
SUP top STRUCTURAL
MUST ( sn $ cn )
MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) )
Como podemos ver no exemplo, é obrigatório o uso de sn (surname) ou cn (common name) e os atributos opcionais são: userPassword; telephoneNumber; seeAlso; e description. AtividadeNo servidor executar:
|