Projeto Integrador - 2010.1 - Equipe Plugin Café

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Diário de Aula do Projeto Integrador 2010.1

O primeiro dia de projeto, o grande esperado. Digo por mim, que acompanhei o semestre passado e voltei para o curso de Técnico em Telecomunicações com ênfase em Redes, para além do aprendizado participar do Projeto Integrador que não tem cenário similar em Telefonia.

Inicialmente fui conversando com os professores. Primeiro de tudo desenhei o cenário proposto e defini algumas coisas que penso em discutir com a equipe, pensando num melhor desenvolvimento de todos e do projeto pela mesma.

Cenário do projeto

Anotações para discussões:

  • Cabeamento; temos que apresentar 4 pontos de acesso, sendo um obrigatóriamente acesso Wireless, sem autenticação. (a ser discutido com o professor)
  • Gerência de Redes: Serviços básicos de rede e obrigatórios, solicitados pelo professor. Verificar se a equipe topa de tentar implementar algum serviço extra, e depois tentar conversar com todas as outras para ver se pode ser integrado. Idéia inicial é um serviço de VoIP, pensando que seja uma rede de cibercafé, pelo menos para comunicação interna. Implementar Git (Controle de versão) para melhor controle de arquivos de configurações. Se possível Gitweb - projeto interno da equipe.

Pessoas e atividades principais, por ordem de preferências pessoais.

  • Jean - Cabeamento, Gerência, Programação
  • Mailin - Gerência, Programação, Cabeamento
  • Maykon - Gerência, Programação/Cabeamento
  • Roberto - Programação, Gerência, Cabeamento


Dia: 08/6/2010 - Início das atividades

Depois de conversar com o professor Tiago[1], Ederson e Casagrande[2], já fui para a sala de aula com algumas idéias e pronto para começar a colocar as coisas para funcionar. Como de costume fui chamando o Chico para levantarmos o desenvolvimento. O professor iniciou a aula falando como poderia começar o desenvolvimento, a idéia era que discutíssemos como realizar o projeto, tentar tratar como forma de camadas. Como já tinha falado com os três professores, sabia que tinha que pegar os computadores para usar como servidores, o professor Casagrande sugeriu realizar a configuração de dois modems um de 2Mb e outro de 64Kb, trabalhando em redundância, e já informou que os modems estavam disponíveis no laboratório de Redes I.

Iniciamos as atividades solicitando ao professor Tiago para que pudéssemos pegar os equipamentos. Fomos todos até o Lab.RedesI para buscar os modems um, DT 2048 DHDSL256 e um Parks UP64 2F, o switch D-Link DS3526 e um Roteador NetRouter 2G da Digitel (informações a serem confirmadas)

Após a montagem dos equipamentos no RACK, foi utilizado um rack de aproximadamente 44U (confirmar) e a disposição dos equipamentos ficou da seguinte forma.

  1. PatchPanel (Equipe Plugin Café)
  2. PatchPanel de manobra
  3. Organizador
  4. Switch D-Link
  5. Modem DHDSL e Parks
  6. Roteador NR2G

Realizado a conexão dos pares de fios para TX e RX em cada modem, sendo necessário replicar conexão nos outros dois modems que estarão disponíveis no Lab.RedesI Conexões e ordem das cores do cabos:

  • Primeiro Modem: DT 2048 DHDSL
RX RX TX TX
BVerde Verde BAzul Azul
  • Segundo Modem: UP 64 2F Parks
RX RX TX TX
BMarron Marrom BLar Laranja

Cada equipe montou seu RACK com dois PatchPanel um com as conexões do cabo até o RACK principal, outro para fazer as conexões dos pontos de acesso, se ligando nesse primeiro. Foi utilizado padrão 568A nas conexões no PatchPanel do RACK Principal. Cada equipe já pegou seu computador.

Fotos do Primeiro Dia

