Mudanças entre as edições de "Projeto Integrador - 2012.11 - Equipe 3"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 526: Linha 526:
  
 
[[File:ConfEspecificas.png|750px]]
 
[[File:ConfEspecificas.png|750px]]
 +
 +
* Na figura abaixo, configuramos o IP interno.
 +
 +
[[File:IpInterno.png|750px]]
  
 
==PROGRAMAÇÃO DE REDES DE COMPUTADORES==
 
==PROGRAMAÇÃO DE REDES DE COMPUTADORES==

Edição das 16h35min de 17 de julho de 2012

Atividades Diárias

15/06/2012

  • Instalamos um PC com o sistema operacional Ubunto server 10.14 para servir como Matriz.
  • Configuramos também configurações de usuário e senha, e também a configuração do ssh e atualizamos sistemas de dados com o comando apt-get update/upgrade.
  • Configuramos a interface eth1 (rede externa) e eth0 (rede interna).

20/06/2012

  • Instalamos o sistema operacional Ubuntu 10.14 server na Filial.
  • Na Matriz configuramos diversos serviços:

DNS

Instalação e configuração:

  • DNS no bind9.

apt-get install bind9 bind9utils

  • Arquivo: /etc/bind/named.conf.local.
  • Arquivo: /etc/bind/teleifsc.com.br rever

SMTP

  • SMTP no postfix.

DHCP

  • Iniciamos a configuração do DHCP no arquivo dhcpd.conf

SSH

Instalação e configuração:

  • SSH, configuramos acesso somente para um usuário do sistema (teleifsc), alteramos senha de root.

apt-get install openssh-server

22/06/2012

VPN

  • Instalamos o serviço OpenVPN e iniciamos a configuração do mesmo.

apt-get install openssh-server

26/06/2012

  • Documentamos os passos realizados até agora.
  • Pré-configuramos o modem ADSL.

27/06/2012

SAMBA

Instalamos o serviço samba no servidor com o comando:

  • apt-get install samba
  • apt-get install smbfs

Instalamos o serviço samba no cliente com o comando:

  • apt-get install smbclient
  • apt-get install smbfs

Configurações no servidor:

  • Configuramos o arquivo /etc/samba/smb.conf
  • Criamos três usuários para teste.

No cliente:

  • Enviamos e-mails entre os clientes.
  • Montamos a partição da pasta do e-mail recebido.

MODEM ADSL

Instalamos e configuramos o modem adsl:

  • Ip interno 192.168.1.253
  • Ip externo 200.135.37.97
  • Configurado SSH, IMAP, HTTP, VPN, DSN.

FreeRADIUS

  • Iniciamos a configuração no servidor.

29/06/2012

FreeRADIUS

Continuamos a configuração do FreeRADIUS:

  • Acrescentamos os usuários e as senhas no arquivo: /etc/freeradius/users.
  • Acrescentamos novo cliente e alteramos o atributo secret: /etc/freeradius/clients.conf

02/07/2012

FreeRADIUS

Ainda configurando a autenticação via RADIUS:

  • Depois de alguns detalhes de configuração, conseguimos resposta positiva do RADIUS com o comando radtest:
~ # radtest <usuário> <senha> <servidor> <porta> <senha_cliente>
 Sending Access-Request of id 186 to 127.0.0.1 port 1812
       User-Name = "<usuário>"
       User-Password = "<senha>"
       NAS-IP-Address = 127.0.0.1
       NAS-Port = 0
 rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=186, length=20

03/07/2012

FreeRADIUS

Terminamos a configuração do RADIUS:

  • Depois de algumas configurações no DHCP conseguimos realizar a autenticação e navegamos normalmente.

subnet 192.168.1.0 netmask 255.255.255.0 {

       range 192.168.1.2 192.168.1.62;
       option routers 192.168.1.121;
       option domain-name "teleifsc.sj.ifsc.edu.br";
       option domain-name-servers 192.168.1.121; # Apenas o IP interno do servidor DNS

}

  1. REDE AP

