Mudanças entre as edições de "Projeto Integrador - 2009.2 - Equipe Epsilon"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
 
(10 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
=Trabalho Dividido por Matérias=
+
=Soluçoes encontradas para o projeto=
 
==Cabeamento Estruturado==
 
==Cabeamento Estruturado==
  
Linha 134: Linha 134:
 
===Sistema Operacional===
 
===Sistema Operacional===
  
* Instalação do Ubuntu Serv versão 9.10
+
* Instalação do Ubuntu Serv versão 9.10 Enterprise
  
 
* Particionamento do HD:
 
* Particionamento do HD:
Linha 199: Linha 199:
 
  search REDES1
 
  search REDES1
 
  nameserver 200.135.37.65
 
  nameserver 200.135.37.65
 +
 +
===Rotas===
 +
 +
route -n
 +
Kernel IP routing table
 +
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
 +
200.135.37.0    0.0.0.0        255.255.255.0  U    0      0        0 eth0
 +
172.24.1.0      0.0.0.0        255.255.255.0  U    0      0        0 eth1
 +
10.10.0.0      0.0.0.0        255.255.255.0  U    0      0        0 vlan501
 +
192.168.1.0    0.0.0.0        255.255.255.0  U    0      0        0 vlan1
 +
0.0.0.0        200.135.37.1    0.0.0.0        UG    100    0        0 eth0
  
 
===Instalação de serviços===
 
===Instalação de serviços===
  
* APACHE : é o servidor web mais ultilizado no mundo
+
* APACHE : é o servidor web mais utilizado no mundo
 
   
 
   
 
  sudo apt-get install apache2
 
  sudo apt-get install apache2
Linha 290: Linha 301:
 
  100    IN    PTR    www.epsilon.sj.ifsc.edu.br.
 
  100    IN    PTR    www.epsilon.sj.ifsc.edu.br.
  
 
+
===Adicionado ao Crontab a execução do script de que fará backup e relatorios e a sincronização do relógio do servidor:===
 
 
===Criado um script simples para salvar configurações já setadas até o momento:===
 
 
 
#!/bin/bash
 
nome=backup-txt-`date +%Y_%m_%d-_%H_%M`.txt
 
touch $nome
 
echo "**** INTERFACES DE REDE ****" >> $nome
 
echo >> $nome
 
ifconfig -a >> $nome
 
echo >> $nome
 
echo "**** ROTAS ****" >> $nome
 
echo >> $nome
 
route -n >> $nome
 
echo >> $nome
 
echo "**** Arquivo Resolv.conf ****" >> $nome
 
echo >> $nome
 
cat /etc/resolv.conf >> $nome
 
echo >> $nome
 
echo "**** HOTSPOT ****" >> $nome
 
echo >> $nome
 
cat /usr/local/nocat/nocat.conf >> $nome
 
echo >> $nome
 
echo "**** DNS ****" >> $nome
 
echo  >> $nome
 
echo "/etc/bind/named.conf.local" >> $nome
 
cat /etc/bind/named.conf.local >> $nome
 
echo >> $nome
 
echo "/etc/bind/epsilon.sj.ifsc.edu.br" >> $nome
 
cat /etc/bind/epsilon.sj.ifsc.edu.br >> $nome
 
echo >> $nome
 
echo "/etc/bins/37.135.200.in-addr.arpa" >> $nome
 
cat /etc/bind/37.135.200.in-addr.arpa >> $nome
 
echo >> $nome
 
 
 
===Adicionado ao Crontab a execução do script de backup simples e a sincronização do relógio do servidor:===
 
  
 
  vim /etc/crontab
 
  vim /etc/crontab
  ### Backup 1 - Texto
+
  20 22   * * *   root   /backup/scripts/txback.sh bash
+
  ## Script para Relatorios, Backup e arquivo texto dos arquivos editados
  00 12   * * *   root   /backup/scripts/txback.sh bash
+
  21 22   * * * root     /backup/scripts/script.sh
 +
  01 12   * * * root     /backup/scripts/script.sh
 +
 
  00 12    * * 6  root    ntpdate ntp.cais.rnp.br
 
  00 12    * * 6  root    ntpdate ntp.cais.rnp.br
 
  00 17    * * 1  root    ntpdate ntp.cais.rnp.br
 
  00 17    * * 1  root    ntpdate ntp.cais.rnp.br
  
 +
===Script que desencadeia a execução de outros serviços===
  
 +
vim /backup/scripts/script.sh
  
===Configuração SNMP===
+
#!/bin/bash
 
+
   
vim /etc/snmp/snmpd.conf
+
  #Relatório Diário
 
+
  nome=relatorio-`date +%Y_%m_%d-%H_%M`
  rocommunity epsilon
+
touch /backup/scripts/$nome
  syscontact root
+
  bash /backup/scripts/relat.sh >> /backup/scripts/$nome
  syslocation IFSC-SJ - Laboratório Redes I
+
  cat /backup/scripts/$nome | mail -s "$nome" adminepsilon
 
+
  rm /backup/scripts/$nome
vim /etc/default/snmpd
+
   
 
 
  export MIBDIRS=/usr/share/snmp/mibs
 
  SNMPDRUN=yes
 
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 200.135.37.115'
 
TRAPDRUN=no
 
  TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid'
 
  SNMPDCOMPAT=yes
 
 
 
===Configuração no Cacti===
 
 
   
 
   
  Description: Servidor Epsilon
+
  ## Backup TXT dos arquivos
  Hostname: 200.135.37.115
+
  bash /backup/scripts/txback.sh
  Host Template: Generic SNMP-enabled
+
  a=`ls /backup/textos/ | tail -1`
Disable Host: not set
+
  cat /backup/textos/$a | mail -s "Backup `date +%Y_%m_%d-%H_%M`" adminepsilon
Downed Device Detection: SNMP
 
Ping Timeout Value: 400
 
Ping Retry Count: 1
 
  SNMP Version: Version 2
 
SNMP Community: epsilon
 
SNMP Port: 161
 
SNMP Timeout: 500
 
Maximum OID's Per Get Request: 10
 
Associated Graph Templates:
 
  *Host MIB - Logged in Users
 
  *Host MIB - Processes
 
  *ucd/net - CPU Usage
 
  *ucd/net - Load Average
 
  *ucd/net - Memory Usage
 
Associated Data Queries
 
  *SNMP - Interface Statistics
 
  *Unix - Get Mounted Partitions
 
 
 
Graph Trees
 
Parent Item: root
 
Tree Item Type: Host
 
Host: Servidor Epsilon: 200.135.37.115
 
Graph Grouping Style: Graph Template
 
 
 
===Firewall===
 
 
 
*Instalação do Firewall
 
 
   
 
   
sudo apt-get install iptables
 
 
*Definição : é o nome dado ao dispositivo de uma rede de computadores que tem por objetivo aplicar uma política de segurança a um determinado ponto de controle da rede. Sua função consiste em regular o tráfego de dados entre redes distintas e impedir a transmissão e/ou recepção de acessos nocivos ou não autorizados de uma rede para outra. Este conceito inclui os equipamentos de filtros de pacotes e de proxy de aplicações, comumente associados a redes TCP/IP.
 
 
* Script do firewall
 
 
* Configurado arquivo /etc/init.d/firewall
 
 
vim /etc/init.d/firewall
 
 
   
 
   
  #!/bin/bash
+
  ## Backup dos arquivos /etc /var/log /var/www /usr
  # A interface eth0 está na rede 200.135.37.115/24
+
  bash /backup/scripts/scback.sh
  IFACE="eth0"
+
  echo "Criado backup das pastas /etc /var/log /var/www /usr, neste momento no diretório /backup/arquivos" | mail -s "Backup de arquivos realizado" adminepsilon
# Ativa o roteamento entre as interfaces de rede
 
sysctl -w net.ipv4.ip_forward=1
 
# Limpar antigas configurações
 
iptables -P  INPUT ACCEPT
 
iptables -t filter -F
 
#Bloqueia todas as solicitações de entrada
 
iptables -P INPUT DROP
 
#Libera solicitações da interface loopback
 
iptables -A INPUT -i lo -j ACCEPT
 
#Libera solicitações que partiram do servidor local
 
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 
# Ativa o NAT para o acesso à Internet
 
iptables -t nat -A POSTROUTING -o ${IFACE} -j MASQUERADE
 
#Libera entrada pela porta 22 - SSH
 
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
 
#Libera entrada pela porta 443 - HTTPS
 
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
 
#Libera entrada pela porta 80 - WWW
 
iptables -A INPUT -p tcp --dport 80 --syn -j ACCEPT
 
#Libera porta 67 - DHCP
 
iptables -A INPUT -p udp --dport 67 -j ACCEPT
 
#Libera porta 53 - DNS
 
iptables -A INPUT -p udp --dport 53 -j ACCEPT
 
  
/etc/init.d/firewall bash
+
====Relatório diário====
  
===Servidor de Email===
+
  vim /backup/scripts/relat.sh
Escolhido pela equipe utilizar o RoundCube
 
 
 
* No Console
 
wget https://sourceforge.net/projects/roundcubemail/files/roundcubemail/0.3.1/roundcubemail-0.3.1.tar.gz/download
 
tar -zxvf roundcubemail-0.3.1.tar.gz
 
mkdir /var/www/webmail
 
mv roundcubemail-0.3.1 /var/www/webmail
 
 
 
*No navegador
 
equipepsilon.sj.ifsc.edu.br/webmail/roundcubemail-0.3.1/installer
 
START INSTALLATION
 
*Instalação dos pacotes faltantes:
 
apt-get install php5-mcrypt
 
apt-get install php5-gd
 
NEXT
 
General configuration
 
product_name: Webmail Epsilon
 
Database setup
 
chmod 777 temp/
 
chmod 777 logs/
 
Database type: MySQL
 
Database server: mail
 
Database user name: administrador
 
Database password: ********
 
IMAP Settings
 
sent_mbox: Enviados
 
trash_mbox: Lixeira
 
drafts_mbox: Rascunhos
 
Display settings & user prefs
 
language: pt_BR
 
CREATE CONFIG
 
 
 
* No Console
 
cd /var/www/webmail/config
 
  vim main.inc.php
 
* Colado informações geradas no navegador para este arquivo.
 
touch db.inc.php
 
* Colado informações geradas no navegador para este arquivo.
 
CONTINUE
 
chown www-data logs/ temp/
 
rm -rf /var/www/webmail/installer
 
 
 
 
 
 
 
===Configuração do Dhcp===
 
 
 
* configurado arquivo vi /etc/dhcp3/dhcpd.conf
 
 
default-lease-time 14400;
 
max-lease-time 86400;
 
#ouro
 
subnet 172.21.1.0 netmask 255.255.255.0 {
 
      range 172.21.1.2 172.21.1.253;
 
      option subnet-mask 255.255.255.0;
 
      option broadcast-address 172.20.1.255;
 
      option routers 172.20.1.254;
 
      option domain-name "ouro.epsilon.sj.ifsc.edu.br";
 
      option domain-name-servers 172.20.1.254;
 
}
 
#prata
 
subnet 172.22.2.0 netmask 255.255.255.0 {
 
      range 172.22.2.2 172.22.2.253;
 
      option subnet-mask 255.255.255.0;
 
      option broadcast-address 172.20.2.255;
 
      option routers 172.20.2.254;
 
      option domain-name "prata.epsilon.sj.ifsc.edu.br";
 
      option domain-name-servers 172.20.2.254;
 
}
 
#bronze
 
subnet 172.23.3.0 netmask 255.255.255.0 {
 
      range 172.23.3.2 172.23.3.253;
 
      option subnet-mask 255.255.255.0;
 
      option broadcast-address 172.20.3.255;
 
      option routers 172.20.3.254;
 
      option domain-name "bronze.epsilon.sj.ifsc.edu.br";
 
      option domain-name-servers 172.20.3.254;
 
}
 
#wifi
 
subnet 172.20.4.0 netmask 255.255.255.0 {
 
      range 172.20.4.1 172.20.4.253;
 
      option subnet-mask 255.255.255.0;
 
      option broadcast-address 172.20.4.255;
 
      option routers 172.20.4.254;
 
      option domain-name "wifi.epsilon.sj.ifsc.edu.br";
 
      option domain-name-servers 172.20.4.254;
 
}
 
 
 
===Script para monitoramento do servidor===
 
  
 
  #!/bin/bash
 
  #!/bin/bash
Linha 609: Linha 433:
 
  echo " "
 
  echo " "
  
===Configuração SSL (Transmissão segura de dados)===
+
====Backup TXT dos arquivos====
 
 
* Instalando pacotes necessários
 
apt-get install openssl ssl-cert
 
 
 
* Habilitado Módulo SSL no Apache2
 
a2enmod ssl
 
 
 
* Criando Certificado
 
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf apache.pem
 
 
 
* Movendo e mudando a permissão do arquivo
 
mv apache.pem /etc/apache2/apache.pem
 
chmod 600 /etc/apache2/apache.pem
 
 
 
* Criando arquivo VirtualHost
 
 
 
vim /etc/apache2/sites-enablesd/ssh
 
NameVirtualHost *:443
 
<VirtualHost *:443 >
 
        ServerName epsilon.sj.ifsc.edu.br
 
        ServerAdmin webmaster@localhost
 
        CustomLog /var/log/apache2/access.log combined
 
        SSLEngine on
 
        ServerSignature On
 
        SSLCertificateFile /etc/apache2/apache.pem
 
        DocumentRoot /var/www
 
        <Directory />
 
          Options FollowSymLinks
 
          AllowOverride None
 
        </Directory>
 
        <Directory /var/www/>
 
                Options Indexes FollowSymLinks MultiViews
 
                AllowOverride None
 
                Order allow,deny
 
                allow from all
 
        </Directory>
 
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
 
        <Directory "/usr/lib/cgi-bin">
 
                AllowOverride None
 
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
 
                Order allow,deny
 
                Allow from all
 
        </Directory>
 
        ErrorLog /var/log/apache2/error.log
 
        # Possible values include: debug, info, notice, warn, error, crit,
 
        # alert, emerg.
 
        LogLevel warn
 
        CustomLog /var/log/apache2/access.log combined
 
    Alias /doc/ "/usr/share/doc/"
 
    <Directory "/usr/share/doc/">
 
        Options Indexes MultiViews FollowSymLinks
 
        AllowOverride None
 
        Order deny,allow
 
        Deny from all
 
        Allow from 127.0.0.0/255.0.0.0 ::1/128
 
    </Directory>
 
</VirtualHost>
 
 
 
* Redirecionamento de portas
 
vim /etc/apache2/sites-enabled/000-default
 
<VirtualHost *:80>
 
    RedirectMatch ^/$ https://epsilon.sj.ifsc.edu.br/
 
</VirtualHost>
 
 
 
* Habilitando o site com SSH
 
a2ensite ssl
 
 
 
* Reiniciando o apache
 
/etc/init.d/apache2 restart
 
 
 
===Configuração do TC===
 
 
 
Script para configuração do tc:
 
 
 
/etc/init.d/contrltrafego
 
 
 
#!/bin/bash
 
TAXA=4000 # 4Mbps
 
UMPOR=`expr $TAXA / 100`
 
OURO=`expr $UMPOR \* 60` # 60% da taxa de transmissao
 
PRATA=`expr $UMPOR \* 25` # 25% da taxa de transmissao
 
BRONZE=`expr $UMPOR \* 15` # 15% da taxa de transmissao
 
DEV=eth1
 
tc qdisc del dev ${DEV} root 2>/dev/null
 
tc qdisc add dev ${DEV} root handle 1:0 htb default 12
 
tc class add dev ${DEV} parent 1:0 classid 1:1 htb rate ${TAXA}kbps ceil ${TAXA}kbps
 
tc class add dev ${DEV} parent 1:1 classid 1:10 htb rate ${OURO}kbps ceil ${TAXA}kbps
 
tc class add dev ${DEV} parent 1:1 classid 1:11 htb rate ${PRATA}kbps ceil ${TAXA}kbps
 
tc class add dev ${DEV} parent 1:1 classid 1:12 htb rate ${BRONZE}kbps ceil ${TAXA}kbps
 
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
 
# 172.21.1.0/24 REDE OURO
 
# 172.22.1.0/24 REDE PRATA
 
# 172.23.1.0/24 REDE BRONZE
 
tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 172.21.1.0/24 flowid 1:10
 
tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 172.22.1.0/24 flowid 1:11
 
tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 172.23.1.0/24 flowid 1:12
 
 
 
==Programação para Redes de Computadores==
 
 
 
=Trabalho Dividido por Datas=
 
 
 
=24/11/2009=
 
 
 
* Escolha do nome da equipe = Épsilon
 
 
 
* Instalação do Ubuntu Serv versão 9.10
 
 
 
* Particionamento do HD:
 
/dev/sda2 - 10GB - /
 
/dev/sda3 - 09GB - /home
 
 
 
==Atualização dos Pacotes==                       
 
* Usado o servidor DHCP do Laboratório Redes I para atualização dos serviços do servidor
 
 
 
sudo apt-get update
 
 
 
==Instalando ssh==
 
 
 
sudo apt-get install ssh
 
 
 
==Configuração de teste na interface eth0==
 
sudo ifconfig 200.135.37.115 netmask 255.255.255.0
 
 
 
==Discussão do desenvolvimento do projeto==
 
 
 
==Teste do GRAPHVIZ==
 
 
 
<graphviz>
 
 
digraph PI {
 
   
 
  CAB -> IER
 
  IER -> GAR
 
  GAR -> PRC
 
  IER -> PRC
 
}
 
</graphviz>
 
 
 
=25/11/2009=
 
 
 
==Apresentação do projeto, parte de IER==
 
 
 
==Configurado as interfaces==
 
 
eth0
 
address 200.135.37.115
 
netmask 255.255.255.0
 
network 200.135.37.0
 
broadcast 200.135.37.255
 
gateway 200.135.37.1
 
dns-nameserves 200.135.37.1
 
 
 
eth1
 
address 172.115.1.1
 
netmask 255.255.255.0
 
network 172.115.1.0
 
broadcast 172.115.1.255
 
 
 
eth1.1
 
address 192.168.1.220
 
netmask 255.255.255.0
 
 
 
==Configurado resolv.conf==
 
 
 
vim /etc/resolv.conf
 
domain REDES1
 
search REDES1
 
nameserver 200.135.37.65
 
 
 
 
 
 
 
=26/11/2009=
 
 
 
==Instalação de serviços==
 
 
 
* APACHE : é o servidor web mais ultilizado no mundo
 
 
sudo apt-get install apache2
 
 
 
* DHCP : ("Dynamic Host Configuration Protocol" ou "protocolo de configuração dinâmica de endereços de rede") permite que todos os micros da rede recebam suas configurações de rede automaticamente a partir de um servidor central, sem que você precise ficar configurando os endereços manualmente em cada um.
 
 
 
sudo apt-get install dhcpd3-server
 
 
 
* PHP : é uma linguagem de programação de domínio específico, atua no desenvolvimento web Seu propósito principal é de implementar soluções web velozes, simples e eficientes.
 
 
 
sudo apt-get install php5 php5-mysql
 
 
 
* MYSQL : é um sistema de banco de dados extremamente rápido e versátil. Permite construir aplicações interativas e complexas, tornando-se extremamente amigável e fácil de usar em comunhão com o PHP . A administração do MySql é via Web através do sistema phpMyAdmin.
 
 
 
sudo apt-get install mysql-server
 
 
 
* SNMP : O protocolo SNMP é utilizado por sistemas de gestão da rede para comunicar com os elementos da rede.
 
 
 
sudo apt-get install snmp snmpd
 
 
 
* DNS : é a sigla para Domain Name System (Sistema de Resolução de Nomes). Trata-se de um recurso usado em redes TCP/IP (o protocolo utilizado na internet e na grande maioria das redes) que permite acessar computadores sem que o usuário ou sem que o próprio computador tenha conhecimento de seu endereço IP.
 
 
 
sudo apt-get install bind9
 
 
 
* POSTFIX e IMAP : O Postfix é um agente de transferência de emails (MTA), um software livre para envio e entrega de emails. Rápido e fácil de administrar, é uma alternativa segura ao Sendmail, muito utilizado em servidores UNIX. O IMAP é uma técnica de obtenção de e-mails de um servidor de correio usando um cliente de correio electrónico adequado.
 
 
 
sudo apt-get install postfix dovecot-imapd
 
 
* CACTI : é uma ferramenta que recolhe e exibe informações sobre o estado de uma rede de computadores através de gráficos. Foi desenvolvido para ser flexível de modo a se adaptar facilmente a diversas necessidades, bem como ser robusto e fácil de usar. Monitora o estado de elementos de rede e programas bem como largura de banda utilizada e uso de CPU.
 
 
 
sudo apt-get install cacti
 
 
 
==Configuração DNS==
 
  
configurado arquivo /etc/bind/named.conf.local
+
  vim /backup/scripts/txback.sh
 
 
zone "epsilon.sj.ifsc.edu.br" {
 
  type master;
 
  file "/etc/bind/epsilon.sj.ifsc.edu.br";
 
};
 
zone "37.135.200.in-addr.arpa" {
 
  type master;
 
  file "/etc/bind/37.135.200.in-addr.arpa";
 
};
 
 
configurado arquivo /etc/bind/epsilon.sj.ifsc.edu.br
 
 
 
$TTL    86400
 
; Start of Authority: início de autoridade
 
@    IN    SOA    dns1.epsilon.sj.ifsc.edu.br. epsilon.sj.ifsc.edu.br. (
 
  2009112600        ; Serial
 
  1d        ; Refresh
 
  4h        ; Retry
 
  1w        ; Expire
 
  1d )    ; Negative Cache TTL
 
;
 
; Name Server: servidores DNS
 
@    IN    NS    dns1
 
@    IN    MX    0 mail
 
@    IN    A  200.135.37.115
 
;
 
; Address: endereço
 
  dns1    IN    A    200.135.37.115
 
mail    IN    A    200.135.37.115
 
www    IN    A    200.135.37.115
 
;
 
; Canonical Name: "epsilon"
 
web    IN    CNAME    www
 
 
 
configurado arquivo /etc/bind/37.135.200.in-addr.arpa
 
 
$TTL    86400
 
; Start of Authority: início de autoridade
 
@    IN    SOA    dns1.epsilon.sj.ifsc.edu.br. epsilon.sj.ifsc.edu.br. (
 
  2009112601        ; Serial
 
  1d        ; Refresh
 
  4h        ; Retry
 
  1w        ; Expire
 
  1d )    ; Negative Cache TTL
 
;
 
; Name Server: servidores DNS
 
@    IN    NS    dns1.epsilon.sj.ifsc.edu.br.
 
;
 
; Address: endereço
 
1        IN    PTR    dns1.epsilon.sj.ifsc.edu.br.
 
3        IN    PTR    mail.epsilon.sj.ifsc.edu.br.
 
100    IN    PTR    www.epsilon.sj.ifsc.edu.br.
 
 
 
==Editado o arquivo /etc/network/interfaces==
 
 
 
# The loopback network interface
 
auto lo
 
iface lo inet loopback
 
# Interface externa
 
auto eth0
 
iface eth0 inet static
 
        address 200.135.37.115
 
        netmask 255.255.255.0
 
        network 200.135.37.0
 
        broadcast 200.135.37.255
 
        gateway 200.135.37.1
 
        # dns-* options are implemented by the resolvconf package, if installed
 
        dns-nameservers 200.135.37.1
 
# Interface Interna
 
auto eth1
 
iface eth1 inet static
 
        address 172.20.1.1
 
        netmask 255.255.255.0
 
        network 172.20.1.0
 
# Interface Virtual
 
auto vlan1
 
iface vlan1 inet static
 
        address 192.168.1.220
 
        netmask 255.255.255.0
 
        vlan_raw_device eth1
 
# Vlan 501
 
auto vlan501
 
iface vlan501 inet static
 
        address 172.21.1.1
 
          netmask 255.255.255.0
 
        vlan_raw_device eth1
 
# Vlan 502
 
auto vlan502
 
iface vlan502 inet static
 
        address 172.22.1.1
 
        netmask 255.255.255.0
 
        vlan_raw_device eth1
 
# Vlan 503
 
auto vlan503
 
iface vlan503 inet static
 
        address 172.23.1.1
 
        netmask 255.255.255.0
 
        vlan_raw_device eth1
 
# Vlan 504
 
auto vlan504
 
iface vlan504 inet static
 
        address 172.24.1.1
 
        netmask 255.255.255.0
 
        vlan_raw_device eth1
 
 
 
==Criado um script simples para salvar configurações já setadas até o momento:==
 
  
 
  #!/bin/bash
 
  #!/bin/bash
 +
echo "Criando arquivo de backup txt..."
 
  nome=backup-txt-`date +%Y_%m_%d-_%H_%M`.txt
 
  nome=backup-txt-`date +%Y_%m_%d-_%H_%M`.txt
 
  touch $nome
 
  touch $nome
 +
sleep 2
 
  echo "**** INTERFACES DE REDE ****" >> $nome
 
  echo "**** INTERFACES DE REDE ****" >> $nome
 
  echo >> $nome
 
  echo >> $nome
Linha 959: Linha 469:
 
  cat /etc/bind/37.135.200.in-addr.arpa >> $nome
 
  cat /etc/bind/37.135.200.in-addr.arpa >> $nome
 
  echo >> $nome
 
  echo >> $nome
 +
echo "**** SNMP ****" >> $nome
 +
echo >> $nome
 +
cat /etc/snmp/snmpd.conf >> $nome
 +
echo >> $nome
 +
echo "**** CRONTAB ****" >> $nome
 +
echo >> $nome
 +
cat /etc/crontab >> $nome
 +
echo >> $nome
 +
echo >> $nome
 +
echo "**** FIREWALL ****" >> $nome
 +
echo >> $nome
 +
cat /etc/init.d/firewall >> $nome
 +
echo >> $nome
 +
mv $nome /backup/textos
 +
echo "Arquivo txt de backup criado com o nome de $nome."
 +
sleep 1
 +
echo "Este arquivo está salvo no diretorio /backup/textos"
  
==Adicionado ao Crontab a execução do script de backup simples e a sincronização do relógio do servidor:==
+
====Backup dos arquivos====
  
  vim /etc/crontab
+
  vim /backup/scripts/
  ### Backup 1 - Texto
+
 
  20 22    * * *  root    /backup/scripts/txback.sh bash
+
  #!/bin/bash
  00 12    * * *  root    /backup/scripts/txback.sh bash
+
DATA=`date +%Y%m%d-%H%M`
00 12    * * 6  root    ntpdate ntp.cais.rnp.br
+
ARQUIVO="backuparquivos-$DATA"
00 17    * * 1  root    ntpdate ntp.cais.rnp.br
+
  DIRETORIOS="/etc /usr /var/log /var/www"
 +
  tar zcf /backup/arquivos/$ARQUIVO $DIRETORIOS
  
=27/11/2009=
 
==Configuração Cacti==
 
 
===Configuração SNMP===
 
===Configuração SNMP===
  
Linha 989: Linha 515:
  
 
===Configuração no Cacti===
 
===Configuração no Cacti===
====Devices Servidor Epsilon====
+
 
  Description: Servidor Epsilon
 
  Description: Servidor Epsilon
 
  Hostname: 200.135.37.115
 
  Hostname: 200.135.37.115
Linha 1 011: Linha 537:
 
   *SNMP - Interface Statistics  
 
   *SNMP - Interface Statistics  
 
   *Unix - Get Mounted Partitions  
 
   *Unix - Get Mounted Partitions  
====Graph Trees====
+
 
 +
Graph Trees
 
  Parent Item: root
 
  Parent Item: root
 
  Tree Item Type: Host
 
  Tree Item Type: Host
Linha 1 017: Linha 544:
 
  Graph Grouping Style: Graph Template
 
  Graph Grouping Style: Graph Template
  
==Firewall==
+
===Firewall===
  
 
*Instalação do Firewall
 
*Instalação do Firewall
Linha 1 025: Linha 552:
 
*Definição : é o nome dado ao dispositivo de uma rede de computadores que tem por objetivo aplicar uma política de segurança a um determinado ponto de controle da rede. Sua função consiste em regular o tráfego de dados entre redes distintas e impedir a transmissão e/ou recepção de acessos nocivos ou não autorizados de uma rede para outra. Este conceito inclui os equipamentos de filtros de pacotes e de proxy de aplicações, comumente associados a redes TCP/IP.  
 
*Definição : é o nome dado ao dispositivo de uma rede de computadores que tem por objetivo aplicar uma política de segurança a um determinado ponto de controle da rede. Sua função consiste em regular o tráfego de dados entre redes distintas e impedir a transmissão e/ou recepção de acessos nocivos ou não autorizados de uma rede para outra. Este conceito inclui os equipamentos de filtros de pacotes e de proxy de aplicações, comumente associados a redes TCP/IP.  
  
===Script do firewall===
+
* Script do firewall
  
 
* Configurado arquivo /etc/init.d/firewall
 
* Configurado arquivo /etc/init.d/firewall
Linha 1 036: Linha 563:
 
  # Ativa o roteamento entre as interfaces de rede
 
  # Ativa o roteamento entre as interfaces de rede
 
  sysctl -w net.ipv4.ip_forward=1
 
  sysctl -w net.ipv4.ip_forward=1
  # Limpar antigas configurações
+
  #limpar antigas configurações
 
  iptables -P  INPUT ACCEPT
 
  iptables -P  INPUT ACCEPT
 
  iptables -t filter -F
 
  iptables -t filter -F
 +
iptables -t nat -F
 
  #Bloqueia todas as solicitações de entrada
 
  #Bloqueia todas as solicitações de entrada
 
  iptables -P INPUT DROP
 
  iptables -P INPUT DROP
Linha 1 057: Linha 585:
 
  #Libera porta 53 - DNS
 
  #Libera porta 53 - DNS
 
  iptables -A INPUT -p udp --dport 53 -j ACCEPT
 
  iptables -A INPUT -p udp --dport 53 -j ACCEPT
 +
#Libera o acesso ao Hotspot
 +
iptables -I INPUT 3 -p tcp -i vlan501 --dport 5280 -j ACCEPT
  
 
  /etc/init.d/firewall bash
 
  /etc/init.d/firewall bash
  
=30/11/2009=
+
===Servidor de Email===
==Servidor de Email==
 
 
Escolhido pela equipe utilizar o RoundCube
 
Escolhido pela equipe utilizar o RoundCube
  
Linha 1 104: Linha 633:
 
  rm -rf /var/www/webmail/installer
 
  rm -rf /var/www/webmail/installer
  
==Configuração das Vlans no Switch==
 
  
telnet 192.168.1.241
 
create vlan epsilonouro tag 501
 
create vlan epsilonprata tag 502
 
create vlan epsilonbronze tag 503
 
create vlan epsilonap tag 504
 
config vlan epsilonouro add tagged 1:21-26
 
config vlan epsilonprata add tagged 1:21-26
 
config vlan epsilonbronze add tagged 1:21-26
 
config vlan epsilonap add tagged 1:21-26
 
save
 
  
nao é necessário deixar o Switch configurado o mesmo deve ser ativo via telnet no momento do cadastro do cliente
+
===Configuração do Dhcp===
  
==Configuração do Dhcp==
+
* configurado arquivo /etc/dhcp3/dhcpd.conf
  
* configurado arquivo vi /etc/dhcp3/dhcpd.conf  
+
vim /etc/dhcp3/dhcpd.conf
 
   
 
   
 
  default-lease-time 14400;
 
  default-lease-time 14400;
 
  max-lease-time 86400;
 
  max-lease-time 86400;
  #ouro
+
  #wifi   
  subnet 172.21.1.0 netmask 255.255.255.0 {
+
  subnet 10.10.0.0 netmask 255.255.255.0 {
       range 172.21.1.2 172.21.1.253;
+
       range 10.10.0.2 10.10.0.254;
 
       option subnet-mask 255.255.255.0;
 
       option subnet-mask 255.255.255.0;
       option broadcast-address 172.20.1.255;
+
       option broadcast-address 10.10.0.255;
       option routers 172.20.1.254;
+
       option routers 10.10.0.1;
       option domain-name "ouro.epsilon.sj.ifsc.edu.br";
+
       option domain-name "wifi.epsilon.sj.ifsc.edu.br";
       option domain-name-servers 172.20.1.254;
+
       option domain-name-servers 10.10.0.1;
 
  }
 
  }
  #prata
+
   
  subnet 172.22.2.0 netmask 255.255.255.0 {
+
  subnet 192.168.0.0 netmask 255.255.255.0 {
      range 172.22.2.2 172.22.2.253;
+
        range 192.168.0.2 192.168.0.60;
      option subnet-mask 255.255.255.0;
+
        option subnet-mask 255.255.255.0;
      option broadcast-address 172.20.2.255;
+
        option broadcast-address 192.168.0.255;
      option routers 172.20.2.254;
+
        option routers 200.135.37.115;
      option domain-name "prata.epsilon.sj.ifsc.edu.br";
+
        option domain-name "epsilon@sj.ifsc.edu.br";
      option domain-name-servers 172.20.2.254;
+
        option domain-name-servers 200.135.37.115;
}
+
   
#bronze
 
subnet 172.23.3.0 netmask 255.255.255.0 {
 
      range 172.23.3.2 172.23.3.253;
 
      option subnet-mask 255.255.255.0;
 
      option broadcast-address 172.20.3.255;
 
      option routers 172.20.3.254;
 
      option domain-name "bronze.epsilon.sj.ifsc.edu.br";
 
      option domain-name-servers 172.20.3.254;
 
  }
 
#wifi
 
subnet 172.20.4.0 netmask 255.255.255.0 {
 
      range 172.20.4.1 172.20.4.253;
 
      option subnet-mask 255.255.255.0;
 
      option broadcast-address 172.20.4.255;
 
      option routers 172.20.4.254;
 
      option domain-name "wifi.epsilon.sj.ifsc.edu.br";
 
      option domain-name-servers 172.20.4.254;
 
 
  }
 
  }
  
==Hotspot==
+
===Configuração SSL (Transmissão segura de dados)===
 
 
* Baixado nova versão do Hostpot
 
wget http://www.sj.ifsc.edu.br/~msobral/IER/pi/NoCatAuth-nightly.tar.gz
 
 
 
Salvo no diretorio /usr/local/NoCatAuth-nightly
 
 
 
=01/12/2009=
 
 
 
==Execução da parte física de Cabeamento==
 
 
 
* Padrão de Cabeamento: 568A.
 
 
 
* Instalado PathPanel do Armário Secundário.
 
 
 
* Instalado PathPanel que liga o Switch no Armário Principal.
 
 
 
* Lançados dois cabos entre o Armário Principal e o Secundário.
 
 
 
* Lançados dois cabos do Armário Secundário para as tomadas.
 
 
 
* Instaladas duas tomadas e colocados os espelhos.
 
 
 
* Identificados os cabos, as portas e tomadas.
 
 
 
* Feita a planta baixa da distribuição das tomadas dos estandes, armário de telecomunicações, tubulação e cabos.
 
 
 
* Feita a vista frontal do armário indicando a utilização de cada porta.
 
 
 
* Realizados testes de certificação nos cabos e alguns apresentaram erros. Serão refeitos.
 
 
 
==Script para monitoramento do servidor==
 
 
 
#!/bin/bash
 
data=`date`
 
echo " "
 
echo "RELATORIO DIARIO SERV EPSILON"
 
echo " "
 
a=`ifconfig -a`
 
echo "-------------------------------------------------"
 
echo "Configuracoes de Rede:"
 
echo "-------------------------------------------------"
 
echo " "
 
echo "$a"
 
echo " "
 
echo "-------------------------------------------------"
 
echo "Roteamento"
 
b=`route -n`
 
echo "-------------------------------------------------"
 
echo " "
 
echo "$b"
 
echo " "
 
echo "-------------------------------------------------"
 
echo "Firewall"
 
echo "-------------------------------------------------"
 
echo " "
 
c=`iptables -L`
 
echo " "
 
echo "$c"
 
echo " "
 
echo "-------------------------------------------------"
 
echo "Processador"
 
echo "-------------------------------------------------"
 
echo " "
 
cpu=`cat /proc/cpuinfo | grep name | cut -d ":" -f2`
 
echo "Processador: $cpu"
 
usocpu=`top -b -n1 | grep Cpu`
 
echo " "
 
echo "Uso do processador: $usocpu"
 
echo " "
 
echo "-------------------------------------------------"
 
echo "Espaco em disco"
 
echo "-------------------------------------------------"
 
echo " "
 
a=`df`
 
echo "$a"
 
echo " "
 
echo "-------------------------------------------------"
 
echo "Memoria"
 
echo "-------------------------------------------------"
 
echo " "
 
a=`free | grep Mem | cut -d " " -f 9`
 
memoriatotal=`echo "scale=2;$a/1024" | bc`
 
echo "Memoria Total = $memoriatotal Mb"
 
echo " "
 
a=`free | grep Mem | cut -d " " -f 14`
 
memoriausada=`echo "scale=2;$a/1024" | bc`
 
echo "Memoria Usada = $memoriausada Mb"
 
echo " "
 
a=`free | grep Mem | cut -d " " -f 20`
 
memorialivre=`echo "scale=2;$a/1024" | bc`
 
echo "Memoria Livre = $memorialivre Mb"
 
echo " "
 
a=`free | grep Swap | cut -d " " -f 7`
 
swaptotal=`echo "scale=2;$a/1024" | bc`
 
echo "Swap Total= $swaptotal Mb"
 
echo " "
 
a=`free | grep Swap | cut -d " " -f 13`
 
swapusada=`echo "scale=2;$a/1024" | bc`
 
echo "Swap Usada= $swapusada Mb"
 
echo " "
 
a=`free | grep Swap | cut -d " " -f 17`
 
swaplivre=`echo "scale=2;$a/1024" | bc`
 
echo "Swap Livre= $swaplivre Mb"
 
echo " "
 
echo "-------------------------------------------------"
 
echo "Usuarios"
 
echo "-------------------------------------------------"
 
echo " "
 
usuariosnum=`w |grep -v user | grep -v USER|wc -l`
 
usuarios=`last -a | cut -d " " -f 1 | head -7 | grep -v reboot |grep -v tmp`
 
echo "Usuarios conectados no momento: $usuariosnum"
 
echo "Ultimos usuarios conectados:"
 
echo "$usuarios"
 
echo " "
 
echo "--------------------------------------------------"
 
echo "Processos"
 
echo "--------------------------------------------------"
 
echo " "
 
processosnum=`ps -A f | wc -l`
 
echo "Estavam sendo executados $processosnum processos:"
 
echo " "
 
processos=`ps -A f`
 
echo "$processos"
 
echo " "
 
 
 
=02/12/2009=
 
 
 
==Configuração SSL (Transmissão segura de dados)==
 
  
 
* Instalando pacotes necessários
 
* Instalando pacotes necessários
Linha 1 361: Linha 734:
 
  /etc/init.d/apache2 restart
 
  /etc/init.d/apache2 restart
  
==Configurado Hotspot==
+
===Configuração do TC===
 
 
cd NoCatAuth-nightly
 
make gateway
 
make PREFIX=/usr/local/nocat/authserv authserv
 
 
 
Após esses comandos, o "gateway" estará instalado em /usr/local/nocat, e o
 
"authserv" estará em "/usr/local/nocat/authserv". Execute em seguida o seguinte
 
comando:
 
 
 
make PREFIX=/usr/local/nocat/authserv pgpkey
 
 
 
Editado o arquivo de configuração do "gateway":
 
/usr/local/nocat/nocat,conf. Atente para os seguintes parâmetros de configuração:
 
 
 
AuthServiceAddr endereço_IP_do_gateway
 
LogoutURL      http://$AuthServiceAddr/logout.html
 
AllowedWebHosts endereço_IP_do_gateway
 
RouteOnly 1
 
 
 
Executado o gateway, usando este comando:
 
 
 
/usr/local/nocat/bin/gateway
 
 
 
Editado o arquivo de configuração do "authserv":
 
/usr/local/nocat/authserv/nocat,conf. Atente para os seguintes parâmetros de
 
configuração:
 
 
 
DocumentRoot    /usr/local/nocat/authserv/htdocs
 
DataSource      Passwd
 
UserFile            /usr/local/nocat/authserv/etc/passwd
 
GroupUserFile      /usr/local/nocat/authserv/etc/group
 
GroupAdminFile    /usr/local/nocat/authserv/etc/groupadm
 
LocalGateway    endereço_IP_do_gateway
 
 
 
Configurado o Apache para que possa executar o script CGI do authserv. A
 
seguinte linha foi incluída na configuração do servidor default do Apache
 
 
Include /usr/local/nocat/authserv/httpd.conf
 
 
 
Copiado o arquivo /usr/local/nocat/authserv/trustedkeys.gpg para o
 
diretório /usr/local/nocat/pgp. Em seguida executado:
 
 
 
chown -R www-data /usr/local/nocat/authserv/trustedkeys.gpg
 
chown -R www-data /usr/local/nocat/authserv/pgp
 
chmod 600 chown -R www-data /usr/local/nocat/pgp
 
 
 
Adicionado usuários ao authserv
 
 
 
/usr/local/nocat/authserv/bin/admintool -c usuário senha
 
/usr/local/nocat/authserv/bin/admintool -a usuário Nome_de_um_grupo
 
 
 
Testado a instalação.Colocamos um computador na rede protegida (rede interna
 
do NoCat), e acessamos algum sítio. Vimos a página de login do NoCat.
 
Forneçemos o usuário e senha cadastrados no passo 9, e vimos o NoCat autorizar
 
o acesso.
 
 
 
==Instalaçao do Perl==
 
 
 
apt-get install libapache2-mod-perl2 libnet-netmask-perl
 
 
 
=04/12=
 
 
 
*Início da criação da página da equipe na web
 
 
 
*Refeito a parte de cabeamento estruturado que apresentava erro
 
 
 
*Testado toda a parte  de cabeamento , está em funcionamento ok
 
 
 
=07/12=
 
 
 
*Continuação das páginas web
 
 
 
*Instalado PhpMyAdmin : é para administração do MySQL(banco de dados) sobre a Web.Com o phpMyAdmin instalado no servidor podemos criar banco de dados, copiar tabelas, criar, apagar e editar. Facil configuração e administração.
 
 
 
apt-get install phpMyAdmin
 
 
 
*Iniciado Diagrama de Redes de IER
 
 
 
=08/12=
 
 
 
*Feito no Laboratório de Meios o cabo que liga o Path Panel ao Acess Point.
 
 
 
*Feito os testes de certificação dos cabos não apresentam erros.
 
 
 
*Continuação das páginas web
 
 
 
*Instalado Acess Point no Laborátorio de Meios
 
 
 
*Criado através do phpMyAdmim o banco de dados "redeventos" e as tabelas: "usuarios", "estandes" e "usuarioswifi"
 
 
 
Tabela "estandes" possui as colunas: "eID", "Usuario_uID", "eNome" e "ePortas"
 
Tabela "usuarios" possiu as colunas: "uid", "uname" e "usenha"
 
Tabela "usuarioswifi" possui as colunas: "wID", "Estandes_eID", "wLogin" e "wSenha"
 
 
 
==Configuração do TC==
 
  
 
Script para configuração do tc:
 
Script para configuração do tc:
  
/etc/init.d/contrltrafego
+
/etc/init.d/cntrltrafego
  
 
  #!/bin/bash
 
  #!/bin/bash
Linha 1 481: Linha 759:
 
  # 172.22.1.0/24 REDE PRATA
 
  # 172.22.1.0/24 REDE PRATA
 
  # 172.23.1.0/24 REDE BRONZE
 
  # 172.23.1.0/24 REDE BRONZE
  tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 172.21.1.0/24 flowid 1:10
+
  tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.0/18 flowid 1:10
  tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 172.22.1.0/24 flowid 1:11
+
  tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.64.0/18 flowid 1:11
  tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 172.23.1.0/24 flowid 1:12
+
  tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.128.0/18 flowid 1:12
  
=09/12=
+
==Programação para Redes de Computadores==
 
 
*Esclarecimento sobre configuração das Vlans e classes ouro , prata e bronze.
 
 
 
*Será estabelecido uma faixa de IP para cada categoria , dentro de cada faixa de IP será definido uma subrede que será designada para cada Vlan , sendo assim posso ter vários estandes com a mesma categoria e com Vlans diferentes.
 
 
 
*Reconfigurado etc/network/interfaces
 
 
 
# Interface externa
 
auto eth0
 
iface eth0 inet static
 
address 200.135.37.115
 
netmask 255.255.255.0
 
network 200.135.37.0
 
broadcast 200.135.37.255
 
gateway 200.135.37.1
 
dns-nameservers 200.135.37.1
 
# Interface Interna
 
auto eth1
 
iface eth1 inet static
 
address 172.20.1.1
 
netmask 255.255.255.0
 
network 172.20.1.0
 
broadcast 172.20.1.255
 
#Interface Virtual
 
auto vlan1
 
iface vlan1 inet static
 
address 192.168.1.220
 
netmask 255.255.255.0
 
vlan_raw_device eth1
 
#Vlan 501 - AP
 
auto vlan501
 
iface vlan501 inet static
 
address 172.24.1.1
 
netmask 255.255.255.0
 
vlan_raw_device eth1
 
 
 
*Deverá ser reconfigurado o DHCP com as devidas Vlans
 
 
 
*Configurado AP e estado o mesmo está ok.
 
 
 
==Feito o dagrama de rede parte física:==
 
 
 
[[Imagem:Diagramacerto.png]]
 
 
 
=10/12=
 
 
 
==Refeito a configuração da Vlan no Switch do Laboratório de Redes e de Meios==
 
 
 
*Laboratório de Redes
 
 
 
telnet 192.168.1.241
 
create vlan epsilonap tag 501
 
config vlan epsilonap add tagged 26
 
config vlan epsilonap add tagged 24
 
save
 
 
 
*Laboratório de Meios
 
 
 
telnet 192.168.1.240
 
create vlan epsilonap tag 501
 
config vlan epsilonap add untagged 24
 
config vlan epsilonap add tagged 26
 
save
 
 
 
*Fica configurado somente a Vlan do AP, as demais Vlas são configuradas na hora do cadastro atravez do script. Lembradoque os clientes Wifi usam a mesma vlan , já os clientes dos estades usam Vlans diferentes para isolar sua rede.
 
 
 
==Diagrama de Rede da parte lógica==
 
 
 
[[Imagem:Diagrama1.png]]
 
 
 
==Reconfigurado aquivo do Nocat==
 
 
 
vi /usr/local/nocat/nocat.conf
 
#linha 150
 
InternalDevice vlan501
 
 
 
*Testado Nocat ok
 
 
 
*Temos que reconfigurar Dhcp
 
 
 
=11/12=
 
 
 
* Continuação das paginas web
 
 
 
* Esclarecimento e planejamento dos scripts
 
 
 
=14/12=
 
 
 
* Efetuado testes na rede física de cabeamento
 
 
 
* Efetuado testes no AP
 
 
 
* Continuação das páginas web
 
  
=15/12=
+
* Desenvolvido script para configurar as interfaces e dhcp no servidor
  
* Apresentação de Cabeamento Estruturado
+
* Vlans no switch são criadas via telnet através da aplicação php
  
* Continuação das páginas web
+
* Usuários da rede Wifi são configurados no hotspot através da aplicação php

Edição atual tal como às 13h55min de 17 de dezembro de 2009

Soluçoes encontradas para o projeto

Cabeamento Estruturado

Execução da parte física de Cabeamento

  • Padrão de Cabeamento: 568A.
  • Instalado PathPanel do Armário Secundário.
  • Instalado PathPanel que liga o Switch no Armário Principal.
  • Instalado o AP no armário principal.
  • Feito no Laboratório de Meios o cabo que liga o Path Panel ao Acess Point.
  • Lançados dois cabos entre o Armário Principal e o Secundário.
  • Lançados dois cabos do Armário Secundário para as tomadas.
  • Instaladas duas tomadas e colocados os espelhos.
  • Feito os cordões de manobra para interligações.
  • Identificados os cabos, as portas e tomadas no Laboratório de Meios e no Laboratório de Redes I.
  • Feita a planta baixa da distribuição das tomadas dos estandes, armário de telecomunicações, tubulação e cabos.
  • Feita a vista frontal do armário indicando a utilização de cada porta.
  • Feita a lista de materiais.
  • Realizados testes de certificação nos cabos e todos ok.

Instalação de Equipamentos de Rede

  • Instalado o switch D-Link 3526 no laboratório de Meios.
  • Instalar os Access Points, definindo suas configurações de rede.
  • Configurado a VLAN do AP , pois as demais serão configuradas pelo script.

Laboratório de Redes

telnet 192.168.1.241
create vlan epsilonap tag 501
config vlan epsilonap add tagged 26
config vlan epsilonap add tagged 24
save

Laboratório de Meios

telnet 192.168.1.240
create vlan epsilonap tag 501
config vlan epsilonap add untagged 24
config vlan epsilonap add tagged 26
save
  • Fica configurado somente a Vlan do AP, as demais Vlas são configuradas na hora do cadastro atravez do script. Lembra do que os clientes Wifi usam a mesma vlan , já os clientes dos estades usam Vlans diferentes para isolar sua rede.

Diagrama de Rede Parte lógica

Diagrama1.png

Diagrama de Rede Parte Física

Diagramacerto.png

Configurado Nocat

  • Baixado versão do Hostpot
wget http://www.sj.ifsc.edu.br/~msobral/IER/pi/NoCatAuth-nightly.tar.gz

Salvo no diretorio /usr/local/NoCatAuth-nightly

cd NoCatAuth-nightly
make gateway
make PREFIX=/usr/local/nocat/authserv authserv

Após esses comandos, o "gateway" estará instalado em /usr/local/nocat, e o "authserv" estará em "/usr/local/nocat/authserv". Execute em seguida o seguinte comando:

make PREFIX=/usr/local/nocat/authserv pgpkey

Editado o arquivo de configuração do "gateway": /usr/local/nocat/nocat.conf. Atente para os seguintes parâmetros de configuração:

AuthServiceAddr 200.135.37.115
LogoutURL       http://$AuthServiceAddr/logout.html
AllowedWebHosts 200.135.37.115
RouteOnly 1

Executado o gateway, usando este comando:

/usr/local/nocat/bin/gateway

Editado o arquivo de configuração do "authserv": /usr/local/nocat/authserv/nocat.conf. Atente para os seguintes parâmetros de configuração:

DocumentRoot    /usr/local/nocat/authserv/htdocs
DataSource      Passwd
UserFile            /usr/local/nocat/authserv/etc/passwd
GroupUserFile       /usr/local/nocat/authserv/etc/group
GroupAdminFile    /usr/local/nocat/authserv/etc/groupadm
LocalGateway    200.135.37.115
InternalDevice vlan501

Configurado o Apache para que possa executar o script CGI do authserv. A seguinte linha foi incluída na configuração do servidor default do Apache

Include /usr/local/nocat/authserv/httpd.conf

Copiado o arquivo /usr/local/nocat/authserv/trustedkeys.gpg para o diretório /usr/local/nocat/pgp. Em seguida executado:

chown -R www-data /usr/local/nocat/authserv/trustedkeys.gpg 
chown -R www-data /usr/local/nocat/authserv/pgp
chmod 600 chown -R www-data /usr/local/nocat/pgp

Adicionado usuários ao authserv

/usr/local/nocat/authserv/bin/admintool -c usuário senha
/usr/local/nocat/authserv/bin/admintool -a usuário Nome_de_um_grupo

Testado a instalação.Colocamos um computador na rede protegida (rede interna do NoCat), e acessamos alguma pagina web. Vimos a página de login do NoCat. Fornecemos o usuário e senha cadastrados no passo 9, e vimos o NoCat autorizar o acesso.

Gerencia de Rede

Sistema Operacional

  • Instalação do Ubuntu Serv versão 9.10 Enterprise
  • Particionamento do HD:
/dev/sda2 - 10GB - /
/dev/sda3 - 09GB - /home
  • Usuários adminepsilon e adminepsilon2

Atualização dos Pacotes

  • Usado o servidor DHCP do Laboratório Redes I para atualização dos serviços do servidor
sudo apt-get update

Instalando ssh

sudo apt-get install ssh


Configurado as interfaces

# Interface externa
auto eth0
iface eth0 inet static
address 200.135.37.115
netmask 255.255.255.0
network 200.135.37.0
broadcast 200.135.37.255
gateway 200.135.37.1
dns-nameservers 200.135.37.1
# Interface Interna
auto eth1
iface eth1 inet static
address 172.24.1.1
netmask 255.255.255.0
network 172.20.1.0
broadcast 172.20.1.255
#dns-nameservers 200.135.37.1
#gateway 200.135.37.1
# Interface Virtual
auto vlan1
iface vlan1 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
vlan_raw_device eth1
#Vlan 501 - AP
auto vlan501
iface vlan501 inet static
address 10.10.0.1
netmask 255.255.255.0
vlan_raw_device eth1 
#Vlan 599 - teste 
auto vlan599
iface vlan599 inet static
address 192.168.0.250
netmask 255.255.255.0
vlan_raw_device eth2

Configurado resolv.conf

vim /etc/resolv.conf
domain REDES1
search REDES1
nameserver 200.135.37.65

Rotas

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
200.135.37.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
172.24.1.0      0.0.0.0         255.255.255.0   U     0      0        0 eth1
10.10.0.0       0.0.0.0         255.255.255.0   U     0      0        0 vlan501
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 vlan1
0.0.0.0         200.135.37.1    0.0.0.0         UG    100    0        0 eth0

Instalação de serviços

  • APACHE : é o servidor web mais utilizado no mundo
sudo apt-get install apache2
  • DHCP : ("Dynamic Host Configuration Protocol" ou "protocolo de configuração dinâmica de endereços de rede") permite que todos os micros da rede recebam suas configurações de rede automaticamente a partir de um servidor central, sem que você precise ficar configurando os endereços manualmente em cada um.
sudo apt-get install dhcpd3-server
  • PHP : é uma linguagem de programação de domínio específico, atua no desenvolvimento web Seu propósito principal é de implementar soluções web velozes, simples e eficientes.
sudo apt-get install php5 php5-mysql
  • MYSQL : é um sistema de banco de dados extremamente rápido e versátil. Permite construir aplicações interativas e complexas, tornando-se extremamente amigável e fácil de usar em comunhão com o PHP . A administração do MySql é via Web através do sistema phpMyAdmin.
sudo apt-get install mysql-server
  • SNMP : O protocolo SNMP é utilizado por sistemas de gestão da rede para comunicar com os elementos da rede.
sudo apt-get install snmp snmpd
  
  • DNS : é a sigla para Domain Name System (Sistema de Resolução de Nomes). Trata-se de um recurso usado em redes TCP/IP (o protocolo utilizado na internet e na grande maioria das redes) que permite acessar computadores sem que o usuário ou sem que o próprio computador tenha conhecimento de seu endereço IP.
sudo apt-get install bind9
  • POSTFIX e IMAP : O Postfix é um agente de transferência de emails (MTA), um software livre para envio e entrega de emails. Rápido e fácil de administrar, é uma alternativa segura ao Sendmail, muito utilizado em servidores UNIX. O IMAP é uma técnica de obtenção de e-mails de um servidor de correio usando um cliente de correio electrónico adequado.
sudo apt-get install postfix dovecot-imapd

  • CACTI : é uma ferramenta que recolhe e exibe informações sobre o estado de uma rede de computadores através de gráficos. Foi desenvolvido para ser flexível de modo a se adaptar facilmente a diversas necessidades, bem como ser robusto e fácil de usar. Monitora o estado de elementos de rede e programas bem como largura de banda utilizada e uso de CPU.
sudo apt-get install cacti

Configuração DNS

configurado arquivo /etc/bind/named.conf.local

zone "epsilon.sj.ifsc.edu.br" {
 type master;
 file "/etc/bind/epsilon.sj.ifsc.edu.br";
};
zone "37.135.200.in-addr.arpa" {
 type master;
 file "/etc/bind/37.135.200.in-addr.arpa";
};

configurado arquivo /etc/bind/epsilon.sj.ifsc.edu.br

$TTL    86400
; Start of Authority: início de autoridade
@    IN    SOA    dns1.epsilon.sj.ifsc.edu.br. epsilon.sj.ifsc.edu.br. (
 2009112600        ; Serial
 1d        ; Refresh
 4h        ; Retry
 1w        ; Expire
 1d )    ; Negative Cache TTL
;
; Name Server: servidores DNS 
@    IN    NS    dns1 
@    IN    MX    0 mail
@    IN    A   200.135.37.115
;
; Address: endereço
dns1    IN    A    200.135.37.115
mail    IN    A    200.135.37.115
www    IN    A    200.135.37.115
;
; Canonical Name: "epsilon"
web    IN    CNAME    www

configurado arquivo /etc/bind/37.135.200.in-addr.arpa

$TTL    86400
; Start of Authority: início de autoridade
@    IN    SOA    dns1.epsilon.sj.ifsc.edu.br. epsilon.sj.ifsc.edu.br. (
 2009112601        ; Serial
 1d        ; Refresh
 4h        ; Retry
 1w        ; Expire
 1d )    ; Negative Cache TTL
;
; Name Server: servidores DNS 
@    IN    NS    dns1.epsilon.sj.ifsc.edu.br.
;
; Address: endereço
1        IN    PTR    dns1.epsilon.sj.ifsc.edu.br.
3        IN    PTR    mail.epsilon.sj.ifsc.edu.br.
100    IN    PTR    www.epsilon.sj.ifsc.edu.br.

Adicionado ao Crontab a execução do script de que fará backup e relatorios e a sincronização do relógio do servidor:

vim /etc/crontab

## Script para Relatorios, Backup e arquivo texto dos arquivos editados
21 22   * * * root      /backup/scripts/script.sh
01 12   * * * root      /backup/scripts/script.sh

00 12    * * 6   root    ntpdate ntp.cais.rnp.br
00 17    * * 1   root    ntpdate ntp.cais.rnp.br

Script que desencadeia a execução de outros serviços

vim /backup/scripts/script.sh
#!/bin/bash

#Relatório Diário
nome=relatorio-`date +%Y_%m_%d-%H_%M`
touch /backup/scripts/$nome
bash /backup/scripts/relat.sh >> /backup/scripts/$nome
cat /backup/scripts/$nome | mail -s "$nome" adminepsilon
rm /backup/scripts/$nome


## Backup TXT dos arquivos
bash /backup/scripts/txback.sh
a=`ls /backup/textos/ | tail -1`
cat /backup/textos/$a | mail -s "Backup `date +%Y_%m_%d-%H_%M`" adminepsilon 


## Backup dos arquivos /etc /var/log /var/www /usr
bash /backup/scripts/scback.sh
echo "Criado backup das pastas /etc /var/log /var/www /usr, neste momento no diretório /backup/arquivos" | mail -s "Backup de arquivos realizado" adminepsilon

Relatório diário

vim /backup/scripts/relat.sh 
#!/bin/bash
data=`date`
echo " "
echo "RELATORIO DIARIO SERV EPSILON"
echo " "
a=`ifconfig -a`
echo "-------------------------------------------------"
echo "Configuracoes de Rede:"
echo "-------------------------------------------------"
echo " "
echo "$a"
echo " "
echo "-------------------------------------------------"
echo "Roteamento"
b=`route -n`
echo "-------------------------------------------------"
echo " "
echo "$b"
echo " "
echo "-------------------------------------------------"
echo "Firewall"
echo "-------------------------------------------------"
echo " "
c=`iptables -L`
echo " "
echo "$c"
echo " "
echo "-------------------------------------------------"
echo "Processador"
echo "-------------------------------------------------"
echo " "
cpu=`cat /proc/cpuinfo | grep name | cut -d ":" -f2`
echo "Processador: $cpu"
usocpu=`top -b -n1 | grep Cpu`
echo " "
echo "Uso do processador: $usocpu"
echo " "
echo "-------------------------------------------------"
echo "Espaco em disco"
echo "-------------------------------------------------"
echo " "
a=`df`
echo "$a"
echo " "
echo "-------------------------------------------------"
echo "Memoria"
echo "-------------------------------------------------"
echo " "
a=`free | grep Mem | cut -d " " -f 9`
memoriatotal=`echo "scale=2;$a/1024" | bc`
echo "Memoria Total = $memoriatotal Mb"
echo " "
a=`free | grep Mem | cut -d " " -f 14`
memoriausada=`echo "scale=2;$a/1024" | bc`
echo "Memoria Usada = $memoriausada Mb"
echo " "
a=`free | grep Mem | cut -d " " -f 20`
memorialivre=`echo "scale=2;$a/1024" | bc`
echo "Memoria Livre = $memorialivre Mb"
echo " "
a=`free | grep Swap | cut -d " " -f 7`
swaptotal=`echo "scale=2;$a/1024" | bc`
echo "Swap Total= $swaptotal Mb"
echo " "
a=`free | grep Swap | cut -d " " -f 13`
swapusada=`echo "scale=2;$a/1024" | bc`
echo "Swap Usada= $swapusada Mb"
echo " "
a=`free | grep Swap | cut -d " " -f 17`
swaplivre=`echo "scale=2;$a/1024" | bc`
echo "Swap Livre= $swaplivre Mb"
echo " "
echo "-------------------------------------------------"
echo "Usuarios"
echo "-------------------------------------------------"
echo " "
usuariosnum=`w |grep -v user | grep -v USER|wc -l`
usuarios=`last -a | cut -d " " -f 1 | head -7 | grep -v reboot |grep -v tmp`
echo "Usuarios conectados no momento: $usuariosnum"
echo "Ultimos usuarios conectados:"
echo "$usuarios"
echo " "
echo "--------------------------------------------------"
echo "Processos"
echo "--------------------------------------------------"
echo " "
processosnum=`ps -A f | wc -l`
echo "Estavam sendo executados $processosnum processos:"
echo " "
processos=`ps -A f`
echo "$processos"
echo " "

Backup TXT dos arquivos

vim /backup/scripts/txback.sh
#!/bin/bash
echo "Criando arquivo de backup txt..."
nome=backup-txt-`date +%Y_%m_%d-_%H_%M`.txt
touch $nome
sleep 2
echo "**** INTERFACES DE REDE ****" >> $nome
echo >> $nome
ifconfig -a >> $nome
echo >> $nome
echo "**** ROTAS ****" >> $nome
echo >> $nome
route -n >> $nome
echo >> $nome
echo "**** Arquivo Resolv.conf ****" >> $nome
echo >> $nome
cat /etc/resolv.conf >> $nome
echo >> $nome
echo "**** HOTSPOT ****" >> $nome
echo >> $nome
cat /usr/local/nocat/nocat.conf >> $nome
echo >> $nome
echo "**** DNS ****" >> $nome
echo  >> $nome
echo "/etc/bind/named.conf.local" >> $nome
cat /etc/bind/named.conf.local >> $nome
echo >> $nome
echo "/etc/bind/epsilon.sj.ifsc.edu.br" >> $nome
cat /etc/bind/epsilon.sj.ifsc.edu.br >> $nome
echo >> $nome
echo "/etc/bins/37.135.200.in-addr.arpa" >> $nome
cat /etc/bind/37.135.200.in-addr.arpa >> $nome
echo >> $nome
echo "**** SNMP ****" >> $nome
echo >> $nome
cat /etc/snmp/snmpd.conf >> $nome
echo >> $nome
echo "**** CRONTAB ****" >> $nome
echo >> $nome
cat /etc/crontab >> $nome
echo >> $nome
echo >> $nome
echo "**** FIREWALL ****" >> $nome
echo >> $nome
cat /etc/init.d/firewall >> $nome
echo >> $nome
mv $nome /backup/textos
echo "Arquivo txt de backup criado com o nome de $nome."
sleep 1
echo "Este arquivo está salvo no diretorio /backup/textos"

Backup dos arquivos

vim /backup/scripts/
#!/bin/bash
DATA=`date +%Y%m%d-%H%M`
ARQUIVO="backuparquivos-$DATA"
DIRETORIOS="/etc /usr /var/log /var/www"
tar zcf /backup/arquivos/$ARQUIVO $DIRETORIOS

Configuração SNMP

vim /etc/snmp/snmpd.conf

rocommunity epsilon
syscontact root
syslocation IFSC-SJ - Laboratório Redes I

vim /etc/default/snmpd

export MIBDIRS=/usr/share/snmp/mibs
SNMPDRUN=yes
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 200.135.37.115'
TRAPDRUN=no
TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid'
SNMPDCOMPAT=yes

Configuração no Cacti

Description: Servidor Epsilon
Hostname: 200.135.37.115
Host Template: Generic SNMP-enabled
Disable Host: not set
Downed Device Detection: SNMP
Ping Timeout Value: 400
Ping Retry Count: 1
SNMP Version: Version 2
SNMP Community: epsilon
SNMP Port: 161
SNMP Timeout: 500
Maximum OID's Per Get Request: 10
Associated Graph Templates:
 *Host MIB - Logged in Users
 *Host MIB - Processes
 *ucd/net - CPU Usage 
 *ucd/net - Load Average 
 *ucd/net - Memory Usage
Associated Data Queries
 *SNMP - Interface Statistics 
 *Unix - Get Mounted Partitions 
Graph Trees
Parent Item: root
Tree Item Type: Host
Host: Servidor Epsilon: 200.135.37.115
Graph Grouping Style: Graph Template

Firewall

  • Instalação do Firewall
sudo apt-get install iptables
  • Definição : é o nome dado ao dispositivo de uma rede de computadores que tem por objetivo aplicar uma política de segurança a um determinado ponto de controle da rede. Sua função consiste em regular o tráfego de dados entre redes distintas e impedir a transmissão e/ou recepção de acessos nocivos ou não autorizados de uma rede para outra. Este conceito inclui os equipamentos de filtros de pacotes e de proxy de aplicações, comumente associados a redes TCP/IP.
  • Script do firewall
  • Configurado arquivo /etc/init.d/firewall
vim /etc/init.d/firewall

#!/bin/bash
# A interface eth0 está na rede 200.135.37.115/24
IFACE="eth0"
# Ativa o roteamento entre as interfaces de rede
sysctl -w net.ipv4.ip_forward=1
#limpar antigas configurações
iptables -P  INPUT ACCEPT
iptables -t filter -F
iptables -t nat -F
#Bloqueia todas as solicitações de entrada
iptables -P INPUT DROP
#Libera solicitações da interface loopback
iptables -A INPUT -i lo -j ACCEPT
#Libera solicitações que partiram do servidor local
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Ativa o NAT para o acesso à Internet
iptables -t nat -A POSTROUTING -o ${IFACE} -j MASQUERADE
#Libera entrada pela porta 22 - SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#Libera entrada pela porta 443 - HTTPS
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#Libera entrada pela porta 80 - WWW
iptables -A INPUT -p tcp --dport 80 --syn -j ACCEPT
#Libera porta 67 - DHCP
iptables -A INPUT -p udp --dport 67 -j ACCEPT
#Libera porta 53 - DNS
iptables -A INPUT -p udp --dport 53 -j ACCEPT
#Libera o acesso ao Hotspot
iptables -I INPUT 3 -p tcp -i vlan501 --dport 5280 -j ACCEPT
/etc/init.d/firewall bash

Servidor de Email

Escolhido pela equipe utilizar o RoundCube

  • No Console
wget https://sourceforge.net/projects/roundcubemail/files/roundcubemail/0.3.1/roundcubemail-0.3.1.tar.gz/download
tar -zxvf roundcubemail-0.3.1.tar.gz
mkdir /var/www/webmail
mv roundcubemail-0.3.1 /var/www/webmail
  • No navegador
equipepsilon.sj.ifsc.edu.br/webmail/roundcubemail-0.3.1/installer
START INSTALLATION
*Instalação dos pacotes faltantes:
apt-get install php5-mcrypt
apt-get install php5-gd
NEXT
General configuration
product_name: Webmail Epsilon
Database setup
chmod 777 temp/
chmod 777 logs/
Database type: MySQL
Database server: mail
Database user name: administrador
Database password: ********
IMAP Settings
sent_mbox: Enviados
trash_mbox: Lixeira
drafts_mbox: Rascunhos
Display settings & user prefs
language: pt_BR
CREATE CONFIG
  • No Console
cd /var/www/webmail/config
vim main.inc.php
* Colado informações geradas no navegador para este arquivo.
touch db.inc.php
* Colado informações geradas no navegador para este arquivo.
CONTINUE
chown www-data logs/ temp/
rm -rf /var/www/webmail/installer


Configuração do Dhcp

  • configurado arquivo /etc/dhcp3/dhcpd.conf
vim /etc/dhcp3/dhcpd.conf

default-lease-time 14400;
max-lease-time 86400;
#wifi     
subnet 10.10.0.0 netmask 255.255.255.0 {
     range 10.10.0.2 10.10.0.254;
     option subnet-mask 255.255.255.0;
     option broadcast-address 10.10.0.255;
     option routers 10.10.0.1;
     option domain-name "wifi.epsilon.sj.ifsc.edu.br";
     option domain-name-servers 10.10.0.1;
}

subnet 192.168.0.0 netmask 255.255.255.0 {
       range 192.168.0.2 192.168.0.60;
       option subnet-mask 255.255.255.0;
       option broadcast-address 192.168.0.255;
       option routers 200.135.37.115;
       option domain-name "epsilon@sj.ifsc.edu.br";
       option domain-name-servers 200.135.37.115;

}

Configuração SSL (Transmissão segura de dados)

  • Instalando pacotes necessários
apt-get install openssl ssl-cert
  • Habilitado Módulo SSL no Apache2
a2enmod ssl
  • Criando Certificado
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf apache.pem
  • Movendo e mudando a permissão do arquivo
mv apache.pem /etc/apache2/apache.pem
chmod 600 /etc/apache2/apache.pem
  • Criando arquivo VirtualHost
vim /etc/apache2/sites-enablesd/ssh
NameVirtualHost *:443
<VirtualHost *:443 >
       ServerName epsilon.sj.ifsc.edu.br
       ServerAdmin webmaster@localhost
       CustomLog /var/log/apache2/access.log combined
       SSLEngine on
       ServerSignature On
       SSLCertificateFile /etc/apache2/apache.pem
       DocumentRoot /var/www
       <Directory />
         Options FollowSymLinks
         AllowOverride None
       </Directory>
       <Directory /var/www/>
               Options Indexes FollowSymLinks MultiViews
               AllowOverride None
               Order allow,deny
               allow from all
       </Directory>
       ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
       <Directory "/usr/lib/cgi-bin">
               AllowOverride None
               Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
               Order allow,deny
               Allow from all
       </Directory>
       ErrorLog /var/log/apache2/error.log
       # Possible values include: debug, info, notice, warn, error, crit,
       # alert, emerg.
       LogLevel warn
       CustomLog /var/log/apache2/access.log combined
   Alias /doc/ "/usr/share/doc/"
   <Directory "/usr/share/doc/">
       Options Indexes MultiViews FollowSymLinks
       AllowOverride None
       Order deny,allow
       Deny from all
       Allow from 127.0.0.0/255.0.0.0 ::1/128
   </Directory>
</VirtualHost>
  • Redirecionamento de portas
vim /etc/apache2/sites-enabled/000-default
<VirtualHost *:80>
    RedirectMatch ^/$ https://epsilon.sj.ifsc.edu.br/
</VirtualHost>
  • Habilitando o site com SSH
a2ensite ssl
  • Reiniciando o apache
/etc/init.d/apache2 restart

Configuração do TC

Script para configuração do tc:

/etc/init.d/cntrltrafego

#!/bin/bash
TAXA=4000 # 4Mbps
UMPOR=`expr $TAXA / 100`
OURO=`expr $UMPOR \* 60` # 60% da taxa de transmissao
PRATA=`expr $UMPOR \* 25` # 25% da taxa de transmissao
BRONZE=`expr $UMPOR \* 15` # 15% da taxa de transmissao
DEV=eth1
tc qdisc del dev ${DEV} root 2>/dev/null
tc qdisc add dev ${DEV} root handle 1:0 htb default 12
tc class add dev ${DEV} parent 1:0 classid 1:1 htb rate ${TAXA}kbps ceil ${TAXA}kbps
tc class add dev ${DEV} parent 1:1 classid 1:10 htb rate ${OURO}kbps ceil ${TAXA}kbps
tc class add dev ${DEV} parent 1:1 classid 1:11 htb rate ${PRATA}kbps ceil ${TAXA}kbps
tc class add dev ${DEV} parent 1:1 classid 1:12 htb rate ${BRONZE}kbps ceil ${TAXA}kbps
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
# 172.21.1.0/24 REDE OURO
# 172.22.1.0/24 REDE PRATA
# 172.23.1.0/24 REDE BRONZE
tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.0/18 flowid 1:10
tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.64.0/18 flowid 1:11
tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.128.0/18 flowid 1:12

Programação para Redes de Computadores

  • Desenvolvido script para configurar as interfaces e dhcp no servidor
  • Vlans no switch são criadas via telnet através da aplicação php
  • Usuários da rede Wifi são configurados no hotspot através da aplicação php