Rack principal
Mário Allan mexendo no rack da equipe.
||
Rack da equipe do Chico
Modem Digital, tá com cara de ser o Parks UP64

--MaykonChagas 23:10, 8 Junho 2010 (BRT)

Dia: 09/6/2010 - Segundo dia

Segundo dia do projeto, não tivemos muito avanço, finalizamos a passagem dos cabos de redes para interligações dos armários dao armário Principal. Ficou faltando ainda um cabo, devido a própria falta de material do laboratório, após esse estresse ainda tivemos diversos problemas com o PatchPanel onde chegam as conexões das equipes para manobra no RACK principal.

Depois de diversas discussões sobre o cabeamento, foi decidido que será melhor falar com o professor Tiago, de qualquer forma o Jean irá trazer mais uns 20m de fio UTP Cat5e para passar mais uma perna para a equipe que está mais longe do RACK principal.


Durante o cabeamento, paralelamente foi realizado a instalação do sistema operacional na máquina servidor escolhida pela equipa na segunda-feira. Configurações da máquina básica da máquina:

-Sistema Operacional: Debian GNU/Linux - Lenny 5.0
-Processador: Pentium 4 1.8GHz
-Memória RAM: 512MB
-Disco Rígido: 20GB

Configurações de particionamento de Disco

-8GB para partição / (raiz)
-10GB para partição /var
-2GB de swap

--MaykonChagas 13:24, 10 Junho 2010 (BRT)


Dia: 10/6/2010 - Terceiro dia

Aula do professor Emerson, o pessoal se dividiu um pouco, parte ficou com a física parte com programação. Primeiramente o professor explicou como deveria ser feito a parte do website, onde o cliente tem quatro opções de utilização do ciber, sendo três computadores acessando a rede cabeada e uma acessando a rede sem fio, porém em qualquer que seja o meio, todo e qualquer site que o cliente acessar o proxy tem que entregar juntamente com a página um banner com propagandas. É aí que entra a parte dele. Esquemático de como deve ser desenvolvido a parte de programação pode ser vista aqui

Discutimos já como seria a modelagem do Banco de Dados onde teremos duas tabelas, uma de edição que comportará quase todas as informações necessárias para os banners e outra para o usuário que fará login e permanecerá na sessão até que clique no botão "Sair."

Realizado a instalação dos seguintes serviços, somente instalação: Git (controle de versão); NTP (servidor de hora); Bind9 (servidor DNS); Apache2 (servidor web); PHP5 (programação para web); MySQL (Banco de Dados); SSHD (daemon ssh, para acesso remoto seguro);

Não houve configuração alguma dos serviços, só deixamos instalado, até por que não adiantava configurar muita coisa, a equipe não estava reunida, e tentaremos seguir esse padrão de configuração com todos da equipe, para aprendizado geral. Nas apresentações de gerência se possível será divulgado o uso do Git, como controle de versão das configurações nos arquivos do sistema.

Obs. Não é recomendável que seja instalado qualquer serviço de rede sem a interface de loopback no ar, pois muitos desses serviços fazem comunicação na posta de escuta do serviço.

Roberto estava empenhado na programação, já tem algumas coisas prontas, irei solicitar que encaminhe para divulgação também.

--MaykonChagas 00:56, 12 Junho 2010 (BRT)

Git e Gitweb

Git é um aplicativo que realiza Controle de versão, existe uma documentação vasta para realizar a configuração e operação do programa. Vou me limitar a mostrar a documentação organizada por um projeto extra-curricular que participo com outros alunos do IFSC e com participação do professor Ederson também. Cooperativus - Configuração do Git