subnet 10.0.0.0 netmask 255.255.255.0 {

       option routers 10.0.0.1;
       range 10.0.0.2 10.0.0.62;
       option domain-name "teleifsc.sj.ifsc.edu.br";
       option domain-name-servers 192.168.1.121;

}

  1. REDE RESERVIDORES

subnet 172.16.1.0 netmask 255.255.255.0 {

       option routers 172.16.1.1;
       range 172.16.1.2 172.16.1.62;
       option domain-name "teleifsc.sj.ifsc.edu.br";
       option domain-name-servers 192.168.1.121;

}

       group {
               host test {
                       hardware ethernet 00:1f:1f:12:0e:b8;
                       fixed-address 10.0.0.5;
               }
       }

</syntaxhighlight>

Configuração do modem CISCO 1700 - SHDSL

  • Iniciamos a instalação física, ligamos o par metálico entre os modens e iniciamos a configuração do roteador para ser ligado ao PC.

04/07/2012

Terminamos a configuração do OpenVPN:

  • Geramos as keys.
  • Configuramos o server.conf com as seguintes configurações:

       local 10.0.0.1
       dev tap0
       up "/etc/openvpn/up.sh br0 tap0 1500"
       down "/etc/openvpn/down.sh br0 tap0"
       crl-verify crl.pem
       server-bridge 192.168.1.121 255.255.255.0 192.168.1.124 192.168.1.150
       push "redirect-gateway def1"
       push "dhcp-option DNS 8.8.8.8"
       tls-auth ta.key 0
       user nobody
       group nogroup

</syntaxhighlight>

06/07/2012

SMTP

  • Terminamos a configuração do servidor de e-mails.
  • Depois de habilitar a porta 25 (SMTP) entre outras, como 53 (DNS), 143 (IMAP), 22 (SSH), 1812 (RADIUS).
  • Testamos o serviço, enviando um e-mail para um integrante do grupo, e depois esse integrante respondeu o e-mail.
  • O histórico das trocas de e-mails está no arquivo /home/teleifsc/Maildir.

SWITCH

  • Iniciamos a configuração do switch, interligamos o AP com a matriz e a filial.


Relatório do Projeto

CABEAMENTO ESTRUTURADO

Nossa filial (computador da filial) ficou instalada no laboratório de meios de transmissão, enquanto que a nossa matriz ficou instalada no laboratório de redes de computadores. A interligação foi feita da seguinte maneira:

  • A interligação do lab. de meios de transmissão com o lab. de redes de computadores foi executada utilizando 100 metros de cabo UTP. Esse cabo já estava instalado nas calhas, interligando os laboratórios. Nossa equipe utilizou um par de fios do cabo UTP para fazer a interligação dos computadores.
  • Montamos um Rack no lab. de meios com um Patch Panel.
  • Confeccionamos uma tomada de rede para rj-45 em cada laboratório e alguns patch cords para fazer interligação com os equipamentos.

GERÊNCIA DE REDES

Sistema Operacional

Ubuntu 10.14 server nos dois computadores.

DHCP

DHCP (Dynamic Host Configuration Protocol - Protocolo de configuração dinâmica de host) é um protocolo de serviço TCP/IP que oferece configuração dinâmica de terminais, com concessão de endereços IP de host e outros parâmetros de configuração para clientes de rede. Ou seja, todos os micros da rede recebem suas configurações de rede automaticamente a partir do servidor de dhcp.

  • A instalação é feita com o comando: apt-get install dhcp3-server.
  • Ativamos o roteamento entre as interfaces do servidor (matriz) com o comando:

echo 1 > /proc/sys/net/ipv4/ip_forward </syntaxhighlight>

  • Configuramos o arquivo dhcpd.conf, da seguinte maneira:

/etc/dhcp3/dhcpd.conf

