Mudanças entre as edições de "Projeto Integrador - 2009.1 - Equipe True"

De MediaWiki do Campus São José
Ir para: navegação, pesquisa
(Programação para redes de Computadores - PRC)
(Programação para redes de Computadores - PRC)
Linha 412: Linha 412:
 
= Programação para redes de Computadores - PRC =
 
= Programação para redes de Computadores - PRC =
  
*Criado pagina em HTML (www.true.sj.ifsc.edu.br)
+
*Criado pagina em HTML
  
 
[http://www.true.sj.ifsc.edu.br www.true.sj.ifsc.edu.br]
 
[http://www.true.sj.ifsc.edu.br www.true.sj.ifsc.edu.br]

Edição das 16h24min de 7 de julho de 2009

Cabeamento Estruturado - CBE

  • Passagem cabo UTP cat 5e, laboratório de meios de transmissão para redes II.
Atividade envolvendo todas as equipes
  • Montagem do rack.
Crimpagem de cabos no Patch Panel
Passagem de cabeamento secundário
Cordões de manobra(Patch Cord)
  • Comprova a continuidade de todos os pontos e cordões de manobra.
Ponto no chão e na parede
Cordões com no mínimo 1,30m

Gerência de Redes - GER

  • Fonte de Pesquisa:

Profº Ederson Torresini

Sistema Operacional

  • Ubuntu 8.10 Server

Banco de Dados

  • Mysql-server


Base do Hotel True

hotel

Para facilitar administração de criação de tabelas, utilizamos a ferramenta PHPMYADMIN

phpMyAdmin

Criado o usuário ADMIN para ser fazer toda interação com o banco de dados.

Para tal, foi liberado o acesso a base com:

GRANT ALL PRIVILEGIES

Assim teremos maiores segurança, pois o usuário tem permissões apenas para mexer na base do hotel e na tabela específica, evitando a atividade com root.

Serviços instalados

Servidor de E-mail + IMAP:

Postfix
Uw-imapd

Servidor DNS:

Bind9

Servidor DHCP:

DHCP3-server

Servidor WEB:

Apache2

Acesso remoto:

Sshd

Servidor de autenticação:

FreeRadius

Controle e Monitoração:

Snmpd
Cacti

Comunicador Instantâneo:

OpenFire

Interfaces

eth0 Link encap:Ethernet HWaddr 00:11:d8:d4:94:ea

         inet addr:200.135.37.114  Bcast:200.135.37.127  Mask:255.255.255.192

eth0.40 Link encap:Ethernet HWaddr 00:11:d8:d4:94:ea

         inet addr:10.4.1.1  Bcast:10.4.1.255  Mask:255.255.255.0

eth0.45 Link encap:Ethernet HWaddr 00:11:d8:d4:94:ea

         inet addr:10.4.2.1  Bcast:10.4.2.255  Mask:255.255.255.0

eth0.100 Link encap:Ethernet HWaddr 00:11:d8:d4:94:ea

         inet addr:10.4.10.1  Bcast:10.4.10.255  Mask:255.255.255.0

Tabela de Roteamento

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
200.135.37.64   0.0.0.0         255.255.255.192 U     0      0        0 eth0
10.4.1.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0.40
10.4.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0.45
10.4.10.0       0.0.0.0         255.255.255.0   U     0      0        0 eth0.100
0.0.0.0         200.135.37.126  0.0.0.0         UG    100    0        0 eth0


Configuração de arquivos

SMTP/IMAP

  • Instalado Postfix:
apt-get install postfix

O Postfix é um servidor de e-mail. Um servidor de correio eletrônico gerência os e-mails que são enviados e recebidos.Os servidores de e-mail podem ser servidores de internet, onde e-mails enviadas e recebidos podem ser transitados para qualquer lugar do mundo, ou servidores de correio intranet onde as mensagens trafegam somente dentro da empresa. O postfix permite utilizar o Imap e O Pop como protocolos de recebimento de mensagens.

main.cf

# Usado principalmente no envio das mensagens
myhostname = mail.true.sj.ifsc.edu.br
mydomain = true.sj.ifsc.edu.br
# Quem pode enviar
mynetworks = 127.0.0.0/8 10.4.2.0/24
relayhost =
inet_interfaces = all
# Tratamento dos cabeçalhos a serem enviados
append_dot_mydomain = no
recipient_delimiter = +

# Usado principalmente no recebimento das mensagens
smtpd_banner = $myhostname ESMTP Qmail - Kurumin
mydestination = mail.true.sj.ifsc.edu.br, localhost.true.sj.ifsc.edu.br, localhost, true.sj.ifsc.edu.br
#
# Quotas
mailbox_size_limit = 0
#
# Apelidos de usuários
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases


# Segurança com TLS
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

DNS

O DNS da nome a endereço IP, é uma tabela que relaciona nomes e números IP. O DNS direto relaciona o número do IP de uma máquina a seu nome. O DNS reverso relaciona o nome a seu IP.

  • Instalado bind9:
apt-get install bind9
  • Arquivos de configurção:

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 "true.sj.ifsc.edu.br" {
  type master;
  file "/etc/bind/true.sj.ifsc.edu.br";
};

zone "37.135.200.in-addr.arpa" {
  type master;
  file "/etc/bind/37.135.200.in-addr.arpa"; 
};
  • DNS Direto

true.sj.ifsc.edu.br

$TTL    86400
@       IN      SOA     dns.true.sj.ifsc.edu.br. true.true.sj.ifsc.edu.br. (

                       2009062200      ; Serial
                               1d      ; Refresh
                               4h      ; Retry
                               1w      ; Expire
                               1d )    ; Negative Cache TTL
; nome dos dns
@ IN NS dns
  
; Servidor de email ; Mail eXchanger
 
@ IN MX 0 mail
mail IN A 200.135.37.114
 
; adress: endereço
dns IN A 200.135.37.114
www IN A 200.135.37.114 
  • DNS Reverso

37.135.200.in-addr.arpa

  $TTL    86400
 @  IN SOA       dns.true.sj.ifsc.edu.br. true.true.sj.ifsc.edu.br. ( ; Start of Authority
        2009062200 ;Thiego Vierira     ; Serial
                            1d         ; Refresh
                            4h         ; Retry
                            4w         ; Expire
                            1d )       ; Negative Cache TTL
 
  
;Servidores DNS
@  IN NS  dns.true.sj.ifsc.edu.br.
 
;Servidor de email; Mail eXchanger
 
@ IN MX 0 mail.true.sj.ifsc.edu.br.
 
;Address ; endereco
114  IN PTR dns.true.sj.ifsc.edu.br.
114  IN PTR mail.true.sj.ifsc.edu.br.
114  IN PTR www.true.sj.ifsc.edu.br.

DHCP

O DHCP é um mecanismo de endereçamento automático de IP para máquinas se conectarem a rede TCP/IP. Através do DHCP são fornecidas todas as configurações necessárias que um máquina precisa para se conectar a rede. Endereçamento IP, máscara de rede, gateway, servidor DNS, são serviços passados ao host cliente por DHCP.

  • Instalado dhcp3:

apt-get install dhcp3-server

  • Arquivo de configuração:

dhcpd.conf

#/etc/dhcp3/dhcpd.conf

subnet 10.4.1.0 netmask 255.255.255.0 {
       #IP
       range 10.4.1.128 10.4.1.138;
       #Máscara
       option subnet-mask 255.255.255.0;
       #Broadcast
       option broadcast-address 10.4.1.255;
        #Rota-padrão
       option routers 10.4.1.1;
       #DNS
       option domain-name-servers 200.135.37.114;
}

subnet 10.4.2.0 netmask 255.255.255.0 {
       #IP
       range 10.4.2.128 10.4.2.138;
       #Máscara
       option subnet-mask 255.255.255.0;
       #Broadcast
       option broadcast-address 10.4.2.255;
       #Rota-padrão
       option routers 10.4.2.1;
       #DNS
       option domain-name-servers 200.135.37.114;
}
subnet 10.4.10.0 netmask 255.255.255.0 {
       #IP
       range 10.4.10.128 10.4.10.138;
       #Máscara
       option subnet-mask 255.255.255.0;
       #Broadcast
       option broadcast-address 10.4.10.255;
       #Rota-padrão
       option routers 10.4.10.1;
       #DNS
       option domain-name-servers 200.135.37.114;

Apache / PHP

Para melhor interação e dinamismo, criamos o sistema do Hotel via web. Apache2 junto com php5 serviram para criação das paginas e aperfeiçoamento do código.

apt-get install php5 
apt-get install apache2

Nenhuma configuração foi necessário, apenas a criação das páginas no diretório /var/www.

SSH

Utilizado para prover acesso remoto ao servidor.

apt-get install sshd

Alterado a configuração para que o ROOT não consiga acessar;

PermitRootLogin no

RADIUS

Ferramenta para autenticação e validação de usuários. Foi implementado também para direcionar usuários para suas deterinadas VLans, proporcionando maior segurança na rede.

Pacote do freeradius:

wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.1.6.tar.gz

Compiladores e Bibliotecas:

make
gcc 
g++
libssl-dev

Todos os arquivos de configuração foram colocados em um único diretório , isso proporciona maior facilidade para manuseio destes. Comando para listagem e preparação para compilação:

./configure --prefix=/usr/local freeradius-server2.1.6 --exe-prefix=/usr/local freeradius-server2.1.6 

Compilação:

make 

Alocação em seus respectivos diretórios:

make install

Devido a necessidade de unir os arquivos em um só diretório, foi criado links para utilizar a aplicação sem maiores problemas. Links criados:

radiusd
radtest
rc.radiusd

Arquivos configurados

Arquivo users:

O hóspede terá como login o nome e sua senha o CPF.

#datadesaida cpf
aluno  Cleartext-Password := "123"
Tunnel-Type = "VLAN",
Tunnel-Medium-Type = "IEEE-802",
Tunnel-Private-Group-ID = "40"

Arquivo clients.conf

Exemplo de arquivo de configuração. Cada switch e AP terão seus dados cadastrados neste formato.

client 200.135.37.66 {
       ipaddr = 200.135.37.66
       shortname = teste
       secret  = 123456
       nastype = other
}

SNMP

É um protocolo de gerência típica de redes TCP/IP, da camada de aplicação que facilita o intercâmbio de informação entre os dispositivos de rede. O SNMP possibilita aos administradores de uma rede gerenciar o desempenho da rede, encontrar e resolver problemas, como também planejar crescimento.

atp-get isntall snmpd

Foi zerado o arquivo snmpd.conf e criado com os seguintes parâmetros

snmpd.conf 
rocommunity true
sysLocation Lab Redes 1 IFSC/SJ
sysContact root@true.sj.ifsc.edu.br
sysServices 72

CACTI

O Cacti é uma ferramenta que recolhe informações de uma rede de computadores e exibe em forma de gráficos. Monitora o estado de elementos de rede e programas, bem como a largura de banda utilizada pela CPU, trabalha com o protocolo snmp.

apt-get install cacti

Cacti terá que interagir com o snmp. Em sua configuração, será necessário indicar a "rocommunity" escolhida no arquivo snmpd.conf, só assim o cacti conseguirá gerar os gráficos normalmente. A criação é opcional, podendo o usuário criar seus próprios gráficos como utilizar alguns modelos já disponíveis na aplicação. Com esta ferramenta é possível monitorar as interfaces de rede, partições do sistema, login de usuários, consumo de memória entre outros. Para ter uma boa administração de rede, é fundamente esse tipo de aplicação, pois pode-se ter o controle do servidor apenas com gráficos. Os dados coletados podem ser salvos e guardados por muito tempo, seu tamanho é pequeno e permite grande armazenamento. Interagindo com outras ferramentas, é possível encaminhar e-mail, torpedo e outras mensagens para o administrador, como forma de alarmar sobre situações adversas.

JABBER / XMPP

  • Fonte de Donwload:

Openfire 3.6.4

Necessário pacote java para utilização da aplicação Jabber.

apt-get install sun-java6-jre

Confirmação de instalação do pacote:
update-alternatives --config java
/usr/lib/jvm/java-6-sun/jre/bin/java

Criação de base OpenFire no banco de dados. Liberado privilégios para o usuário "openfire"

"colocar o grant all privilegies"

Instalação do pacote OpenFire:
dpkg -i openfire.3.6.4.deb

Para conclusão de instalação, acessar via web http://localhost:9090 e concluir a instalação.


Instalação de Equipamentos de Redes - IER

  • Fonte de pesquisa:

Profº Marcelo Sobral

Configuração de Switch A e B:

  • Criado Vlans:

vconfig add eth0 VID

Funcionários:45

Hóspedes:40

Visitantes:100

  • Criação de Vlans no servidor True:

vconfig add interface VID

  • Configurado servidor Radius nos Switchs:

Security Management -> Port Access Entity -> RADIUS. obs.: Devido a falta de equipamentos, foi configurado um servidor Radius-Proxy pelos professores, onde este fará o direcionamento para o servidor das equipes. Logo a configuração nos Switchs foi direcionada ao servidor Proxy.

  • Configuração do AP

Access Point utilizado para prover o acesso wirelles. Foi configurado para direcionar todas as solicitações ao Radius-Proxy. Todos os equipamentos que ficam "no meio" da rede, serão configurados no arquivo clients.conf, porém apenas na máquina Radius-Proxy.

  • Estabelecido enlace entre laboratórios:

Com enlace estabelecido, foi colocado os modens e roteadores para comunicação.

Programação para redes de Computadores - PRC

  • Criado pagina em HTML

www.true.sj.ifsc.edu.br

- Foi criado uma aplicação para realizar chek-in de usuários no hotel, o hóspede é cadastradoe recebe login e senha para acessar a rede, porém é liberado apenas o acesso a internet, o login é válido durante a estadia do hóspede no hotel e caso necessário prolongar a estadia, seu login sobre a mesma prolongação.

  • Rotina para deletar usuário:

No arquivo users do freeradius, foi adicionado uma linha para consigamos excluir o login de acordo com sua data de saida. O comando sed busca a data e compara com a data atual, quando condiz, exclui.

- Rotina programada para rodar todo dia às 12h30

#!/bin/bash

data=`date +%F`
sed -i /\#$data/,+5d  /usr/local/freeradius-server-2.1.6/etc/raddb/users

- Foi adicionado na crontab com os seguintes parâmetros:

30 12   * * *   root    /usr/local/deleta.sh