A utilização do Git no projeto visa ter maior controle sobre os arquivos de configurações instalados no /etc (principal diretório de configurações dos programas e facilidades instaladas no servidor. Para um administrador de redes isso pode proporcionar além de maior controle, ter noção de quais foram as configurações realizadas em determinado arquivo podendo assim voltar linhas, excluídas ou alteradas caso a configuração não funcione após alteração.

--MaykonChagas 10:30, 24 Junho 2010 (BRT)

Dia: 11/6/2010 - Quarto dia e fim da primeira semana

"Aula" com o professor Ederson, aka. Boi. Após a instalação dos servidores tirei o dia para iniciar a instalação dos serviços, porém somente instalação. Foi instalado o GIT e então a cada instalação de novo serviço era adicionado na base de controle de versão do Git os arquivos desses serviços.

Programas instalados e relação de serviços, já instalado:

Apache2 (http)
Bind9 (DNS)
DHCP
NTP (NTP, relógio)
OpenSSH (SSH)
PHP5 e MySQL

Realizado algumas configurações para limitar o acesso via SSH.

No arquivo /etc/ssh/ssdd_config alterado o parâmetro que bloqueia acesso root:

# Authentication:
PermitRootLogin no

e a linha em seguida permite acesso somente do usuário plugin:

# Permite acesso somente do usuario
AllowUsers plugin

Enquanto isso o Roberto continuou algumas coisas da página web.

Antes de finalizarmos a atividade, revisamos alguns assuntos pendentes que previmos resolver nas próximas aulas.

- Cabeamento estruturado: finalizar as conexões, e cabos de manobra.
- Instalação de Equipamento de Rede: comunicação dos modems, que foi tratado no tópico abaixo.
- Gerência de redes: configuração dos serviços já instalados.
- Programação para redes de Computadores: Autenticação no Banco de Dados.

--MaykonChagas 10:35, 15 Junho 2010 (BRT)

Dia 14/6/2010

A expectativa do dia, para alguns, era grande. Hoje ainda tínhamos um trabalho de IER para apresentar. Como o pessoal vem chegando, devido ao trânsito, saídas do trabalho e afins, iniciamos algumas discussões sobre o Projeto Integrador. Chico iniciou as atividades para implantação dos Modems, como o cabo que interliga os laboratórios chega no RACK da direita e o professor achou que chegava no meio, acabamos instalando todos os modems no mesmo lugar onde o fio chegava.

Como no laboratório de Meios de Transmissão já havíamos realizado a ligação física dos cabos só necessitamos replicar a conexão dos fios na outra ponta.

Realizado as conexões, o professor trouxe os certificadores, ligamos os modems e constatamos que realizou a sincronização. Com isso tínhamos a quase certeza que a comunicação estava certa, agora para fazer o teste final usamos o certificador para simular um roteador que ia enviar/receber dados.

Fotos certificação do Link físico

Roteador Cisco, Modem Parks e Modem Digitel.
Modems sincronizados
Link de 2Mbps certificado!
Link 64Kbps certificado!
Conexão Modem
Diagrama de interconexão física dos laboratórios.

Antes de realizarmos a apreentação dos trabalhos o professor ainda retificou algumas informações sobre o Projeto.

  • 1 - Os cabos de Patch Cord utilizados no RACK do laboratórios de Meios de Transmissão não podem ser utilizados lá. Precisaremos confeccionar os cabos para realizamos as manobras.
  • 2 - A conexão entre a nuvem e os servidores, ficarão no RACK central do Lab. Redes 1.
  • 3 - A conexão entre as redes LAN ficarão no RACK da direita, onde estão os Modems, roteadores e o Switch.

Iniciamos a confecção dos cabos de manobra para o Lab. Meios de Transmissão. Finalizado atividade com a parte física da matéria de IER completa, agora é partir para configuraçãos dos roteadores e switchs para poder definir protocolos, VLANs, redes de comunicação entre os equipamentos. As redes internas de cada equipe já foi definida, ficou da seguinte forma.

-Equipe 1: 192.168.100.0/24
-Equipe 2: 192.168.101.0/24
-Equipe 3: 192.168.102.0/24
-Equipe 4: 192.168.103.0/24

--MaykonChagas 09:16, 15 Junho 2010 (BRT)

Dia 15/6/2010

Aula com o professor Tiago, fizemos as tomadas de telecomunicações na parede e no chão.

--Mailinb 18:15, 17 Junho 2010 (BRT)

Dia 16/6/2010

O dia da imigração, chegamos no lab. Redes1 e o professor Tiago nos expulsou, fomos para o lab. Redes2, por volta dás 20:30 voltamos para o primeiro..

O professor Boi chegou com uma surpresa, conseguiu implementar o banner usando o Squid, na sexta-feira passada ele havia dito que talvez fosse complicado demais, e talvez fosse mais fácil implementar pelo próprio Apache. Porém ele viu que a sugestão dele era a mais complicado que o próprio Squid, e acabou realizando uma "receita de bolo" para implementação com o Squid, que se mostrou extremamente eficiente e de fácil utilização.

Juntamente com o Squid será necessário instalação do DansGuardian, que é um analisador de conteúdo que irá inserir o Banner conforme solicitado, além de outras funcionalidades, como anti-vírus.

A configuração para instalação, configuração e funcionamento do Squid e DansGuardian pode ser vista aqui

Realizado a configuração conforme o documento feito pelo professor, realizamos testes e confirmamos a facilidade de utilização do mesmo. Tempo de migração para o lab.Redes1

Finalizamos as configurações de serviços de rede, Mailin implementou o DHCP, Eu fiz alguma coisa do DNS mas acabei finalizando mesmo no dia de hoje, 17/6. O Roberto está implementando a parte do site, autenticação para o administrador de redes e acesso nas páginas. Depois iremos verificar como implementar o DansGuardian e o Firewall no nosso servidor.


NAT

Foi atualizado o script de NAT, conforme segue abaixo a nova configuração. É necessário realizar edição no script que está no diretório: /etc/init.d/nat

#!/bin/bash

# Interfaces
IFACE_INTERNA="eth0"
IFACE_EXTERNA="eth1"

# Limpa regras de NAT
iptables -t nat -F
iptables -t filter -F

# Regra genérica de NAT
iptables -t nat -A POSTROUTING -o ${IFACE_EXTERNA} -j MASQUERADE 

# Redirecionamento para analisador de conteúdo
iptables -t nat -A PREROUTING -i ${IFACE_INTERNA} -p tcp --dport 80 \
-j REDIRECT --to-port 8080

# Bloqueio para acesso direto ao proxy
iptables -A INPUT -m tcp -p tcp ! -s 127.0.0.1 --dport 3128 -j DROP


exit 0

Iniciamos as discussões de assuntos ainda pendentes, como definido no dia anterior, Mailin ia ficar com a configuração de DHCP, Eu fiquei com o DNS, Roberto ficou com a parte do site.


DNS

Programa que provê o servido DNS

aptitude install bind

No DNS temos alguns arquivos que fazem referências a outros. Primeiramente verificamos no arquivo '/etc/bind/named.conf' se exite a seguinte linha:

include "/etc/bind/named.conf.local";

Essa linha garante que a referência do arquivo de configuração onde estarão definidas as zonas, como exemplo o nome do seu site. Verificando o arquivo 'named.conf.local' adicionamos as seguintes linhas

zone "plugincafe.sj.ifsc.edu.br" {
        type master;
        file "/etc/bind/db.plugincafe";
};

zone "200.in-addr.arpa" {
        type master;
        file "/etc/bind/db.reverso";
};

Feito isso, temos dentro das zonas, dois arquivos um para o DNS e outro para o DNS Reverso.

DNS "normal"

vi /etc/bind/db.plugincafe

E incrementamos toda a configuração para resolução de nomes dentro desse arquivo, /etc/bind/db.plugincafe

$TTL 86400
@       IN      SOA     dns1.plugincafe.sj.ifsc.edu.br. maykon.plugincafe.sj.ifsc.edu.br. (
        2010061705 ;    serial
                1d ;    refresh
                1h ;    retry
                1h ;    expire
                1h ;    negative cache ttl
)
@       IN      NS      dns1.plugincafe.sj.ifsc.edu.br.
@       IN      NS      hendrix.sj.ifsc.edu.br.
dns1    IN      A       200.135.37.102
www     IN      CNAME   dns1
ssh     IN      CNAME   dns1
  • OBS; esse arquivo pode ser alterado até o final do Projeto Integrador.

DNS Reverso

Arquivo de configuração do DNS Reverso: vi /etc/bind/db.reverso

$TTl 86400
@	IN	SOA	dns1.plugincafe.sj.ifsc.edu.br. maykon.plugincafe (
	2010061601 ;	serial
		1d ;	refresh
		1h ;	retry
		1w ; 	expire
		1d ;	negative cache ttl
)
@	IN	NS	dns1.plugincafe.sj.ifsc.edu.br.
102.37.135 IN	PTR	dns1
  • A configuração de DNS Reverso não está completa e nem totalmente testada, está sendo implementada.

DHCP

Instalação do programa que provê o serviço DHCP

aptitude install dhcp

Arquivo de configuração: /etc/dhcp3/dhcpd.conf

ddns-update-style none;
log-facility local7;
subnet 192.168.102.0 netmask 255.255.255.0 {
	range 192.168.102.100 192.168.102.199;
	option subnet-mask 255.255.255.0;
	option broadcast-address 192.168.102.255;
	option routers 200.135.37.102;
	option domain-name-servers 200.135.37.102;
	option domain-name "plugincafe.sj.ifsc.edu.br";
	default-lease-time 14440;
	max-lease-time 86400;
}


Dia 17/6/2010

Ainda em aula.. Roberto já está com bastante coisa da página pronta, já existe uma página de acesso, está tentando resolver os acessos e registros no BD. Sugerimos a criação de uma página inicial.

Realizado o cadastro das atividades do dia de ontem na wiki, enquanto Roberto trabalha.. >D

Configurando chave privada

Aproveitei e comentei com o professor que iremos implementar acesso ssh usando chave privada, a configuração para isso está descrita abaixo, antes de iniciarmos, na sua máquina real, entre no seu diretório /home e apague a pasta oculta do ssh, se você já tem chaves públicas, provavelmente sabe como criar e não vai precisar seguir o tutorial abaixo. .p~

rm -rf .ssh/

Feito isso, vamos iniciar a criação da chave privada.

ssh-keygen

Depois do enter ele vai retornar algumas coisas e também a linha abaixo:

Enter file in which to save the key (/home/aluno/.ssh/id_rsa):

Esse linha é para você digitar o caminho onde ele vai salvar a sua chave, eu não vou mudar o padrão, ele vai salvar naquela pasta que está em parênteses, que é o padrão. Sendo assim só aperte ENTER.

Logo ele vai pedir para você uma senha, essa senha é para você desbloquear a chave ao acessar o computador remoto, no nosso caso o servidor. Repita a mesma senha e logo após ele vai gerar a chave. Vai aparecer um desenho bonitinho que é, traduzindo literalmente da mensagem, a imagem aleatória da chave, eu sempre fico analisando pra ver se tem alguma coisa por trás dessa imagem, sem sucesso até hoje..

Certo, você já criou sua chave, agora vamos copiar ela para o destino, para que quando formos acessar ele verifique se a chave confere.

ssh-copy-id plugin@200.135.37.200

Digite a senha de acesso para desbloquear a chave. Pronto, senão errou a senha você copiou a chave privada para o servidor, que salvou no diretório '.ssh/authorized_keys'

Pode fazer um acesso agora.

Certo, mas agora você tem que se atentar, vai precisar carregar essa chave com você para não perder o acesso. Por enquanto ainda temos acesso via senha, depois iremos modificar o acesso, permitindo somente por chave privada.

continua...

--MaykonChagas 10:03, 17 Junho 2010 (BRT)


Continuação

Nosso site está quase pronto, além de colocar conteúdo, tem que fazer uns ajustes com relação a posição de menu e as includes. O que eu conversei com o nosso grupo, foi o seguinte, que o nosso site, quando acessado no interior do Plugin café, terá o privilégio de não ter anúncios no topo do site. O que será feito é o seguinte, no lado direito da nossa pagina terá uma include com "todos" os anúncios. Para visualizar o protótipo:

http://www.plugincafe.sj.ifsc.edu.br/plugin

Com relação ao sistema de gerenciamento de Anúncios, o que já foi realizado é o seguinte: Autenticação de usuário; bd dos anúncios; página de listagem dos anúncios; cadastro de anuncios. para visualizar a pagina de acesso:

http://www.plugincafe.sj.ifsc.edu.br/admin/

acredito que seja isso, se houver algum erro de português ou de concordância amanhã eu conSerto porque to com sono. qualquer duvida entre em contato com o 0800-2322...

--Robertodmachado 01:19, 22 Junho 2010 (BRT)

Mesmo após a ativação da chave privada, para não dificultar os acessos e onerar toda a equipe com uma facilidade não tão usada pelos outros integrantes, essa configuração está ativa para figuração, antes do término do projeto será realizada a ativação total dela, desabilitando acesso remoto por qualquer usuário e distribuindo as chaves privadas para cada usuário - inclusive para os acessos de verificações que serão realizados pelos professores - e as senhas para o acesso.

Enquanto isso eu e Mailin revisamos as configurações do DHCP e do DNS.

Diminuimos também o tempo de propagação do DNS, para fins de teste, assim não há necessidade de esperar horas para correção. Atualmente o DNS já está mais estável, inclusive resolvendo o reverso.


Pouco antes do término da aula o professor ensinou como usar uma funcão do PHP, chamada php_gd. Na página inicial do projeto explica como fazer para ativar essa função e o que pode ser realizada com ela. Aqui a configuração para essa atividade.

--MaykonChagas 09:58, 24 Junho 2010 (BRT)

Dia 18/6/2010

Foi meio que o dia da roupa suja, até o meio da segunda aula. Depois partimos para os roteadores. Sugestão do professor é que fizéssemos ou DHCP Relay nos roteadores, já que ambos, Digitel NR2G e Cisco 1700 possuem essa facilidade, ou a criação de Vlans com protocolo de 802.1Q que permite a comunicação entre VLAN distantes e passando por roteadores.

Nesse dia foi configurado também o Cacti, interface de gerência. O procedimento para configuração do protocolo SNMPd e o Cacti foi seguido conforme a dica dada pelo professor Ederson.

--MaykonChagas 10:20, 24 Junho 2010 (BRT)


Instalando Snmp e Cacti

SNMP

• Instalando Pacote agente

aptitude install snmpd


• O arquivo /etc/snmp/snmpd.conf foi zerado e reconfigurado de acordo com a comunidade de gerência.

rocommunity plugincafe 
syslocation Laboratório Redes I
syscontact plugin@plugincafe.sj.ifsc.edu.br
sysservices 72

• No arquivo /etc/default/snmpd , retirar o endereço 127.0.0.1 pois o agente rodará em rede.

• Terminado as alterações reinicie o serviço

/etc/init.d/snmpd restart

CACTI

• Instalando pacote gerente

aptitude install cacti

• Após instalar a configuração foi feita através da interface web no endereço http://www.plugincafe.sj.ifsc.edu.br/cacti/

• Para confirmar que existe comunicação entre agente e gerente, pode se testar a partir do seguinte comando

snmpwalk -v2c -cplugincafe 200.135.37.102 .1

--Mailinb 12:09, 24 Junho 2010 (BRT)

Dia 21/6/2010

Dia 22/6/2010

Dia 23/6/2010

Dia 24/6/2010