Projeto Integrador - 2009.2 - Equipe MLW Networks

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

Dados importantes

Nome da quipe: MLW Networks;
Usuário do Wiki: mlw networks;
Nome da maquina servidor: Maverick;
Usuário do servidor: mlw;
Acessar via ssh: ssh mlw@200.135.37.112 -p (número da porta);
Faixa de IPs internos da nossa equipe: 172.22.0.0;



Primeiras configurações do servidor

Em informática, um servidor é um sistema de computação que fornece serviços a uma rede de computadores. Esses serviços podem ser de natureza diversa, por exemplo, arquivos e correio eletrônico. Fonte: Wikipédia


Configuração da BIOS:

BIOS, em computação Basic Input/Output System (Sistema Básico de Entrada/Saída). O termo é incorretamente conhecido como Basic Integrated Operating System (Sistema Operacional Básico Integrado) ou Built In Operating System (Sistema Operacional Interno). O BIOS é um programa de computador pré-gravado em memória permanente (firmware) executado por um computador quando ligado. Ele é responsável pelo suporte básico de acesso ao hardware, bem como por iniciar a carga do sistema operacional. Fonte:Wikipédia
Power
 Power UP Control
  AC Power Loss Restart
   [enable]
Main
 All, but keybord

Especificações do servidor:

1 Gb de memória RAM;
40 Gb de HD;

Instalação do servidor:

Ubuntu Servidor 9.04;

 Partições:
  /        -  5 Gb    -  Primária
  Swap     -  3,5 Gb  -  Primária
  /tmp     -  5Gb     -  Lógica
  /var     -  10Gb    -  Lógica
  /backup  -  10Gb    -  Lógica
  /home    -  6,5Gb   -  Lógica



Cabeamento Estruturado

Cabeamento estruturado é a disciplina que estuda a disposição organizada e padronizada de conectores e meios de transmissão para redes de informática e telefonia, de modo a tornar a infra-estrutura de cabos independente do tipo de aplicação e do layout. Permitindo a ligação a uma rede de: servidores, estações, impressoras, telefones, switches, hubs e roteadores. O SCS (Structure Cabling System) utiliza o conector RJ45 e o cabo UTP como mídias padrão para transmissão de dados, uma analogia ao SCS é a tomada de energia que permite a alimentação elétrica de um equipamento independente do tipo de aplicação. Fonte: Wikipédia


  • Escolha da cor dos cabos na nossa equipe: VERDE


Diagrama da interligação do servidor com os switchs

<graphviz> digraph PI { "ETH3 200.135.37.112" -> SERVIDOR "ETH2 192.168.1.118" -> SERVIDOR "ETH3 200.135.37.112" -> "Porta EC3 do patch panel" "Porta EC3 do patch panel" -> "Porta 1 Switch 3COM" "ETH2 192.168.1.118" -> "Porta ED1 do patch panel" "Porta ED1 do patch panel" -> "Porta 6 Switch DLINK Redes1" "Porta 6 Switch DLINK Redes1" -> "Switch Meios" "Switch Meios" -> "Porta 6 Switch DLINK Meios" "Switch Meios" -> "Porta 7 Switch DLINK Meios" "Switch Meios" -> "Porta 8 Switch DLINK Meios" "Porta 6 Switch DLINK Meios" -> "Porta 5 do patch panel2" "Porta 7 Switch DLINK Meios" -> "Porta 6 do patch panel2" "Porta 8 Switch DLINK Meios" -> "Porta 7 do patch panel2" "Porta 5 do patch panel2" -> "Porta 2 do patch panel1" "Porta 6 do patch panel2" -> "Porta 4 do patch panel1" "Porta 7 do patch panel2" -> "Porta 5 do patch panel1" "Porta 2 do patch panel1" -> "Porta 7 do patch panel1" "Porta 4 do patch panel1" -> "Porta 9 do patch panel1" "Porta 5 do patch panel1" -> "Ap" "Porta 7 do patch panel1" -> "Tomada1 Estande1" "Porta 9 do patch panel1" -> "Tomada1 Estande2" } </graphviz>



Instalação de Equipamentos de Rede

Configuração dos switchs via telnet:

Telnet é um protocolo cliente-servidor usado para permitir a comunicação entre computadores ligados numa rede (exemplos: rede local / LAN, Internet), baseado em TCP. Fonte: Wikipédia