ddns-update-style none; default-lease-time 600; max-lease-time 7200; authoritative; log-facility local7;

  1. REDE PC

subnet 192.168.1.0 netmask 255.255.255.0 {

       range 192.168.1.2 192.168.1.62;
       option routers 192.168.1.121;
       option domain-name "teleifsc.sj.ifsc.edu.br";
       option domain-name-servers 192.168.1.121; # Apenas o IP interno do servidor DNS

}

  1. REDE AP

subnet 10.0.0.0 netmask 255.255.255.0 {

       option routers 10.0.0.1;
       range 10.0.0.2 10.0.0.62;
       option domain-name "teleifsc.sj.ifsc.edu.br";
       option domain-name-servers 192.168.1.121;

}

  1. REDE SERVIDORES

subnet 172.16.1.0 netmask 255.255.255.0 {

       option routers 172.16.1.1;
       range 172.16.1.2 172.16.1.62;
       option domain-name "teleifsc.sj.ifsc.edu.br";
       option domain-name-servers 192.168.1.121;

}

       group {
               host test {
                       hardware ethernet 74:a7:22:6d:8d:dc;
                       fixed-address 10.0.0.5;
               }
       }

</syntaxhighlight>

POSTFIX

O Postfix é um agente de transferência de emails, um software livre para envio e entrega de emails. Estamos utilizando o protocolo IMAP para receber as mensagens. Com este protocolo as mensagens recebidas ficam armazenadas no servidor. O protocolo SMTP é utilizado para fazer as trocas de emails entre computadores.

  • A instalação do IMAP é feita com o comando: apt-get install imap
  • A instalação do servidor de email é feita com o camando: apt-get install postfix
  • Arquivo de configuração do POSTFIX:

/etc/postfix/main.cf

  1. See /usr/share/postfix/main.cf.dist for a commented, more complete version


  1. Debian specific: Specifying a file name will cause the first
  2. line of that file to be used as the name. The Debian default
  3. is /etc/mailname.
  4. myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no

  1. appending .domain is the MUA's job.

append_dot_mydomain = no

  1. Uncomment the next line to generate "delayed mail" warnings
  2. delay_warning_time = 4h

readme_directory = no

  1. TLS parameters

smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_use_tls=yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

  1. See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
  2. information on enabling SSL in the smtp client.

myhostname = teleifsc.sj.ifsc.edu.br mydomain = teleifsc.sj.ifsc.edu.br alias_maps = hash:/etc/aliases home_mailbox = /Maildir message_size_limit = 10240000 alias_database = hash:/etc/aliases mydestination = $myhostname, localhost.$mydomain, localhost relayhost = mynetworks = 127.0.0.0/8 192.168.1.0/24 10.0.0.0/24 mailbox_size_limit = 25600000 recipient_delimiter = + inet_interfaces = all myorigin = $mydomain inet_protocols = ipv4 </syntaxhighlight>

SSH

SSH (Secure Shell) é, ao mesmo tempo, um programa de computador e um protocolo de rede que permitem a conexão com outro computador na rede de forma a permitir execução de comandos de uma unidade remota. O SSH tem as mesmas funcionalidades do telnet, mas com a vantagem de criptografar a comunicação entre cliente e servidor.

  • A instalação é feita com o comando: apt-get install ssh
  • O arquivo de configuração é o "/etc/ssh/sshd_config" e foi modificado da seguinte maneira:

"sshd_config"

  1. What ports, IPs and protocols we listen for

Port 22

  1. ListenAddress 0.0.0.0

Protocol 2

  1. HostKeys for protocol version 2

HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key

  1. Privilege Separation is turned on for security

UsePrivilegeSeparation yes

  1. Lifetime and size of ephemeral version 1 server key

KeyRegenerationInterval 3600 ServerKeyBits 768 AllowUsers teleifsc

  1. Logging

SyslogFacility AUTH LogLevel INFO

  1. Authentication:

LoginGraceTime 120 PermitRootLogin yes StrictModes yes

