Tarefas práticas da disciplina Objetivo: As atividades têm por objetivo consolidar os conceitos de redes de computadores, aplicando os conceitos teóricos de forma a desenvolver no estudante a capacidade de instalação, administração e gerenciamento dos principais serviços de redes de computadores. Metodologia Serão realizadas tarefas práticas sobre o tema proposto Individualmente, os alunos deverão instalar e configurar em máquina de sua responsabilidade o que for definido pelo tema do trabalho. ATENÇÃO: PROBLEMAS COM A MÁQUINA SÃO DE RESPONSABILIDADE DO ALUNO (formatação, reinstalação, perda de arquivos, perda de senha, etc.) Para cada tarefa o aluno deverá criar um arquivo PDF contendo 4 itens: o 1 - Explicação teórica do trabalho (pequeno texto explicativo) ; o 2 - Passo-a-passo dos comandos utilizados para instalação e configuração; o 3 - Apresentação de no mínimo um screenshot que demonstre os testes que foram efetuados e comprovem a funcionalidade do sistema o 4 - Conclusão descrevendo quais foram as maiores dificuldades enfrentadas pela dupla na execução da atividade Em data definida cada aluno deverá postar o PDF no sistema de envio de trabalhos para verificação se a tarefa foi concluída com sucesso. A não apresentação dos 4 itens implica que o trabalho não está completo Avaliação: Será considerado somente o trabalho que for apresentado com screenshots que demonstrem a atividade FUNCIONANDO e que REALMENTE FORAM EXECUTADAS na máquina do aluno. A não funcionalidade da instalação/configuração ou então apresentação de exercício desenvolvido em outra máquina implica que o trabalho não está completo e o mesmo não será validado. Instruções: Na etapa de testes, os textos em vermelho são aqueles que devem ser digitados pelos usuários IP_MAQUINA é o endereço ip atribuído a máquina do aluno As screenshots tiradas via navegador DEVEM MOSTRAR o ip da máquina para serem consideradas validas As screenshots tiradas através de cliente SSH DEVEM MOSTRAR o ip da máquina para serem consideradas validas
Trabalho 1 - Instalação do servidor Essa atividade consiste na instalação do sistema operacional Ubuntu Server em uma máquina virtual (recomendo VirtualBox) O aluno deverá enviar um screenshot demonstrando que conseguiu acessar o servidor através de um cliente SSH (como por exemplo o Putty ou outro qualquer) É obrigatório fazer o acesso de fora servidor (usar a shell do próprio servidor para isso não é permitido) Feito!! Sua máquina está pronta para o desenvolvimento das demais tarefas. Que a força esteja com você Luke! Na área de redes ser autodidata é um grande diferencial. O Google é seu melhor amigo para a execução das tarefas...
Trabalho 2 - Servidor DNS DNS é um sigla inglesa que significa "Domain Name System", que pode ser traduzido para "Sistema de Nome de Domínio". Sua finalidade é efetuar a conversão de um endereço IP par aum nome e vice-versa. Deverão ser apresentadas informações teóricas sobre servidores e protocolos envolvidos em DNS e fazer funcionar um servidor DNS autoritativo e recursivo (Bind ou qualquer outro). Esse servidor deverá responder por um dominio aluno.com.br apontanto para o ip local da maquina e mais uma zona www (www.aluno.com.br) e uma zona mail (mail.aluno.com.br). Além disso deverá ser possível responder corretamente a uma requisição de DNS reverso. Deverá ser utilizado o comando dig fazendo consultas locais para efetuar os testes no DNS. # dig @127.0.0.1 google.com # dig @127.0.0.1 aluno.com.br # dig @127.0.0.1 A www.aluno.com.br # dig @127.0.0.1 A mail.aluno.com.br # dig @127.0.0.1 x IP_MAQUINA Todos os comandos devem apresentar uma saída semelhante a essa para ser considerado correto (repare o texto em negrito indicando uma query e uma resposta de retorno): ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1430 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
Trabalho 3 - Servidor FTP O FTP (File Transfer Protocol) é um protocolo utilizado para troca de arquivos. Deverão ser apresentadas informações teóricas sobre o funcionamento do protocolo FTP e fazer funcionar um servidor FTP (proftpd, ou qualquer outro). Esse servidor deverá permitir que um usuário cadastrado no sistema seja capaz de logar em seu /home/<usuario> ficando restrito a seu diretório pessoal, de maneira que a saída do comando pwd apareça como raiz (chrooted). Além disso, o servidor ftp deverá permitir que exista uma conta de ftp publica (conta anonymous) que seja capaz de fazer upload de arquivos. Deverão ser efetuados os seguintes testes: - Teste de chroot do usuário # ftp IP_MAQUINA Connected to IP_MAQUINA. 220 ProFTPD 1.3.2 Server [::ffff:ip_maquina] Name (IP_MAQUINA:ober): ober informe seu usuario 331 Password required for ober Password: informe sua senha 230 User ober logged in Remote system type is UNIX. Using binary mode to transfer files. ftp> pwd digite esse comando 257 "/" is the current directory deverá aparecer essa saída ftp>
- Teste de usuário anonymous # ftp IP_MAQUINA Connected to IP_MAQUINA. 220 ProFTPD 1.3.2 Server [::ffff:ip_maquina] Name (IP_MAQUINA5:ober): anonymous informe esse usuário 331 Anonymous login ok, send your complete email address as your password Password: informe qualquer senha 230-Welcome, archive user anonymous@::ffff:ip_maquina! 230-230-The local time is: Tue Sep 14 21:09:23 2010 230-230-This is an experimental FTP server. If you have any unusual problems, 230-please report them via e-mail to <root@maquina.labredes.urisan.edu.br>. 230-230 Anonymous access granted, restrictions apply Remote system type is UNIX. Using binary mode to transfer files. ftp>
Trabalho 4 - Servidor Apache Um servidor web tem por finalidade fornecer acesso a arquivos através do protocolo HTTP. O servidor web mais utilizado é o Apache. Deverá ser configurado um servidor web de forma que este seja capaz de fornecer páginas estáticas quanto dinâmicas geradas através de scripts CGI. - Páginas estáticas Através do navegador acessar a URL http://ip_maquina Se estiver funcionando a saída será: It works! This is the default web page for this server. The web server software is running but no content has been added, yet. - Páginas dinâmicas No diretório cgi-bin criar um arquivo chamado hello.cgi com o seguinte conteúdo: #!/usr/bin/perl print "Content-type: text/html\n\n"; print "Hello, world!\n"; Dar permissão de execução para o arquivo # chmod 755 hello.cgi Através do navegador acessar a URL http://ip_maquina/cgi-bin/hello.cgi Se estiver funcionando a saída no navegador deverá ser Hello, world!
Trabalho 5 - Servidor SNMP SNMP (Simple Network Management Protocol) é um protocolo utilizado para gerenciamento de redes de computadores. Ele permite ao gerente de redes ter controle sobre diversos índices que ilustram o status da rede. Deverá ser configurado um servidor SNMP local e então utilizar ferramentas de consulta para demonstrar que o mesmo está coletando as informações definidas na MIB. As seguintes informações devem ser definidas no arquivo de configuração syslocation GerenciaRedes syscontact Aluno <admin@labredes> rocommunity public Para consulta o seguinte comando será utilizado o seguinte comando # snmpwalk -v2c -c public 127.0.0.1 system Se tudo estiver funcionando a saída deverá ser algo do tipo SNMPv2-MIB::sysDescr.0 = STRING: Linux ubuntusrv 2.6.28-11-generic #42-Ubuntu SMP Fri May 17 01:58:03 UTC 2010 x86_64
Trabalho 6 - MySQL Um servidor de banco de dados tem por finalidade o armazenamento de dados para diversos tipos de aplicação. Um dos servidores de banco de dados gratuitos mais utilizados na atualidade é o MySQL Deverá ser configurado um servidor de banco de dados MySQL com a senha teste para o usuario root. Via linha de comando conectar no servidor mysql com o usuário root. Se estiver tudo certo deverá ser semelhante a isso #mysql -u root p Enter password: digite a senha do usuário root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 12685620 Server version: xxxxx Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Trabalho 7 - PHP A linguagem PHP é uma das linguagens mais populares da atualidade. Uma das facilidades proporcionadas por ela é o desenvolvimento de sites dinâmicos utilizando banco de dados. Deverá ser configurado o servidor apache de forma a rodar scripts na linguagem php. O PHP deverá ser instalado de forma a dar suporte a conexão com banco de dados mysql e também a criação de imagens com GD, ou seja, deverão ser instalados o suporte a principais bibliotecas da linguagem. O teste será efetuado através da criação de um arquivo chamado teste.php na área pública do site que conterá a seguinte linhas de código: <? phpinfo();?> Através do navegador acessar a URL http://ip_maquina/teste.php Se estiver funcionando a saída no navegador deverá ser uma página contendo as configurações do PHP. Obrigatoriamente deverão estar listados o suporte ao mysql e a biblioteca GD.
Trabalho 8 - phpmyadmin O phpmyadmin é um programa de computador desenvolvido em PHP para administração do MySQL pela Internet. A partir deste sistema é possível criar e remover bases de dados, criar, remover e alterar tabelas, inserir, remover e editar campos, executar códigos SQL e manipular campos chaves. O phpmyadmin é muito utilizado por programadores web que muitas vezes necessitam manipular bases de dados. Deveráe ser instalado e configurado o phpmyadmin no servidor e torná-lo acessível via navegador Através do navegador acessar a URL http://ip_maquina/phpmyadmin A saída no navegador deverá ser Logue no sistema e tire uma screenshot da tela para demonstrar a funcionalidade
Trabalho 9 - MRTG O MRTG (Multi Router Traffic Grapher) é um programa feito em perl muito útil para análisar o tráfego utilizado em sua rede/link. Ele gera gráficos que te mostram o uso da banda em termos de velocidade. Para isso, ele funciona como um cliente SNMP consultando a MIB do destino para obter os dados de velocidades das interfaces da rede e então gera gráficos sobre esses dados. Deverá ser configurado o MRTG de forma a gerar gráficos do tráfego das interfaces de sua máquina (interfaces lo0 e eth0). Através do navegador acessar a URL http://ip_maquina/mrtg Deverão ser apresentados os gráficos com o tráfego de cada interface. Note que os gráficos podem estar em branco devido a não terem sido coletados ainda dados suficientes para plotagem dos mesmos. Após alguns minutos você vai ver linhas indicando a quantidade de dados entrando e saindo pela interface
Trabalho 10 - Servidor Proxy O Squid é um servidor proxy utilizado como uma espécie de intermediário entre uma rede e servidores web permitindo melhoria no uso de recursos de banda e melhor gerenciamento de conexões. Deverá ser configurado um servidor proxy squid que seja capaz de restringir o acesso somente das 8h às 18h e não permita o acesso a sites com as palavras sexo e futebol. Para demonstrar a funcionalidade do Proxy deverá ser apresentada a screenshot do browser (sendo configurado para usar o proxy local) tentando acessar um site que contenha a palavra sexo (obviamente deverá ser apresentada uma tela de acesso não permitido)
Trabalho 11 Relatórios do Proxy com Sarg O Sarg (Squid Analysis Report Generator) é um programa utilizado para emitir relatórios do Proxy squid. Deverá ser configurado o sarg no servidor e demonstrada a sua funcionalidade através de uma screenshot com a tela do navegador apresentando a tentativa de acesso a um site de sexo feita no exercício anterior