* Essa configuração deve ser feita através da aplicação Web, só resgistramos aqui os comandos.

telnet 192.168.1.240/241
usuario: ****
senha: ****

create vlan mlw201 tag 201
 
config vlan mlw201 add tagged 1:6-10
config vlan mlw201 add tagged 1:26

Topologias

Física

Lógica.jpg

Lógica

Física.jpg

Gerencia de Redes

Configuração dos IPs:

O endereço IP (Internet Protocol), de forma genérica, é um endereço que indica o local de um determinado equipamento (normalmente computadores) em uma rede privada ou pública.
Para um melhor uso dos endereços de equipamentos em rede pelas pessoas, utiliza-se a forma de endereços de domínio, tal como "www.wikipedia.org". Cada endereço de domínio é convertido em um endereço IP pelo DNS. Este processo de conversão é conhecido como resolução de nomes de domínio. Fonte: Wikipédia
  • vi /etc/network/interfaces (Caminho para o arquivo de configuração)
auto lo
iface lo inet loopback

#Placa de rede onboard (Roteador)
auto eth3
iface eth3 inet static
        address 200.135.37.112
        netmask 255.255.255.192
        network 200.135.37.64
        broadcast 200.135.37.127
        gateway 200.135.37.126

#Placa de rede offboard
auto eth2
iface eth2 inet static
        address 192.168.1.118
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255

#Vlan Wi-fi
auto vlan204
iface vlan204 inet static
        address 172.22.192.1
        netmask 255.255.255.0
        network 172.22.192.0
        broadcast 172.22.192.255
        vlan_raw_device eth2

#Vlan para Bug do NoCat 
auto vlan205
iface vlan205 inet static
        address 172.22.254.1
        netmask 255.255.255.0
        network 172.22.254.0
        broadcast 172.22.254.255
        vlan_raw_device eth2


  • vi /etc/resolv.conf (Caminho para o arquivo de configuração)
nameserver 127.0.0.1
nameserver 200.135.37.65

/etc/init.d/networking restart (Comando para reiniciar e ativar as configurações)

Instalação de programas:

APT (Advanced Packaging Tool, em português Ferramenta de Empacotamento Avançada) é um gerenciador de pacotes para o Sistema Operacional Linux. Fonte: Wikipédia


O servidor Apache (ou Servidor HTTP Apache, em inglês: Apache HTTP Server, ou simplesmente: Apache) é o mais bem sucedido servidor web livre.
O servidor é compatível com o protocolo HTTP. Suas funcionalidades são mantidas através de uma estrutura de módulos, permitindo inclusive que o usuário escreva seus próprios módulos. Fonte:Wikipédia
apt-get install apache2 
PHP (um acrónimo recursivo para "PHP: Hypertext Preprocessor") é uma linguagem de programação de computadores interpretada, livre e muito utilizada para gerar conteúdo dinâmico na World Wide Web, como por exemplo a Wikipédia. Fonte:Wikipédia
apt-get install php5
Módulo de integração do Apache com a linguagem PHP.
apt-get install libapache2-mod-php5 
Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Fonte:Wikipédia
apt-get install mysql-server 
Módulo de integração entre a linguagem PHP e o banco de daods MySql.
apt-get install php5-mysql
Descompactador de arquivos.
apt-get install unzip 
DHCP Descrição está junto com as configurações do mesmo.
apt-get install dhcp3-server 
DNS Descrição está junto com as configurações do mesmo.
apt-get install bind9
O Postfix é um agent 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. Fonte:Wikipédia
apt-get install postfix
NTP Descrição está junto com as configurações do mesmo.
apt-get install ntpdate
IMAP (Internet Message Access Protocol) é um protocolo de gerenciamento de correio eletrônico superior em recursos ao POP3 - protocolo que a maioria dos provedores oferece aos seus assinantes. Fonte:Wikipédia
apt-get install uw-imapd 
apt-get install dovecot-imapd 

O protocolo SNMP (do inglês Simple Network Management Protocol - Protocolo Simples de Gerência de Rede) é 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, como placas e comutadores (em inglês: switches). O SNMP possibilita aos administradores de rede gerenciar o desempenho da rede, encontrar e resolver seus eventuais problemas, e fornecer informações para o planejamento de sua expansão, dentre outras. Fonte:Wikipédia

