Projeto Integrador - 2009.2 - Equipe TECHNet

De MediaWiki do Campus São José
Ir para: navegação, pesquisa

Red&Ventos Equipe TechNet

Interligação entre disciplinas

<graphviz>

digraph PI {
   
  CAB -> IER
  IER -> GAR
  GAR -> PRC
  IER -> PRC

} </graphviz>

Instalação do Sistema Operacional - S.O

  • Configuração da bios
     power -> ac power loss -> enabled
     main -> halt on -> all but keyboard


  • Distribuição e versão do SO: Ubuntu 9.04
  • Particionamento do(s) disco(s):
 Filesystem      Size
 /                    6.8GB
 swap                1GB
/tmp                 3GB
/var                 10GB

Cabeamento Estruturado - CBE

  • Cabos Vermelhos (DC 11)
  • Diagrama do Cabeamento

<graphviz>

digraph PI {
   
  Est1 -> "Rack Technet"
  Est2 -> "Rack Technet"
  "Rack Technet" -> TN1
  "Rack Technet" -> TN2
  TN1 -> "Rack Switch 240"
  TN2 -> "Rack Switch 240"
  "Rack Switch 240" -> "Rack Switch 241"
  "Rack Switch 241" -> DN11
  DN11 -> "Servidor Technet"
  

} </graphviz>

  • Itens realizado na parte de Cabeamento

Entregue projeto contendo:

 *Planta baixa com indicação das tomadas dos estandes, armário de telecomunicações, tubulação e cabos.
 *Vista frontal do armário indicando a utilização de cada porta.
 *Lista de material
 *Instalação do cabeamento
 *Identificação das portas, cabos e tomadas
 *Certificação do cabeamento

Gerência de Redes - GAR

  • Instalação dos Serviços
apt-get install dhcp3
apt-get install bind9 - DNS
apt-get install cacti - Gerência de redes
apt-get install apache2
apt-get install apt-get install mysql-server
apt-get install php5-mysql
 

SSH

Secure Shell SSH é, simultaneamente, um programa de computador e um protocolo de rede que permite a conexão com outro computador na rede, de forma a executar comandos de uma unidade remota. Possui as mesmas funcionalidades do TELNET, com a vantagem da conexão entre o cliente e o servidor ser criptografada.

apt-get install ssh
*Porta utilizada: 5520 
  • Configuração do SSH:
 apt-get install ssh
 Editado o arquivo /etc/ssh/sshd.conf
 Port= 5520 ( Configuração de porta do ssh )
  • Configuração de rede

Arquivo: /etc/network/interfaces

auto eth0
iface eth0 inet static
        address 200.135.37.113
        netmask 255.255.255.0
        gateway 200.135.37.1
        dns-nameservers 200.135.37.65
 
auto eth1
iface eth1 inet static
        address 172.113.0.113
        netmask 255.255.255.0
        gateway 172.113.0.1
 
auto vlan300
iface vlan300 inet static
       address 10.0.0.1
       netmask 255.255.0.0
       vlan_raw_device eth1
 
auto vlan301
iface vlan301 inet static
       address 10.1.0.1
       netmask 255.255.0.0
       vlan_raw_device eth1
 
auto vlan302
iface vlan302 inet static
       address 10.2.0.1
       netmask 255.255.0.0
       vlan_raw_device eth1
 
auto vlan303
iface vlan303 inet static
       address 10.3.0.1
       netmask 255.255.0.0
       vlan_raw_device eth1

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.

*Porta Utilizada 53 
  • Instalado bind9

Arquivos de configuração:

  • /etc/resolv.conf
nameserver 172.18.0.1
nameserver 200.135.37.65
   
  • named.conf.local:
zone "technet.sj.ifsc.edu.br" {
       type master;
       file "/etc/bind/technet.sj.ifsc.edu.br";
};  
  • technet.sj.ifsc.edu.br:
  $TTL    86400
  @       IN      SOA     dns1.technet.sj.ifsc.edu.br. technet.sj.ifsc.edu.br. (
        2009120301      ; Serial
        1d      ; Refresh
        4h      ; Retry
        1w      ; Expire
        1d )    ; Negative Cache TTL
  ;
  @       IN      NS      dns1
  @       IN      NS      hendrix.sj.ifsc.edu.br.
  @       IN      MX      0       mail
  @       IN      A       200.135.37.113
  
  dns1    IN      A       200.135.37.113
  mail    IN      A       200.135.37.113
  www     IN      CNAME   dns1
  web     IN      CNAME   dns1

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.