RSAAuthentication yes PubkeyAuthentication yes

  1. AuthorizedKeysFile %h/.ssh/authorized_keys
  1. Don't read the user's ~/.rhosts and ~/.shosts files

IgnoreRhosts yes

  1. For this to work you will also need host keys in /etc/ssh_known_hosts

RhostsRSAAuthentication no

  1. similar for protocol version 2

HostbasedAuthentication no

  1. Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
  2. IgnoreUserKnownHosts yes
  1. To enable empty passwords, change to yes (NOT RECOMMENDED)

PermitEmptyPasswords no

  1. Change to yes to enable challenge-response passwords (beware issues with
  2. some PAM modules and threads)

ChallengeResponseAuthentication no


X11Forwarding yes X11DisplayOffset 10 PrintMotd no PrintLastLog yes TCPKeepAlive yes

  1. Allow client to pass locale environment variables

AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

UsePAM yes </syntaxhighlight>

DNS

DNS (Domain Name System - Sistema de Nomes de Domínios) é um sistema de gerenciamento de nomes hierárquico e distribuído. O servidor DNS traduz nomes para os endereços IP e endereços IP para nomes, permitindo a localização de hosts a partir do seu nome. Esse sistema facilita a procura de hosts, pelo fato de ser mais fácil gravar um nome do que um endereço IP. Esse sistema é implementado pelo sofware "bind9"

  • A instalação é feita com o comando: apt-get install bind9
  • Os arquivos de configuração são os "/etc/bind/named.conf.local", "/etc/bind/projeto/projeto.zone" e "/etc/bind/projeto/rev.37.135.200.in-addr.arpa" e foram configurados da seguinte maneira:

"named.conf.local"

// // Do any local configuration here //

// Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918"; zone "teleifsc.sj.ifsc.edu.br" {

       type master;
       file "/etc/bind/projeto/projeto.zone";
       };

zone "37.135.200.in-addr.arpa" {

       type master;
       file "/etc/bind/projeto/rev.37.135.200.in-addr.arpa";

}; </syntaxhighlight>

"projeto.zone"

@ IN SOA dns.teleifsc.sj.ifsc.edu.br. admin.dns.teleifsc.sj.ifsc.edu.br. (

               2011091401 ;
               28800 ;
               3600 ;
               604800 ;
               38400 ) ;
       NS      dns.teleifsc.sj.ifsc.edu.br.
       MX      10 mail.teleifsc.sj.ifsc.edu.br.
       IN      A 192.168.1.121

$ORIGIN teleifsc.sj.ifsc.edu.br. dns IN A 200.135.37.97 mail IN A 200.135.37.97 www IN A 200.135.37.97 </syntaxhighlight>

"rev.37.135.200.in-addr.arpa"

$ORIGIN 37.135.200.in-addr.arpa. @ IN SOA dns.teleifsc.sj.ifsc.edu.br. admin.dns.teleifsc.sj.ifsc.com.br. (

               201109140;
               28800;
               604800;
               604800;
               86400 );
       IN      NS      dns.teleifsc.sj.ifsc.edu.br.

97 IN PTR dns.teleifsc.sj.ifsc.edu.br. 97 IN PTR www.teleifsc.sj.ifsc.edu.br. 97 IN PTR mail.teleifsc.sj.ifcs.edu.br. </syntaxhighlight>

RADIUS

RADIUS (Remote Authentication Dial In User Service) é um protocolo AAA (Autenticação Autorização e Contabilidade) para aplicações no acesso à rede de computadores e mobilidade através de rede IP.

  • A instalação do RADIUS foi feita com o seguinte comando: apt-get install freeradius freeradius-common
  • Comando para executar e testar o RADIUS:

freeradius -X </syntaxhighlight>

    • Comando para testar o RADIUS no servidor (simula uma tentativa de conexão):

radtest <usuário> <senha> <servidor> <porta> <senha_cliente> </syntaxhighlight>

    • Retorno positivo do teste:

