Projeto Integrador - 2009.2 - Equipe Epsilon

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

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