apt-get install snmp 
apt-get install snmpd 
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. Fonte:Wikipédia
apt-get install cacti 
O Transport Layer Security - TLS (em português: Protocolo de Camada de Sockets Segura) e o seu predecessor, Secure Sockets Layer - SSL, são protocolos criptográficos que conferem segurança de comunicação na Internet para serviços como email (SMTP), navegação por páginas (HTTP) e outros tipos de transferência de dados. Fonte:Wikipédia
apt-get install openssl
apt-get install ssl-cert
O Trivial File Transfer Protocol (ou apenas TFTP) é um protocolo de transferência de ficheiros, muito simples, semelhante ao FTP.

O TFTP é usualmente utilizado para transferir pequenos ficheiros entre "hosts" numa rede, tal como quando um terminal remoto ou um cliente inicia o seu funcionamento, a partir do servidor. Fonte:Wikipédia

apt-get install atftpd


Criação de script NTP

O NTP é um protocolo para sincronização dos relógios dos computadores baseado no UDP (TCP/IP), ou seja, ele define um jeito para um grupo de computadores conversar entre si e acertar seus relógios, baseados em alguma fonte confiável de tempo. Com o NTP é fácil manter o relógio do computador sempre com a hora certa, com exatidão por vezes melhor que alguns milésimos de segundo. Wikipédia
crontab é um programa do Unix que edita o arquivo onde são especificados os comandos a serem executados e a hora e dia de execução pelo cron, um programa que executa comandos agendados nos sistemas operacionais do tipo Unix (como o Linux ou o Minix, por exemplo). O cron se encarregará de verificar a hora e determinar se existe ou não algum programa a ser rodado. Caso exista ele o rodará na hora e data solicitada. Wikipédia
  • vi /etc/crontab (caminho para o arquivo crontab)
mm hh dd MM ss   user         script
00 21  *  *  *   root         ntpdate -s ntp.cais.rnp.br


Configurando o DNS

O DNS (Domain Name System - Sistema de Nomes de Domínios) é um sistema de gerenciamento de nomes hierárquico e distribuído operando segundo duas definições:
    • Examinar e atualizar seu banco de dados.
    • Resolver nomes de domínios em endereços de rede (IPs).
O sistema de distribuição de nomes de domínio foi introduzido em 1984 e com ele os nomes de hosts residentes em um banco de dados pode ser distribuído entre servidores múltiplos, diminuindo assim a carga em qualquer servidor que provê administração no sistema de nomeação de domínios. Ele baseia-se em nomes hierárquicos e permite a inscrição de vários dados digitados além do nome do host e seu IP. Em virtude do banco de dados de DNS ser distribuído, seu tamanho é ilimitado e o desempenho não degrada tanto quando se adiciona mais servidores nele. Este tipo de servidor usa como porta padrão a 53.


  • vi /etc/bind/mlwnetworks.sj.ifsc.edu.br (Caminho para o arquivo de configuração)