Sending Access-Request of id 186 to 127.0.0.1 port 1812

       User-Name = "<usuário>"
       User-Password = "<senha>"
       NAS-IP-Address = 127.0.0.1
       NAS-Port = 0

rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=186, length=20 </syntaxhighlight>

  • Os arquivos de configuração do RADIUS são "/etc/freeradius/clients.conf" e "/etc/freeradius/users":

"clients.conf"

  1. the "ipaddr" or "ipv6addr" fields. For compatibility, the 1.x
  2. format is still accepted.

client localhost {

       ipaddr = 127.0.0.1
       secret = radiussecret
       require_message_authenticator = no
       nastype = other

}

client 10.0.0.2 {

       ipaddr = 10.0.0.2
       secret = teleifsc
       require_message_authenticator = no
       nastype = other

} </syntaxhighlight>

"users"

DEFAULT Framed-Protocol == PPP

       Framed-Protocol = PPP,
       Framed-Compression = Van-Jacobson-TCP-IP
  1. Default for CSLIP: dynamic IP address, SLIP mode, VJ-compression.

DEFAULT Hint == "CSLIP"

       Framed-Protocol = SLIP,
       Framed-Compression = Van-Jacobson-TCP-IP
  1. Default for SLIP: dynamic IP address, SLIP mode.

DEFAULT Hint == "SLIP"

       Framed-Protocol = SLIP

test Cleartext-Password := "testing" ismael Cleartext-Password := "1234" </syntaxhighlight>

INSTALAÇÃO DE EQUIPAMENTO DE REDE

ROTEADOR CISCO 1700

Roteador é um equipamento usado para fazer a comutação de protocolos, a comunicação entre diferentes redes de computadores provendo a comunicação entre computadores distantes entre si. Roteadores são dispositivos que operam na camada 3 do modelo TCP/IP. A principal característica desses equipamentos é selecionar a rota mais apropriada para encaminhar os pacotes recebidos.

  • Configuração do roteador:

Para configurar o roteador, utilizamos o minicom (programa de comunicação serial).

>interface Serial0 >ip address 200.135.37.101 255.255.255.192 >ip nat outside >encapsulation ppp >! >interface FastEthernet0 >ip address 172.18.16.254 255.255.255.0 >ip nat inside >! >ip nat pool filial 200.135.37.101 200.135.37.101 prefix-length 26 >ip nat inside source list 7 pool filial overload >ip nat inside source static tcp 172.18.16.250 80 200.135.37.101 8080 extendable >ip nat inside source static tcp 172.18.16.250 22 200.135.37.101 2222 extendable >ip nat inside source static tcp 172.18.16.250 1194 200.135.37.101 1194 >extendable >ip nat inside source static udp 172.18.16.250 1194 200.135.37.101 1194 >extendable >! >ip route 0.0.0.0 0.0.0.0 Serial0 >! >access-list 7 permit 172.18.16.0 0.0.0.255 </syntaxhighlight>

ROTEADOR D-link DI-524 wireless 4 portas

O D-Link DI-524 é um Internet Server Sem fio maximizado, pertencente a linha AirPlus G da D-Link, e que atende o padrao 802.11g.

MODEM D-link ADSL 500 b

O Roteador Ethernet ADSL da D-Link, DSL-500B, foi desenvolvido para conectar-se a um PC ou a uma rede LAN através de uma linha ADSL conectados por intermédio da porta Ethernet existente.

As configurações do modem foram feitas com o objetivo de atender os diferentes requisitos do projeto. Nas imagens abaixo podemos observar as diferentes configurações para atender os requisitos do projeto:

  • Nessa imagem, estamos adicionando o IP válido (200.135.37.97) no modem. Este IP será útil para podermos acessar a "matriz" remotamente.