*Porta utilizada 67
  • Instalado dhcp3

Arquivo de configuração:

  • dhcpd.conf
  authoritative;
  default-lease-time 14400;
  max-lease-time 86400;
  
      
  subnet 10.0.0.0 netmask 255.255.0.0 {
        range 10.0.0.2 10.0.255.254;
        option subnet-mask 255.255.0.0;
        option broadcast-address 10.0.255.255;
        option routers 10.0.0.1;
        option domain-name-servers 10.0.0.1;
        option domain-name "wireless.technet.sj.ifsc.edu.br";
        }
  • As demais configurações para o DHCP será dinâmica conforme o número de estandes.

SMTP

Simple Mail Transfer Protocol (SMTP) é o protocolo padrão para envio de e-mails através da Internet.

*Porta utilizada 25
  • Utilizado postifix como servidor de e-mail
apt-get install postifix

O Postfix é um servidor de e-mail que 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.

  • Utilizado dovecot-imapd como protocolo de recebimento de mensagens.
  • RoundCube para envio de mensagens assíncronas
*Porta utilizada para RoundCube 3306

[ http://technet.sj.ifsc.edu.br/roundcube ]

Arquivo de configuração:

  • /etc/snmp/snmpd.conf
rocommunity servidorTech
syslocation "Redes 1"
syscontact "admin@technet.sj.ifsc.edu.br"
  • /etc/postfix/main.cf
#Adicionado as seguintes linhas no arquivo main.cf 

myorigin = technet.sj.ifsc.edu.br
myhostname = mail.technet.sj.ifsc.edu.br
mydestination = mail, mail.redes.sj.edu.br, localhost

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

  • cd /etc/snmpd.conf:
 rocommunity servidorTech
 syslocation "Redes 1"
 syscontact "admin@technet.sj.ifsc.edu.br"

CACTI

[ http://technet.sj.ifsc.edu.br/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.

Configuração HTTPS (SSL)

É uma implementação do protocolo HTTP sobre uma camada SSL ou do TLS. Essa camada adicional permite que os dados sejam transmitidos através de uma conexão criptografada e que se verifique a autenticidade do servidor e do cliente através de certificados digitais.

*Porta utilizada 443
  • Instalação de pacotes necessários:
apt-get install openssl ssl-cert
  • Criado o diretório onde o certificado foi alocado
mkdir /etc/apache2/ssl
  • Criado o certificado armazenando-o no arquivo apache.pem:
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
  • Definido permissão de arquivo
chmod 660 /etc/apache2/ssl/apache.pem
  • Habilitado o modo a2enmod
a2enmod ssl
  • Editado o arquivo svn
Alterado a linha <VirtualHost *:80> para <VirtualHost *:443> e adicionado as linhas abaixo:
SSLEngine on
ServerSignature On
SSLCertificateFile /etc/apache2/ssl/apache.pem
  • Habilitado o bloco <VirtualHost>
a2ensite svn

Configuração TC

Limita taxas de transmissão e a forma de priorização dos pacotes para cada classe: ouro, prata e bronze.

 #!/bin/bash
 
 TAXA=4000 # 4Mbps
 UMPOR=`expr $TAXA / 100`
 
 OURO=`expr $UMPOR \* 58` # 58% da taxa de transmissao
 PRATA=`expr $UMPOR \* 23` # 23% da taxa de transmissao
 BRONZE=`expr $UMPOR \* 14` # 14% da taxa de transmissao
 WIRELESS=`expr $UMPOR \*5` # 5% da taxa de transmissao 
 
 DEV=eth0
 
 # ----------- TC ------------------#
 # eliminando as regras anteriores
 tc qdisc del dev ${DEV} root 2>/dev/null
 
 # adicionando a disciplina de fila na raiz
 tc qdisc add dev ${DEV} root handle 1:0 htb default 12
 
 # criando a classe pai para limitar a velocidade
 tc class add dev ${DEV} parent 1:0 classid 1:1 htb rate ${TAXA}kbps ceil ${TAXA}kbps
 
 # criando 3 classes (ouro, prata e bronze)
 tc class add dev ${DEV} parent 1:1 classid 1:10 htb rate ${WIRELESS}kbps ceil ${TAXA}kbps
 tc class add dev ${DEV} parent 1:1 classid 1:11 htb rate ${OURO}kbps ceil ${TAXA}kbps
 tc class add dev ${DEV} parent 1:1 classid 1:12 htb rate ${PRATA}kbps ceil ${TAXA}kbps
 tc class add dev ${DEV} perent 1:1 classid 1:13 htb rate ${BRONZE}kbps ceil ${TAXA}kbps
 
 # adicionando qdisc para cada classe
 tc qdisc add dev ${DEV} parent 1:10 handle 10: sfq perturb 10
 tc qdisc add dev ${DEV} parent 1:11 handle 11: sfq perturb 10
 tc qdisc add dev ${DEV} parent 1:12 handle 12: sfq perturb 10
 tc qdisc add dev ${DEV} parent 1:13 handle 13: sfq perturb 10
 
 # criando os filtros para direcionar os trafegos para cada classe de acordo com o IP
 # de destino 
 tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 10.0.0.0/16 flowid 1:10 # vai para WIRELESS
 tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 10.1.0.0/16 flowid 1:11 # vai para OURO 
 tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 10.2.0.0/16 flowid 1:12 # vai para PRATA
 tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 10.3.0.0/16 flowid 1:13 # vai para BRONZE
 echo "TC CONFIGURADO"

Openfire ( Mensageiro Instantâneo )

[ http://200.135.37.113:9090 ]

wget http://download.igniterealtime.org/openfire/openfire_3.6.4_all.deb
dpkg -i openfire_3.6.4_all.deb

mysql -uroot -p
 ->create databases openfire;
 ->grant all privileges on openfire.* to [USUARIO]@localhost identified by "[SENHA]";
 ->flush privileges;

Acessar [IP_VALIDO]:9090

Backup

Enviado por e-mail equipetechnet@hotmail.com

*cd /home/tech/scripts
 
vi backup.sh
 #!/bin/bash
 
 #Criar um arquivo backup
 dd if=/dev/zero of=/tmp/backup count=1 bs=10000k 2> /dev/null
 
 #criar arquivo extensão ext4
 mkfs.ext4 -q -F -F /tmp/backup 2> /dev/null
 
 # montar partição
 mount -o loop /tmp/backup /mnt 2> /dev/null
 
 #Compactar o backup
 data=`date +%F`
 tar cfj /mnt/backup$data.bz2 /etc/* 2> /dev/null
 
 # Mandar backup por email
 #cat /mnt/backup$data.bz2 | mail guilps@gmail.com -s "backup de $data"  
 
 destino=equipetechnet@hotmail.com
 arquivo=/mnt/backup$data.bz2 0
 mensagem="backup efetuado com sucesso"
 data2=`date`
 echo "Backup realizado em $data2" | mutt -a $arquivo -s "backup de $data" $destino
 
 #Desmontar a partição
 umount /mnt
  • Adcionado a rotina na crontab:
 *vi /etc/crontab
 
 # m  h   dom mon dow  user  command
   50 21   *   *   *   root  /etc/init.d/backup.sh

Firewall

Utilizado para bloquear o acesso a alguns serviços da rede.


Arquivo de configuração:

  • vi /etc/init.d/firewall
 #!/bin/bash
 
 #Regras para funcionamento do NOCAT
 iptables -P INPUT ACCEPT
 /usr/local/nocat/bin/clear.fw
 
 #Limpando regras do firewall
 iptables -t filter -F
 iptables -t nat -F
 
 #Regras para roteamento
 sysctl -w net.ipv4.ip_forward=1
 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 
 #bloqueado portas de entradas
 iptables -P INPUT DROP
 
 # Liberar interface Loopback
 iptables -A INPUT -i lo -j ACCEPT
 
 # Liberar solicitacao servidor local
 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 
 # Liberar porta para SSH
 iptables -A INPUT -p tcp --dport 5520 -j ACCEPT
 
 #Liberar a porta do NOCAT
 iptables -I INPUT 3 -p tcp -i vlan300 --dport 5280 -j ACCEPT
 
 # Liberar porta para HTTP
 iptables -A INPUT -p tcp --dport 80 -j ACCEPT
 
 # Liberar porta HTTPS
 iptables -A INPUT -p tcp --dport 443 -j ACCEPT
 
 # Liberar porta SMTP
 iptables -A INPUT -p tcp --dport 25 -j ACCEPT
 
 # Liberar Porta DNS
 iptables -A INPUT -p udp --dport 53 -j ACCEPT
 
 # Liberar Porta DHCP
 iptables -A INPUT -p udp --dport 67 -j ACCEPT
  
 # Liberar Porta TFTP
 iptables -A INPUT -p udp --dport 69 -j ACCEPT 
 
 # Liberar Porta IMAP
 iptables -A INPUT -p tcp --dport 143 -j ACCEPT
 
 #Ativando gateway NOCAT / Configuracao do NOCAT
 /usr/local/nocat/bin/gateway

Script Monitoramento Servidor

 #!/bin/bash
 arquivo=monitoramento.txt
 
 echo "Estado das interfaces" >> $arquivo
 ifconfig -a >> $arquivo
 echo "================================" >> $arquivo
 echo "Rotas criadas" >> $arquivo
 route -n >> $arquivo 
 echo "================================" >> $arquivo
 echo "Firewall" >> $arquivo
 iptables -L >> $arquivo
 echo "================================" >> $arquivo
 echo "Consumo de processamento" >> $arquivo
 top -b -n1 | grep Cpu >> $arquivo
 echo "===============================" >> $arquivo
 echo "Consumo de memoria" >> $arquivo
 top -b -n1 | grep Men >> $arquivo
 echo "==============================" >> $arquivo
 echo "Consumo de disco" >> $arquivo
 vmstat -d >> $arquivo
 
 
 destino=equipetechnet@hotmail.com
 
 mensagem="monitoramento efetuado com exito"
 data2=`date`
 echo "Monitoramento realizado em $data2" | mutt -a $arquivo -s "monitoramento de $data" $destino
 
  • Adcionado rotina na crontab
*vi /etc/crontab
 
#   m   h   dom   mon   dow   user    command
    50  21  *     *     *     root    /etc/init.d/monitorar.sh

Instalação de Equipamentos - IER

* Configuração das Vlans

telnet 192.168.1.241

DES-3526:admin# create vlan techwireless tag 300
DES-3526:admin# create vlan techouro tag 301
DES-3526:admin# create vlan techprata tag 302
DES-3526:admin# create vlan techbronze tag 303

DES-3526:admin# vlan techwireless add tagged300
DES-3526:admin# vlan techouro add tagged301
DES-3526:admin# vlan techprata add tagged302
DES-3526:admin# vlan techbronze add tagged303

DES-3526:admin# show vlan


* Identificação das Subredes

 eth0 ==> 200.135.37.0
 eth1 ==> 192.168.1.0
 Vlan 300 Wirelles ==> 10.0.0.0
 

* Identificação das Vlans

  • Configuração do swith 192.168.1.241:
 IP 10.0.0.1 vlan 300 Wirelles
 
 VID             : 300        VLAN Name     : techwireless
 VLAN TYPE       : static     Advertisement : Disabled
 Member ports    : 12,26
 Static ports    : 12,26
 Current Tagged ports   : 12,26
 Current Untagged ports :
 Static Tagged ports    : 12,26
 Static Untagged ports  :
 Forbidden ports :
 
 Demais configurações para DHCP de forma dinâmica  
   
  • Configuração do switch 192.168.1.240:
 VID             : 300        VLAN Name     : TechWireless  
 VLAN TYPE       : static     Advertisement : Disabled
 Member ports    : 11,26
 Static ports    : 11,26
 Current Tagged ports   : 26
 Current Untagged ports : 11
 Static Tagged ports    : 26
 Static Untagged ports  : 11
 Forbidden ports :
 

Configuração Hotspot

  • Arquivo de configuração:
  • vi /usr/local/nocat/nocat.conf
 Verbosity       10
 GatewayName     the NoCat Network
 GatewayMode     Passive
 GatewayLog      /usr/local/nocat/nocat.log
 LoginTimeout    600
 HomePage        http://nocat.net/
 DocumentRoot    /usr/local/nocat/htdocs
 SplashForm      splash.html
 StatusForm      status.html
 TrustedGroups Any
 AuthServiceAddr 200.135.37.113
 AuthServiceURL  http://$AuthServiceAddr/cgi-bin/login
 LogoutURL       http://$AuthServiceAddr/logout.html 
 ExternalDevice  eth0
 InternalDevice  vlan300
 AllowedWebHosts 200.135.37.113
 RouteOnly
 ExcludePorts    25
  • vi /usr/local/nocat/authserv/nocat.conf
 Verbosity       10
 HomePage        http://nocat.net/
 DocumentRoot    /usr/local/nocat/authserv/htdocs
 DataSource      Passwd
 Database        dbi:mysql:database=nocat
 DB_User         nocat
 DB_Passwd       whodatatmydo?!
 UserFile            /usr/local/nocat/authserv/etc/passwd
 GroupUserFile       /usr/local/nocat/authserv/etc/group
 GroupAdminFile    /usr/local/nocat/authserv/etc/groupadm
 UserTable       member
 UserIDField     login
 UserPasswdField pass
 UserAuthField   status
 UserStampField  created
 
 GroupTable      network
 GroupIDField    network
 GroupAdminField admin
 MinPasswdLength 6
 LocalGateway    10.0.0.1
 LoginForm       login.html
 LoginOKForm     login_ok.html
 FatalForm       fatal.html
 ExpiredForm     expired.html
 RenewForm       renew.html
 PassiveRenewForm renew_pasv.html
 
 RegisterForm    register.html
 RegisterOKForm  register_ok.html
 RegisterFields  name url description
 
 UpdateForm      update.html
 UpdateFields    url description
 LoginGreeting   Greetings! Welcome to the NoCat Network.
 LoginMissing    Please fill in all fields!
 LoginBadUser    That e-mail address is unknown. Please try again.
 LoginBadPass    That e-mail and password do not match. Please try again.
 LoginBadStatus  Sorry, you are not a registered co-op member.
 
 RegisterGreeting    Welcome! Please enter the following information to register.
 RegisterMissing     Name, E-mail, and password fields must be filled in.
 RegisterUserExists  Sorry, that e-mail address is already taken. Are you already registered?
 RegisterBadUser     The e-mail address provided appears to be invalid. Did you spell it correctly?
 RegisterInvalidPass All passwords must be at least six characters long.
 RegisterPassNoMatch The passwords you provided do not match. Please try again.
 RegisterSuccess     Congratulations, you have successfully registered.
 
 UpdateGreeting      Enter your E-mail and password to update your info.
 UpdateBadUser       That e-mail address is unknown. Please try again.
 UpdateBadPass       That e-mail and password do not match. Please try again.
 UpdateInvalidPass   New passwords must be at least six characters long.
 UpdatePassNoMatch   The new passwords you provided do not match. Please try again.
 UpdateSuccess       Congratulations, you have successfully updated your account.

Diagrama da Rede Parte Física

Diagrama da rede física

Diagrama da Rede Parte Lógica

Diagrama da rede lógica

Programação - PRC

Tabelas criadas no Mysql

Diagrama do Database redeventos


Página web Equipe TechNet

  • Página login

Página login Equipe TechNet


  • Listar Estandes

Listar Estandes Equipe TechNet


  • Cadastrar Estandes

Captura de tela-2.png


  • Editar o cadastro de estandes

Captura de tela-3.png


  • Gerenciar Contas Wifi

Captura de tela4.png


  • Listagem de contas Wifi

Captura de tela6.png

Scripts página web Equipe TechNet

Código fonte em PHP da aplicação web desenvolvida pela Equipe TechNet