$TTL    86400
;
@    IN    SOA    dns1.mlwnetworks.sj.ifsc.edu.br. mlwnetworks.mlwnetworks.sj.ifsc.edu.br. (
2009120200        ; 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.112
;
; Address: endereço
dns1    IN      A       200.135.37.112
mail    IN      A       200.135.37.112
www     IN      CNAME   dns1
web     IN      CNAME   dns1
ftp     IN      CNAME   dns1
  • vi /etc/bind/named.conf.local (Caminho para o arquivo de configuração)
zone "mlwnetworks.sj.ifsc.edu.br" {
        type master;
        file "/etc/bind/mlwnetworks.sj.ifsc.edu.br";
 };


/etc/init.d/bind9 restart (Comando para reiniciar e ativar as configurações)


Configurando o DHCP

O DHCP, Dynamic Host Configuration Protocol, é um protocolo de serviço TCP/IP que oferece configuração dinâmica de terminais, com concessão de endereços IP de host e outros parâmetros de configuração para clientes de rede. Fonte:Wikipédia


  • vi /etc/dhcp3/dhcpd.conf (Caminho para o arquivo de configuração)
default-lease-time 14400;
max-lease-time 86400;

# Vlan 172.22.192.0
subnet 172.22.192.0 netmask 255.255.255.0 {
        range 172.22.192.3 172.22.192.254;
        option domain-name "wifi.redes";
        option domain-name-servers 200.135.37.112;
        option routers 172.22.192.1;
}


/etc/init.d/dhcp3-server restart (comando para reiniciar o servidor DHCP)

Script de backup

Em informática, cópia de segurança é a cópia de dados de um dispositivo de armazenamento a outro para que possam ser restaurados em caso da perda dos dados originais, o que pode envolver apagamentos acidentais ou corrupção de dados. Fonte:Wikipédia
  • vi /etc/init.d/backup.sh (Caminho para o arquivo)
#!/bin/bash

data=`date +%d%m%y`
mkdir /backup/etc
mkdir /backup/www

scp -rp /etc/* /backup/etc > /dev/null
scp -rp /var/www/* /backup/www > /dev/null

echo -n "Compactando diretório /etc:"
tar czf /backup/compactados/etc$data /backup/etc/* 2> /dev/null && \
       echo " OK."
echo -n "Compactando diretório /var/www:"
tar czf /backup/compactados/www$data /backup/www/* 2> /dev/null && \
       echo " OK."


rm /backup/etc -rf
rm /backup/www -rf

Programando o backup no crontab

  • vi /etc/crontab (caminho para o arquivo crontab)
mm hh dd MM ss   user         script 
00 22  * * *     root         /etc/init.d/backup.sh


Programando o servidor para mandar um e-mail de backup para o root

  • vi /etc/aliases (Caminho para o arquivo)
postmaster:    root
root: *****@gmail.com

newaliases (Comando no terminal)

/etc/init.d/postfix restart (comando para reiniciar o servidor postfix)


Configurando as funções de roteamento e firewall

vi /etc/init.d/nat.sh (Caminho para o arquivo)

#!/bin/bash

iptables -t nat -F
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth3 -j MASQUERADE
#iptables -t nat -A POSTROUTING -o vlan201 -j MASQUERADE
#iptables -t nat -A POSTROUTING -o vlan202 -j MASQUERADE
#iptables -t nat -A POSTROUTING -o vlan203 -j MASQUERADE
#iptables -t nat -A POSTROUTING -o vlan204 -j MASQUERADE
# Limpando as regras do iptables
iptables -F
# Política padrão, portas de entrada bloqueadas e saída liberada.
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
# Liberar interface Loopback
iptables -A INPUT -i lo -j ACCEPT
# Liberar solitações do servidor local
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# Liberando portas necessárias
# Liberar porta para SSH
iptables -A INPUT -p tcp --dport 2235 -j ACCEPT
# Liberar porta para NoCat
iptables -A INPUT -p tcp --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


chmod 755 nat.sh (Dar as permissões para o arquivo)

/etc/init.d/nat.sh (Rodar o arquivo)

Configurando para rodar o script nat.sh na inicialização da máquina

/etc/rc2.d ln -s /etc/init.d/nat.sh S90nat.sh

Configuração do serviço CACTI

vi /etc/snmp/snmpd.conf (Caminho para o arquivo de configuração)

rocommunity mlwnetworks
syscontact mlwnetworks@mlwnetworks.sj.ifsc.edu.br
syslocation "laboratório de redes 1 ifsc"

vi /etc/default/snmpd (Caminho para o arquivo de configuração)

# snmpd options (use syslog, close stdin/out/err).
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 200.135.37.112'


WebMail Roundcube

Instalação

wget Roundcube
mkdir /var/www/webmail
mv roundcubemail-0.3.1 /var/www/webmail
tar -zxvf roundcubemail-0.3.1.tar.gz


Configuração

Seguir as indicações do navegador: mlwnetworks.sj.ifsc.edu.br/webmail/roundcubemail-0.3.1/installer

Configurações gerais:

product_name: Mlw Networks
temp_dir: temp/

Log_dir: logs/

Sent_mbox: Enviados
trash_mbox: Lixeira
drafts_mbox: Rascunhos
junk_mbox: Spam

language: pt_BR

Criando os arquivos:

vi /var/www/webmail/roundcubemail-0.3.1/config/main.inc.php
vi /var/www/webmail/roundcubemail-0.3.1/config/db.inc.php
  • Esses arquivos são criados para podermos colar as informações fornecidas durante a instalação do Webmail atraves do site.

Alterando as permissões dos arquivos necessários:

chmod 777 /var/www/webmail/roundcubemail-0.3.1/temp
chmod 777 /var/www/webmail/roundcubemail-0.3.1/logs

Configuração do Postfix

vi /etc/postfix/main.cf (Caminho para o arquivo de configuração)

myhostname = mail.mlwnetworks.sj.ifsc.edu.br
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = mlwnetworks.sj.ifsc.edu.br
mydestination = mail, mail.mlwnetworks.sj.ifsc.edu.br, mlwnetworks.sj.ifsc.edu.br, , localhost

Configurando HTTPS via SSL

Criando o certificado

openssl req -new -x509 -nodes -keyout /etc/apache2/apache2.pem -out /etc/apache2/apache2.pem -days 1000
Contry: BR
State: Santa Catarina
Locality: Sao Jose
Organization: IFSC
Organizational: Tecnico de Tele
Commom: mlwnetworks
email: mlwnetworks@mlwnetworks.sj.ifsc.edu.br


Criando Arquivo SSL

vi /etc/apache2/conf.d/ssl (Caminho para o arquivo de configuarção)

NameVirtualHost *:443
<VirtualHost *:443 >
      ServerName mlwnetworks.sj.ifsc.edu.br
      ServerAdmin webmaster@localhost
      CustomLog /var/log/apache2/access.log combined
      SSLEngine on
      ServerSignature On
      SSLCertificateFile /etc/apache2/apache2.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>
a2enmod ssl

/etc/init.d/apache2 restart (Comando para reiniciar as configurações)

Configurando as permissões do SSH

vi /etc/init.d/pssh (Caminho para o arquivo)

#!/bin/bash

cd /etc/ssh
chown sshd:root *
chmod 440 *
cd


Configurando o arquivo para rodar na inicialização da Máquina

/etc/rc2.d ln -s /etc/init.d/pssh S15pssh

NoCat

Baixando e instalando

wget NoCat tar xzvf NoCatAuth-nightly.tar.gz

Instalar o "gateway" e "authserv"

cd NoCatAuth-nightly make gateway (instalado em /usr/local/nocat) make PREFIX=/usr/local/nocat/authserv authserv (instalado em /usr/local/nocat/authserv)

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

  • 1 - Disa e Elgamal (Padrão);
  • Chave = 1024 bits;
  • Tempo para a chave expirar = 0;
  • Nome completo = MlwNetworks

Editando o gateway

vi /usr/local/nocat/nocat.conf (Caminho para o arquivo de configuração)

AuthServiceAddr 200.135.37.112
AuthServiceURL http://$AuthServiceAddr/cgi-bin/login
LogoutURL      http://$AuthServiceAddr/logout.html

Retirar os comentários das seguintes linhas:
AllowedWebHosts 200.135.37.114
RouteOnly 1

Editando o authserv

vi /usr/local/nocat/authserv/nocat.conf (Caminho para o arquivo de configuração)

DocumentRoot    /usr/local/nocat/authserv/htdocs
DataSource      Passwd

Retirar os comentários das seguintes linhas:
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.112

Configurações no Apache2

vi /etc/apache2/sites-enabled/000-default (Caminho para o arquivo de configuração)

#ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ (Comentar esta linha)
Include /usr/local/nocat/authserv/httpd.conf (Incluir esta linha)
<Directory "/usr/lib/cgi-bin">
AllowOverride None


/etc/init.d/apache2 restart(Reiniciar o servidor apache)

Traduções do Nocat

/usr/local/nocat/authserv/htdocs (Caminho para os arquivos)

expired.html
login-no-skip.html
register_ok.html
status.html
fatal.html
login_ok.html
renew.html
update.html
logout.html
renew_pasv.html
login.html
register.html
splash.html

/usr/local/nocat/authserv/nocat.conf (Caminho para o arquivo de configuração)

Traduzir somente esta parte!

###### Auth service user messages. Should be self-explanatory.

LoginGreeting   Saudações! Bem vindo à MLW Networks.
LoginMissing    Por favor, preencha todos os campos!
LoginBadUser    Esse endereço de e-mail é desconhecido. Por favor, tente novamente.
LoginBadPass    Esse e-mail e senha não correspondem. Por favor, tente novamente.
LoginBadStatus  Desculpe, você não é um membro registado.

RegisterGreetin     Bem vindo! Por favor, digite as seguintes informações para se cadastrar.
RegisterMissing     Os campos Nome, E-mail e Senha devem ser preenchidos.
RegisterUserExists  Desculpe, esse endereço de e-mail já está tomada. Você já se inscreveu?
RegisterBadUser     O e-mail fornecido parece ser inválido. Você digitou corretamente?
RegisterInvalidPass Todas as senhas devem ter pelo menos seis caracteres.
RegisterPassNoMatch As senhas fornecidas não coincidem. Por favor, tente novamente.
RegisterSuccess     Parabéns, você tem registrado com êxito. 

UpdateGreeting      Digite seu E-mail e senha para atualizar seus dados.
UpdateBadUser       Esse endereço de e-mail é desconhecido. Por favor, tente novamente.
UpdateBadPass       Esse e-mail e senha não correspondem. Por favor, tente novamente.
UpdateInvalidPass   A nova senha deve ter pelo menos seis caracteres.
UpdatePassNoMatch   As novas senhas que você forneceu não correspondem. Por favor, tente novamente.
UpdateSuccess       Parabéns, você atualizou com êxito a sua conta.

###### Fin.

Script de monitoramento do servidor

vi /monitoramento (Caminho para o arquivo)

#!/bin/bash

data=`date`
echo "Relatório de monitoramento diário MlwNetworks $data"
interfaces=`ifconfig -a`
rota=`route -n`
firewall=`iptables -L | grep dpt`
processador=`cat /proc/cpuinfo | grep name | cut -d ":" -f2`
usocpu=`top -b -n1 | grep Cpu`
particoes=`df -h| grep sda`
free1=`free | grep Mem | cut -d " " -f 9`
memoriatotal=`echo "scale=2;$free1/1024" | bc`
free2=`free | grep Mem | cut -d " " -f 14`
memoriausada=`echo "scale=2;$free2/1024" | bc`
free3=`free | grep Mem | cut -d " " -f 20`
memorialivre=`echo "scale=2;$free3/1024" | bc`
free4=`free | grep Swap | cut -d " " -f 7`
swaptotal=`echo "scale=2;$free4/1024" | bc`
free5=`free | grep Swap | cut -d " " -f 13`
swapusada=`echo "scale=2;$free5/1024" | bc`
free6=`free | grep Swap | cut -d " " -f 17`
swaplivre=`echo "scale=2;$free6/1024" | bc`
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`
processosnum=`ps -A f | wc -l`
processos=`ps -A f`
echo "************************************************* "
echo "Configurações de Rede: "
echo " $interfaces"
echo " "
echo " "
echo " "
echo " "
echo " "
echo "$rota"
echo " "
echo " "
echo " "
echo " "
echo " "
echo "Firewall: "
echo "$firewall"
echo " "
echo " "
echo " "
echo " "
echo " "
echo "Dados do Processador: "
echo "$processador"
echo " "
echo " "
echo " "
echo " "
echo " "
echo "Uso do processador: "
echo "$usocpu"
echo " "
echo " "
echo " "
echo " "
echo " "
echo "Espaco em disco: "
echo "$particoes"
echo " "
echo " "
echo " "
echo " "
echo " "
echo "Memorias:"
echo "Memória Total = $memoriatotal Mb"
echo "Memória Usada = $memoriausada Mb"
echo "Memória Livre = $memorialivre Mb"
echo "Memória Swap Total= $swaptotal Mb"
echo "Memória Swap Usada= $swapusada Mb"
echo "Memória Swap Livre= $swaplivre Mb"
echo " "
echo " "
echo " "
echo " "
echo " "
echo " "
echo "Usuarios conectados no momento: $usuariosnum"
echo "Ultimos usuarios conectados:"
echo "$usuarios"
echo " "
echo " "
echo " "
echo " "
echo " "
echo "Estão sendo executados $processosnum processos."
echo "$processos"


TC

vi /etc/init.d/tc.sh

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=eth2

# ----------- 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 ${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

# 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

# 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 172.22.0.0/18 flowid 1:10 # vai para ouro
tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 172.22.64.0/18 flowid 1:11 # vai para prata
tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 172.22.128.0/18 flowid 1:12 # vai para bronze


Programação

Criar Arquivos DHCP e INTERFACES

<?
session_start();
        	$classe = $_SESSION['Classe'];
         $empresa = $_SESSION['Empresa'];
        	$portaswitch = $_SESSION['portaswitch'];
          $conexao = mysql_connect("localhost","root","3.141592212425");
          $database = mysql_select_db("cadastro",$conexao);
          $consulta = "SELECT * FROM $classe WHERE criado=0 limit 1;";
          $resultado = mysql_query($consulta,$conexao);
           	   while($linha = mysql_fetch_array($resultado)){
         		$uID = $linha['uID'];

$vlan = $linha['nVlan']; $address = $linha['address']; $netmask = $linha['netmask']; $networks = $linha['network']; $broadcast = $linha['broadcast'];

               $range = $linha['range'];
          		}
         	   $alterar = "UPDATE $classe SET criado=1 WHERE uID=$uID";
       	   $resultado = mysql_query($alterar,$conexao);
        	   $alterar = "UPDATE estandes SET uidvlan=$uID WHERE eNome='$empresa';";
          	   $resultado = mysql_query($alterar,$conexao);
             
         	$handle = fopen ("/etc/network/interfaces", "a");
                    $inseri = '
          \n#vlan $vlan
auto vlan $vlan
iface vlan $vlan inet static 
       address $address
       netmask $netmask

networks $networks broadcast $broadcast vlan_raw_device eth2';

       fwrite($handle, $inseri);
       $handle = fopen ("/etc/dhcp3/dhcpd.conf", "a");
       $inseri = '
\n# Vlan $networks 
subnet $networks netmask $netmask {
       range $range;
       option domain-name "$vlan";
       option domain-name-servers 200.135.37.112;
       option routers $address;
}';

fwrite($handle, $inseri);

       exec("sudo /etc/init.d/networking restart");

exec("sudo /etc/init.d/dhcp3-server restart"); $_SESSION['vlan'] = $vlan; $_SESSION['portaswitch'] = $portaswitch;

       require_once("telnetcriar240.php"); 

require_once("telnetcriar241.php");

	UNSET($_SESSION['vlan']);
?>


Criar Vlan via telnet

<?
session_start();
// 2009-11-23
// Este exemplo funcionou com a versão 5.2.10 do PHP
 
// incluindo uma classe para facilitar o trabalho com sessões telnet 

require_once("telnet_class.php");
$vlan = $_SESSION['vlan'];
$portas = $_SESSION['portaswitch'];
$telnet = new Telnet();
 
// conectando na maquina 127.0.0.1
$telnet->set_host("192.168.1.240");
$telnet->connect();
// quando o servidor enviar 'login', fornecer o nome do usuario
$telnet->set_prompt("username: ");
$telnet->wait_prompt();
$telnet->write("admin");

// quando o servidor enviar 'Password', fornecer a senha
$telnet->set_prompt("Password: ");
$telnet->wait_prompt();
$telnet->write("admin");
// quando o servidor indicar que o prompt está pronto para receber comandos
$telnet->set_prompt("$ ");
$telnet->wait_prompt();
 
// executar um comando para criar um diretorio 'testando-php' em /tmp
$telnet->write("create vlan mlw$vlan tag $vlan");
$telnet->set_prompt("$ ");
$telnet->wait_prompt();
$telnet->write("config vlan mlw$vlan add tagged 26");
$telnet->set_prompt("$ ");
$telnet->wait_prompt();
$telnet->write("config vlan mlw$vlan add untagged $portas");
$telnet->set_prompt("$ ");
$telnet->wait_prompt();
$telnet->write("save"); 

// fechando a conexao 
$telnet->disconnect();
 
 
?> 

Excluir Vlan via Telnet

<?
session_start();
// 2009-11-23
// Este exemplo funcionou com a versão 5.2.10 do PHP
 
// incluindo uma classe para facilitar o trabalho com sessões telnet

require_once("telnet_class.php");
$vlan = $_SESSION['vlan'];
 
$telnet = new Telnet();
 
// conectando na maquina 127.0.0.1
$telnet->set_host("192.168.1.240");
$telnet->connect();
// quando o servidor enviar 'login', fornecer o nome do usuario
$telnet->set_prompt("username: ");
$telnet->wait_prompt();
$telnet->write("admin");
 
// quando o servidor enviar 'Password', fornecer a senha
$telnet->set_prompt("Password: ");
$telnet->wait_prompt();
$telnet->write("admin");
// quando o servidor indicar que o prompt está pronto para receber comandos
$telnet->set_prompt("$ ");
$telnet->wait_prompt();
 
// executar um comando para criar um diretorio 'testando-php' em /tmp
$telnet->write("delete vlan mlw$vlan"); 

// fechando a conexao 
$telnet->disconnect();
 
 
?>


Todas as configurações foram setadas no Web site https://mlwnetworks.sj.ifsc.edu.br