IpExterno.png

  • Na imagem abaixo, estamos adicionando o protocolo de comunicação PPPoE, que será utilizado na comunicação WAN. O protocolo PPPoE foi uma exigência da disciplina de IER (Instalação de Equipamentos de Redes).

Protocolopppoe.png

  • Abaixo, está a configuração das portas que serão utilizadas para os diferentes serviços solicitados no projeto.

500bportas.png

  • Esta imagem mostra os parâmetros (Port: 0, VPI: 8, VCI: 35) especificados na disciplina de IER.

ConfEspecificas.png

  • Na figura abaixo, configuramos o IP interno.

IpInterno.png

PROGRAMAÇÃO DE REDES DE COMPUTADORES

Script de Backup

Backup (cópia de segurança) é a cópia de dados de um dispositivo de armazenamento a outro para que possam ser restaurados em caso da perda dos dados originais, o que pode envolver apagamentos acidentais ou corrupção de dados.

Para executar o backup na "Filial" confeccionamos o seguinte script:

"full.backup"

  1. !/bin/bash

echo "Programa de backup full" echo " "

dadosfull() {

SRCDIR="/home" % Diretório origem do backup DSTDIR=/backup % Diretório destino do backup DATA=`date +%x-%k%M%S` % Data atual no formato dd-mm-aa-hhmmss

  1. criar o arquivo full-data.tar no diretório de destino

ARQ=$DSTDIR/full-$DATA.tar.gz

  1. data de inicio do backup

DATAIN=`date +%c`

  1. echo "Data de inicio: $DATAIN"

}

backupfull(){ sync #Limpa buffers do sistema de arquivos tar -zcvf $ARQ $SRCDIR if [ $? -eq 0 ] ; then

  #echo "----------------------------------------"
   #    echo "Backup Full concluído com Sucesso"
  DATAFIN=`date +%c`
  #echo "Data de termino: $DATAFIN"
  echo "Backup realizado com sucesso" >> /var/log/backup_full.log
  echo "Criado pelo usuário: $USER" >> /var/log/backup_full.log
  echo "INICIO: $DATAIN" >> /var/log/backup_full.log
  echo "FIM: $DATAFIN" >> /var/log/backup_full.log
  echo "-----------------------------------------" >> /var/log/backup_full.log
  #echo " "
  #echo "Log gerado em /var/log/backup_full.log"
  echo "Backup OK $(date)" |mutt -s backup -c andersonrosa8@gmail.com, gabriel_wg@hotmail.com, ismael-rodrigo@hotmail.com
  scp $ARQ teleifsc@10.0.0.1:~/backup

else

  echo "ERRO! Backup do dia $DATAIN" >> /var/log/backup_full.log
  echo "Falha no backup do dia $(date)" |mutt -s backup -c andersonrosa8@gmail.com, gabriel_wg@hotmail.com, ismael-rodrigo@hotmail.com

fi }

dadosfull backupfull

exit 0 </syntaxhighlight>

Para executar o comando scp sem a necessidade de fornecer uma senha manualmente, criamos uma chave rsa sem passphrase na "filial" com o comando:

  • $ssh-keygen -t rsa

Isso vai gerar os arquivos ".ssh/id_rsa" e ".ssh/id_rsa.pub" dentro do seu diretório home, que são respectivamente sua chave privada e a chave pública. O ".ssh/id_rsa" é um arquivo secreto, que deve usar obrigatoriamente o modo de acesso "600" (que você define usando o chmod), para evitar que outros usuários da máquina possam lê-lo. Muitos servidores recusam a conexão caso os arquivos estejam com as permissões abertas.

Depois copiamos a chave criada (id_rsa.pub) para a "matriz" com o comando:

  • $ssh-copy-id teleifsc@200.135.37.97

Isso abre uma conexão via SFTP, ainda utilizando seu login e senha de acesso, que é usada pelo ssh-copy-id para instalar a chave pública (o arquivo .ssh/id_rsa.pub, dentro do seu home) no servidor. Esse comando grava a chave pública no servidor.