Mudanças entre as edições de "Projeto Integrador - 2009.2 - Equipe TECHNet"
(→DNS) |
|||
(133 revisões intermediárias por 2 usuários não estão sendo mostradas) | |||
Linha 56: | Linha 56: | ||
</graphviz> | </graphviz> | ||
+ | *Itens realizado na parte de Cabeamento | ||
+ | |||
+ | Entregue projeto contendo: | ||
+ | |||
+ | *Planta baixa com indicação das tomadas dos estandes, armário de telecomunicações, tubulação e cabos. | ||
+ | *Vista frontal do armário indicando a utilização de cada porta. | ||
+ | *Lista de material | ||
+ | *Instalação do cabeamento | ||
+ | *Identificação das portas, cabos e tomadas | ||
+ | *Certificação do cabeamento | ||
== Gerência de Redes - GAR == | == Gerência de Redes - GAR == | ||
+ | |||
+ | * Instalação dos Serviços | ||
+ | apt-get install dhcp3 | ||
+ | apt-get install bind9 - DNS | ||
+ | apt-get install cacti - Gerência de redes | ||
+ | apt-get install apache2 | ||
+ | apt-get install apt-get install mysql-server | ||
+ | apt-get install php5-mysql | ||
+ | |||
=== SSH === | === SSH === | ||
Linha 73: | Linha 92: | ||
* Configuração de rede | * Configuração de rede | ||
− | |||
'''Arquivo: /etc/network/interfaces''' | '''Arquivo: /etc/network/interfaces''' | ||
Linha 113: | Linha 131: | ||
netmask 255.255.0.0 | netmask 255.255.0.0 | ||
vlan_raw_device eth1 | vlan_raw_device eth1 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== DNS === | === DNS === | ||
Linha 139: | Linha 142: | ||
Arquivos de configuração: | Arquivos de configuração: | ||
+ | */etc/resolv.conf | ||
+ | |||
+ | nameserver 172.18.0.1 | ||
+ | nameserver 200.135.37.65 | ||
+ | |||
*named.conf.local: | *named.conf.local: | ||
Linha 146: | Linha 154: | ||
}; | }; | ||
*technet.sj.ifsc.edu.br: | *technet.sj.ifsc.edu.br: | ||
− | + | <syntaxhighlight lang=bash> | |
$TTL 86400 | $TTL 86400 | ||
@ IN SOA dns1.technet.sj.ifsc.edu.br. technet.sj.ifsc.edu.br. ( | @ IN SOA dns1.technet.sj.ifsc.edu.br. technet.sj.ifsc.edu.br. ( | ||
Linha 164: | Linha 172: | ||
www IN CNAME dns1 | www IN CNAME dns1 | ||
web IN CNAME dns1 | web IN CNAME dns1 | ||
− | + | </syntaxhighlight> | |
+ | |||
=== DHCP === | === DHCP === | ||
Linha 175: | Linha 184: | ||
Arquivo de configuração: | Arquivo de configuração: | ||
− | *dhcpd.conf | + | *dhcpd.conf |
+ | |||
+ | <syntaxhighlight lang=bash> | ||
authoritative; | authoritative; | ||
Linha 181: | Linha 192: | ||
max-lease-time 86400; | max-lease-time 86400; | ||
− | + | ||
− | |||
subnet 10.0.0.0 netmask 255.255.0.0 { | subnet 10.0.0.0 netmask 255.255.0.0 { | ||
range 10.0.0.2 10.0.255.254; | range 10.0.0.2 10.0.255.254; | ||
Linha 192: | Linha 202: | ||
} | } | ||
− | + | ||
− | + | </syntaxhighlight> | |
− | + | ||
− | + | * As demais configurações para o DHCP será dinâmica conforme o número de estandes. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== SMTP === | === SMTP === | ||
+ | |||
+ | Simple Mail Transfer Protocol (SMTP) é o protocolo padrão para envio de e-mails através da Internet. | ||
*Porta utilizada 25 | *Porta utilizada 25 | ||
Linha 248: | Linha 226: | ||
[ http://technet.sj.ifsc.edu.br/roundcube ] | [ http://technet.sj.ifsc.edu.br/roundcube ] | ||
+ | |||
+ | Arquivo de configuração: | ||
+ | |||
+ | * /etc/snmp/snmpd.conf | ||
+ | |||
+ | rocommunity servidorTech | ||
+ | syslocation "Redes 1" | ||
+ | syscontact "admin@technet.sj.ifsc.edu.br" | ||
+ | |||
+ | * /etc/postfix/main.cf | ||
+ | |||
+ | #Adicionado as seguintes linhas no arquivo main.cf | ||
+ | |||
+ | myorigin = technet.sj.ifsc.edu.br | ||
+ | myhostname = mail.technet.sj.ifsc.edu.br | ||
+ | mydestination = mail, mail.redes.sj.edu.br, localhost | ||
=== SNMP === | === SNMP === | ||
Linha 306: | Linha 300: | ||
a2ensite svn | a2ensite svn | ||
− | == Openfire ( Mensageiro Instantâneo )== | + | === Configuração TC === |
+ | Limita taxas de transmissão e a forma de priorização dos pacotes para cada classe: ouro, prata e bronze. | ||
+ | |||
+ | #!/bin/bash | ||
+ | |||
+ | TAXA=4000 # 4Mbps | ||
+ | UMPOR=`expr $TAXA / 100` | ||
+ | |||
+ | OURO=`expr $UMPOR \* 58` # 58% da taxa de transmissao | ||
+ | PRATA=`expr $UMPOR \* 23` # 23% da taxa de transmissao | ||
+ | BRONZE=`expr $UMPOR \* 14` # 14% da taxa de transmissao | ||
+ | WIRELESS=`expr $UMPOR \*5` # 5% da taxa de transmissao | ||
+ | |||
+ | DEV=eth0 | ||
+ | |||
+ | # ----------- TC ------------------# | ||
+ | # eliminando as regras anteriores | ||
+ | tc qdisc del dev ${DEV} root 2>/dev/null | ||
+ | |||
+ | # adicionando a disciplina de fila na raiz | ||
+ | tc qdisc add dev ${DEV} root handle 1:0 htb default 12 | ||
+ | |||
+ | # criando a classe pai para limitar a velocidade | ||
+ | tc class add dev ${DEV} parent 1:0 classid 1:1 htb rate ${TAXA}kbps ceil ${TAXA}kbps | ||
+ | |||
+ | # criando 3 classes (ouro, prata e bronze) | ||
+ | tc class add dev ${DEV} parent 1:1 classid 1:10 htb rate ${WIRELESS}kbps ceil ${TAXA}kbps | ||
+ | tc class add dev ${DEV} parent 1:1 classid 1:11 htb rate ${OURO}kbps ceil ${TAXA}kbps | ||
+ | tc class add dev ${DEV} parent 1:1 classid 1:12 htb rate ${PRATA}kbps ceil ${TAXA}kbps | ||
+ | tc class add dev ${DEV} perent 1:1 classid 1:13 htb rate ${BRONZE}kbps ceil ${TAXA}kbps | ||
+ | |||
+ | # adicionando qdisc para cada classe | ||
+ | tc qdisc add dev ${DEV} parent 1:10 handle 10: sfq perturb 10 | ||
+ | tc qdisc add dev ${DEV} parent 1:11 handle 11: sfq perturb 10 | ||
+ | tc qdisc add dev ${DEV} parent 1:12 handle 12: sfq perturb 10 | ||
+ | tc qdisc add dev ${DEV} parent 1:13 handle 13: sfq perturb 10 | ||
+ | |||
+ | # criando os filtros para direcionar os trafegos para cada classe de acordo com o IP | ||
+ | # de destino | ||
+ | tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 10.0.0.0/16 flowid 1:10 # vai para WIRELESS | ||
+ | tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 10.1.0.0/16 flowid 1:11 # vai para OURO | ||
+ | tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 10.2.0.0/16 flowid 1:12 # vai para PRATA | ||
+ | tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 10.3.0.0/16 flowid 1:13 # vai para BRONZE | ||
+ | echo "TC CONFIGURADO" | ||
+ | |||
+ | === Openfire ( Mensageiro Instantâneo )=== | ||
[ http://200.135.37.113:9090 ] | [ http://200.135.37.113:9090 ] | ||
wget http://download.igniterealtime.org/openfire/openfire_3.6.4_all.deb | wget http://download.igniterealtime.org/openfire/openfire_3.6.4_all.deb | ||
Linha 317: | Linha 356: | ||
Acessar [IP_VALIDO]:9090 | Acessar [IP_VALIDO]:9090 | ||
+ | |||
+ | === Backup === | ||
+ | Enviado por e-mail equipetechnet@hotmail.com | ||
+ | |||
+ | *cd /home/tech/scripts | ||
+ | |||
+ | vi backup.sh | ||
+ | |||
+ | #!/bin/bash | ||
+ | |||
+ | #Criar um arquivo backup | ||
+ | dd if=/dev/zero of=/tmp/backup count=1 bs=10000k 2> /dev/null | ||
+ | |||
+ | #criar arquivo extensão ext4 | ||
+ | mkfs.ext4 -q -F -F /tmp/backup 2> /dev/null | ||
+ | |||
+ | # montar partição | ||
+ | mount -o loop /tmp/backup /mnt 2> /dev/null | ||
+ | |||
+ | #Compactar o backup | ||
+ | data=`date +%F` | ||
+ | tar cfj /mnt/backup$data.bz2 /etc/* 2> /dev/null | ||
+ | |||
+ | # Mandar backup por email | ||
+ | #cat /mnt/backup$data.bz2 | mail guilps@gmail.com -s "backup de $data" | ||
+ | |||
+ | destino=equipetechnet@hotmail.com | ||
+ | arquivo=/mnt/backup$data.bz2 0 | ||
+ | mensagem="backup efetuado com sucesso" | ||
+ | data2=`date` | ||
+ | echo "Backup realizado em $data2" | mutt -a $arquivo -s "backup de $data" $destino | ||
+ | |||
+ | #Desmontar a partição | ||
+ | umount /mnt | ||
+ | |||
+ | * Adcionado a rotina na crontab: | ||
+ | |||
+ | *vi /etc/crontab | ||
+ | |||
+ | # m h dom mon dow user command | ||
+ | 50 21 * * * root /etc/init.d/backup.sh | ||
+ | |||
+ | === Firewall === | ||
+ | |||
+ | Utilizado para bloquear o acesso a alguns serviços da rede. | ||
+ | |||
+ | |||
+ | Arquivo de configuração: | ||
+ | |||
+ | *vi /etc/init.d/firewall | ||
+ | |||
+ | #!/bin/bash | ||
+ | |||
+ | #Regras para funcionamento do NOCAT | ||
+ | iptables -P INPUT ACCEPT | ||
+ | /usr/local/nocat/bin/clear.fw | ||
+ | |||
+ | #Limpando regras do firewall | ||
+ | iptables -t filter -F | ||
+ | iptables -t nat -F | ||
+ | |||
+ | #Regras para roteamento | ||
+ | sysctl -w net.ipv4.ip_forward=1 | ||
+ | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | ||
+ | |||
+ | #bloqueado portas de entradas | ||
+ | iptables -P INPUT DROP | ||
+ | |||
+ | # Liberar interface Loopback | ||
+ | iptables -A INPUT -i lo -j ACCEPT | ||
+ | |||
+ | # Liberar solicitacao servidor local | ||
+ | iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT | ||
+ | |||
+ | # Liberar porta para SSH | ||
+ | iptables -A INPUT -p tcp --dport 5520 -j ACCEPT | ||
+ | |||
+ | #Liberar a porta do NOCAT | ||
+ | iptables -I INPUT 3 -p tcp -i vlan300 --dport 5280 -j ACCEPT | ||
+ | |||
+ | # Liberar porta para HTTP | ||
+ | iptables -A INPUT -p tcp --dport 80 -j ACCEPT | ||
+ | |||
+ | # Liberar porta HTTPS | ||
+ | iptables -A INPUT -p tcp --dport 443 -j ACCEPT | ||
+ | |||
+ | # Liberar porta SMTP | ||
+ | iptables -A INPUT -p tcp --dport 25 -j ACCEPT | ||
+ | |||
+ | # Liberar Porta DNS | ||
+ | iptables -A INPUT -p udp --dport 53 -j ACCEPT | ||
+ | |||
+ | # Liberar Porta DHCP | ||
+ | iptables -A INPUT -p udp --dport 67 -j ACCEPT | ||
+ | |||
+ | # Liberar Porta TFTP | ||
+ | iptables -A INPUT -p udp --dport 69 -j ACCEPT | ||
+ | |||
+ | # Liberar Porta IMAP | ||
+ | iptables -A INPUT -p tcp --dport 143 -j ACCEPT | ||
+ | |||
+ | #Ativando gateway NOCAT / Configuracao do NOCAT | ||
+ | /usr/local/nocat/bin/gateway | ||
+ | |||
+ | === Script Monitoramento Servidor === | ||
+ | |||
+ | #!/bin/bash | ||
+ | arquivo=monitoramento.txt | ||
+ | |||
+ | echo "Estado das interfaces" >> $arquivo | ||
+ | ifconfig -a >> $arquivo | ||
+ | echo "================================" >> $arquivo | ||
+ | echo "Rotas criadas" >> $arquivo | ||
+ | route -n >> $arquivo | ||
+ | echo "================================" >> $arquivo | ||
+ | echo "Firewall" >> $arquivo | ||
+ | iptables -L >> $arquivo | ||
+ | echo "================================" >> $arquivo | ||
+ | echo "Consumo de processamento" >> $arquivo | ||
+ | top -b -n1 | grep Cpu >> $arquivo | ||
+ | echo "===============================" >> $arquivo | ||
+ | echo "Consumo de memoria" >> $arquivo | ||
+ | top -b -n1 | grep Men >> $arquivo | ||
+ | echo "==============================" >> $arquivo | ||
+ | echo "Consumo de disco" >> $arquivo | ||
+ | vmstat -d >> $arquivo | ||
+ | |||
+ | |||
+ | destino=equipetechnet@hotmail.com | ||
+ | |||
+ | mensagem="monitoramento efetuado com exito" | ||
+ | data2=`date` | ||
+ | echo "Monitoramento realizado em $data2" | mutt -a $arquivo -s "monitoramento de $data" $destino | ||
+ | |||
+ | |||
+ | *Adcionado rotina na crontab | ||
+ | |||
+ | *vi /etc/crontab | ||
+ | |||
+ | # m h dom mon dow user command | ||
+ | 50 21 * * * root /etc/init.d/monitorar.sh | ||
== Instalação de Equipamentos - IER == | == Instalação de Equipamentos - IER == | ||
− | *Configuração das Vlans | + | '''* Configuração das Vlans''' |
telnet 192.168.1.241 | telnet 192.168.1.241 | ||
Linha 335: | Linha 515: | ||
DES-3526:admin# show vlan | DES-3526:admin# show vlan | ||
+ | |||
+ | |||
+ | '''* Identificação das Subredes''' | ||
+ | |||
+ | eth0 ==> 200.135.37.0 | ||
+ | eth1 ==> 192.168.1.0 | ||
+ | Vlan 300 Wirelles ==> 10.0.0.0 | ||
+ | |||
+ | '''* Identificação das Vlans''' | ||
+ | |||
+ | * Configuração do swith 192.168.1.241: | ||
+ | |||
+ | IP 10.0.0.1 vlan 300 Wirelles | ||
+ | |||
+ | VID : 300 VLAN Name : techwireless | ||
+ | VLAN TYPE : static Advertisement : Disabled | ||
+ | Member ports : 12,26 | ||
+ | Static ports : 12,26 | ||
+ | Current Tagged ports : 12,26 | ||
+ | Current Untagged ports : | ||
+ | Static Tagged ports : 12,26 | ||
+ | Static Untagged ports : | ||
+ | Forbidden ports : | ||
+ | |||
+ | Demais configurações para DHCP de forma dinâmica | ||
+ | |||
+ | |||
+ | * Configuração do switch 192.168.1.240: | ||
+ | |||
+ | VID : 300 VLAN Name : TechWireless | ||
+ | VLAN TYPE : static Advertisement : Disabled | ||
+ | Member ports : 11,26 | ||
+ | Static ports : 11,26 | ||
+ | Current Tagged ports : 26 | ||
+ | Current Untagged ports : 11 | ||
+ | Static Tagged ports : 26 | ||
+ | Static Untagged ports : 11 | ||
+ | Forbidden ports : | ||
+ | |||
+ | |||
+ | === Configuração Hotspot === | ||
+ | |||
+ | *Arquivo de configuração: | ||
+ | |||
+ | * vi /usr/local/nocat/nocat.conf | ||
+ | |||
+ | Verbosity 10 | ||
+ | GatewayName the NoCat Network | ||
+ | GatewayMode Passive | ||
+ | GatewayLog /usr/local/nocat/nocat.log | ||
+ | LoginTimeout 600 | ||
+ | HomePage http://nocat.net/ | ||
+ | DocumentRoot /usr/local/nocat/htdocs | ||
+ | SplashForm splash.html | ||
+ | StatusForm status.html | ||
+ | TrustedGroups Any | ||
+ | AuthServiceAddr 200.135.37.113 | ||
+ | AuthServiceURL http://$AuthServiceAddr/cgi-bin/login | ||
+ | LogoutURL http://$AuthServiceAddr/logout.html | ||
+ | ExternalDevice eth0 | ||
+ | InternalDevice vlan300 | ||
+ | AllowedWebHosts 200.135.37.113 | ||
+ | RouteOnly | ||
+ | ExcludePorts 25 | ||
+ | |||
+ | * vi /usr/local/nocat/authserv/nocat.conf | ||
+ | |||
+ | Verbosity 10 | ||
+ | HomePage http://nocat.net/ | ||
+ | DocumentRoot /usr/local/nocat/authserv/htdocs | ||
+ | DataSource Passwd | ||
+ | Database dbi:mysql:database=nocat | ||
+ | DB_User nocat | ||
+ | DB_Passwd whodatatmydo?! | ||
+ | UserFile /usr/local/nocat/authserv/etc/passwd | ||
+ | GroupUserFile /usr/local/nocat/authserv/etc/group | ||
+ | GroupAdminFile /usr/local/nocat/authserv/etc/groupadm | ||
+ | UserTable member | ||
+ | UserIDField login | ||
+ | UserPasswdField pass | ||
+ | UserAuthField status | ||
+ | UserStampField created | ||
+ | |||
+ | GroupTable network | ||
+ | GroupIDField network | ||
+ | GroupAdminField admin | ||
+ | MinPasswdLength 6 | ||
+ | LocalGateway 10.0.0.1 | ||
+ | LoginForm login.html | ||
+ | LoginOKForm login_ok.html | ||
+ | FatalForm fatal.html | ||
+ | ExpiredForm expired.html | ||
+ | RenewForm renew.html | ||
+ | PassiveRenewForm renew_pasv.html | ||
+ | |||
+ | RegisterForm register.html | ||
+ | RegisterOKForm register_ok.html | ||
+ | RegisterFields name url description | ||
+ | |||
+ | UpdateForm update.html | ||
+ | UpdateFields url description | ||
+ | LoginGreeting Greetings! Welcome to the NoCat Network. | ||
+ | LoginMissing Please fill in all fields! | ||
+ | LoginBadUser That e-mail address is unknown. Please try again. | ||
+ | LoginBadPass That e-mail and password do not match. Please try again. | ||
+ | LoginBadStatus Sorry, you are not a registered co-op member. | ||
+ | |||
+ | RegisterGreeting Welcome! Please enter the following information to register. | ||
+ | RegisterMissing Name, E-mail, and password fields must be filled in. | ||
+ | RegisterUserExists Sorry, that e-mail address is already taken. Are you already registered? | ||
+ | RegisterBadUser The e-mail address provided appears to be invalid. Did you spell it correctly? | ||
+ | RegisterInvalidPass All passwords must be at least six characters long. | ||
+ | RegisterPassNoMatch The passwords you provided do not match. Please try again. | ||
+ | RegisterSuccess Congratulations, you have successfully registered. | ||
+ | |||
+ | UpdateGreeting Enter your E-mail and password to update your info. | ||
+ | UpdateBadUser That e-mail address is unknown. Please try again. | ||
+ | UpdateBadPass That e-mail and password do not match. Please try again. | ||
+ | UpdateInvalidPass New passwords must be at least six characters long. | ||
+ | UpdatePassNoMatch The new passwords you provided do not match. Please try again. | ||
+ | UpdateSuccess Congratulations, you have successfully updated your account. | ||
+ | |||
+ | === Diagrama da Rede Parte Física === | ||
+ | [[Imagem:Technet.png|Diagrama da rede física]] | ||
+ | |||
+ | === Diagrama da Rede Parte Lógica === | ||
+ | [[Imagem:Diagrama.partelogica.png|Diagrama da rede lógica]] | ||
== Programação - PRC == | == Programação - PRC == | ||
+ | |||
+ | === Tabelas criadas no Mysql === | ||
+ | [[Imagem:Redeventosdb.png|800 px|Diagrama do Database redeventos]] | ||
+ | |||
+ | |||
+ | === Página web Equipe TechNet === | ||
+ | |||
+ | *Página login | ||
+ | |||
+ | [[Imagem:Login.jpg|400 px|Página login Equipe TechNet]] | ||
+ | |||
+ | |||
+ | *Listar Estandes | ||
+ | |||
+ | [[Imagem:Captura de tela-1.png|400 px|Listar Estandes Equipe TechNet]] | ||
+ | |||
+ | |||
+ | *Cadastrar Estandes | ||
+ | |||
+ | [[Imagem:Captura de tela-2.png|400 px|]] | ||
+ | |||
+ | |||
+ | *Editar o cadastro de estandes | ||
+ | |||
+ | [[Imagem:Captura de tela-3.png|400 px]] | ||
+ | |||
+ | |||
+ | *Gerenciar Contas Wifi | ||
+ | |||
+ | [[Imagem:Captura de tela4.png|400 px]] | ||
+ | |||
+ | |||
+ | *Listagem de contas Wifi | ||
+ | |||
+ | [[Imagem:Captura de tela6.png|400 px]] | ||
+ | |||
+ | === Scripts página web Equipe TechNet === | ||
+ | [[Media:Www.zip|Código fonte em PHP da aplicação web desenvolvida pela Equipe TechNet]] |
Edição atual tal como às 07h45min de 17 de dezembro de 2009
Red&Ventos Equipe TechNet
Interligação entre disciplinas
<graphviz>
digraph PI { CAB -> IER IER -> GAR GAR -> PRC IER -> PRC
} </graphviz>
Instalação do Sistema Operacional - S.O
- Configuração da bios
power -> ac power loss -> enabled main -> halt on -> all but keyboard
- Distribuição e versão do SO: Ubuntu 9.04
- Particionamento do(s) disco(s):
Filesystem Size / 6.8GB swap 1GB /tmp 3GB /var 10GB
Cabeamento Estruturado - CBE
- Cabos Vermelhos (DC 11)
- Diagrama do Cabeamento
<graphviz>
digraph PI { Est1 -> "Rack Technet" Est2 -> "Rack Technet" "Rack Technet" -> TN1 "Rack Technet" -> TN2 TN1 -> "Rack Switch 240" TN2 -> "Rack Switch 240" "Rack Switch 240" -> "Rack Switch 241" "Rack Switch 241" -> DN11 DN11 -> "Servidor Technet"
} </graphviz>
- Itens realizado na parte de Cabeamento
Entregue projeto contendo:
*Planta baixa com indicação das tomadas dos estandes, armário de telecomunicações, tubulação e cabos. *Vista frontal do armário indicando a utilização de cada porta. *Lista de material *Instalação do cabeamento *Identificação das portas, cabos e tomadas *Certificação do cabeamento
Gerência de Redes - GAR
- Instalação dos Serviços
apt-get install dhcp3 apt-get install bind9 - DNS apt-get install cacti - Gerência de redes apt-get install apache2 apt-get install apt-get install mysql-server apt-get install php5-mysql
SSH
Secure Shell SSH é, simultaneamente, um programa de computador e um protocolo de rede que permite a conexão com outro computador na rede, de forma a executar comandos de uma unidade remota. Possui as mesmas funcionalidades do TELNET, com a vantagem da conexão entre o cliente e o servidor ser criptografada.
apt-get install ssh
*Porta utilizada: 5520
- Configuração do SSH:
apt-get install ssh Editado o arquivo /etc/ssh/sshd.conf Port= 5520 ( Configuração de porta do ssh )
- Configuração de rede
Arquivo: /etc/network/interfaces
auto eth0 iface eth0 inet static address 200.135.37.113 netmask 255.255.255.0 gateway 200.135.37.1 dns-nameservers 200.135.37.65 auto eth1 iface eth1 inet static address 172.113.0.113 netmask 255.255.255.0 gateway 172.113.0.1 auto vlan300 iface vlan300 inet static address 10.0.0.1 netmask 255.255.0.0 vlan_raw_device eth1 auto vlan301 iface vlan301 inet static address 10.1.0.1 netmask 255.255.0.0 vlan_raw_device eth1 auto vlan302 iface vlan302 inet static address 10.2.0.1 netmask 255.255.0.0 vlan_raw_device eth1 auto vlan303 iface vlan303 inet static address 10.3.0.1 netmask 255.255.0.0 vlan_raw_device eth1
DNS
O DNS da nome a endereço IP, é uma tabela que relaciona nomes e números IP. O DNS direto relaciona o número do IP de uma máquina a seu nome. O DNS reverso relaciona o nome a seu IP.
*Porta Utilizada 53
- Instalado bind9
Arquivos de configuração:
- /etc/resolv.conf
nameserver 172.18.0.1 nameserver 200.135.37.65
- named.conf.local:
zone "technet.sj.ifsc.edu.br" { type master; file "/etc/bind/technet.sj.ifsc.edu.br"; };
- technet.sj.ifsc.edu.br:
$TTL 86400
@ IN SOA dns1.technet.sj.ifsc.edu.br. technet.sj.ifsc.edu.br. (
2009120301 ; Serial
1d ; Refresh
4h ; Retry
1w ; Expire
1d ) ; Negative Cache TTL
;
@ IN NS dns1
@ IN NS hendrix.sj.ifsc.edu.br.
@ IN MX 0 mail
@ IN A 200.135.37.113
dns1 IN A 200.135.37.113
mail IN A 200.135.37.113
www IN CNAME dns1
web IN CNAME dns1
DHCP
O DHCP é um mecanismo de endereçamento automático de IP para máquinas se conectarem a rede TCP/IP. Através do DHCP são fornecidas todas as configurações necessárias que um máquina precisa para se conectar a rede. Endereçamento IP, máscara de rede, gateway, servidor DNS, são serviços passados ao host cliente por DHCP.
*Porta utilizada 67
- Instalado dhcp3
Arquivo de configuração:
- dhcpd.conf
authoritative;
default-lease-time 14400;
max-lease-time 86400;
subnet 10.0.0.0 netmask 255.255.0.0 {
range 10.0.0.2 10.0.255.254;
option subnet-mask 255.255.0.0;
option broadcast-address 10.0.255.255;
option routers 10.0.0.1;
option domain-name-servers 10.0.0.1;
option domain-name "wireless.technet.sj.ifsc.edu.br";
}
- As demais configurações para o DHCP será dinâmica conforme o número de estandes.
SMTP
Simple Mail Transfer Protocol (SMTP) é o protocolo padrão para envio de e-mails através da Internet.
*Porta utilizada 25
- Utilizado postifix como servidor de e-mail
apt-get install postifix
O Postfix é um servidor de e-mail que gerência os e-mails que são enviados e recebidos.Os servidores de e-mail podem ser servidores de internet, onde e-mails enviadas e recebidos podem ser transitados para qualquer lugar do mundo, ou servidores de correio intranet onde as mensagens trafegam somente dentro da empresa.
- Utilizado dovecot-imapd como protocolo de recebimento de mensagens.
- RoundCube para envio de mensagens assíncronas
*Porta utilizada para RoundCube 3306
[ http://technet.sj.ifsc.edu.br/roundcube ]
Arquivo de configuração:
- /etc/snmp/snmpd.conf
rocommunity servidorTech syslocation "Redes 1" syscontact "admin@technet.sj.ifsc.edu.br"
- /etc/postfix/main.cf
#Adicionado as seguintes linhas no arquivo main.cf myorigin = technet.sj.ifsc.edu.br myhostname = mail.technet.sj.ifsc.edu.br mydestination = mail, mail.redes.sj.edu.br, localhost
SNMP
É um protocolo de gerência típica de redes TCP/IP, da camada de aplicação que facilita o intercâmbio de informação entre os dispositivos de rede. O SNMP possibilita aos administradores de uma rede gerenciar o desempenho da rede, encontrar e resolver problemas, como também planejar crescimento.
atp-get isntall snmpd
Foi zerado o arquivo snmpd.conf e criado com os seguintes parâmetros
- cd /etc/snmpd.conf:
rocommunity servidorTech syslocation "Redes 1" syscontact "admin@technet.sj.ifsc.edu.br"
CACTI
[ http://technet.sj.ifsc.edu.br/cacti ]
O Cacti é uma ferramenta que recolhe informações de uma rede de computadores e exibe em forma de gráficos. Monitora o estado de elementos de rede e programas, bem como a largura de banda utilizada pela CPU, trabalha com o protocolo snmp.
apt-get install cacti
Cacti terá que interagir com o snmp. Em sua configuração, será necessário indicar a "rocommunity" escolhida no arquivo snmpd.conf, só assim o cacti conseguirá gerar os gráficos normalmente. A criação é opcional, podendo o usuário criar seus próprios gráficos como utilizar alguns modelos já disponíveis na aplicação.
Com esta ferramenta é possível monitorar as interfaces de rede, partições do sistema, login de usuários, consumo de memória entre outros. Para ter uma boa administração de rede, é fundamente esse tipo de aplicação, pois pode-se ter o controle do servidor apenas com gráficos. Os dados coletados podem ser salvos e guardados por muito tempo, seu tamanho é pequeno e permite grande armazenamento. Interagindo com outras ferramentas, é possível encaminhar e-mail, torpedo e outras mensagens para o administrador, como forma de alarmar sobre situações adversas.
Configuração HTTPS (SSL)
É uma implementação do protocolo HTTP sobre uma camada SSL ou do TLS. Essa camada adicional permite que os dados sejam transmitidos através de uma conexão criptografada e que se verifique a autenticidade do servidor e do cliente através de certificados digitais.
*Porta utilizada 443
- Instalação de pacotes necessários:
apt-get install openssl ssl-cert
- Criado o diretório onde o certificado foi alocado
mkdir /etc/apache2/ssl
- Criado o certificado armazenando-o no arquivo apache.pem:
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
- Definido permissão de arquivo
chmod 660 /etc/apache2/ssl/apache.pem
- Habilitado o modo a2enmod
a2enmod ssl
- Editado o arquivo svn
Alterado a linha <VirtualHost *:80> para <VirtualHost *:443> e adicionado as linhas abaixo: SSLEngine on ServerSignature On SSLCertificateFile /etc/apache2/ssl/apache.pem
- Habilitado o bloco <VirtualHost>
a2ensite svn
Configuração TC
Limita taxas de transmissão e a forma de priorização dos pacotes para cada classe: ouro, prata e bronze.
#!/bin/bash TAXA=4000 # 4Mbps UMPOR=`expr $TAXA / 100` OURO=`expr $UMPOR \* 58` # 58% da taxa de transmissao PRATA=`expr $UMPOR \* 23` # 23% da taxa de transmissao BRONZE=`expr $UMPOR \* 14` # 14% da taxa de transmissao WIRELESS=`expr $UMPOR \*5` # 5% da taxa de transmissao DEV=eth0 # ----------- TC ------------------# # eliminando as regras anteriores tc qdisc del dev ${DEV} root 2>/dev/null # adicionando a disciplina de fila na raiz tc qdisc add dev ${DEV} root handle 1:0 htb default 12 # criando a classe pai para limitar a velocidade tc class add dev ${DEV} parent 1:0 classid 1:1 htb rate ${TAXA}kbps ceil ${TAXA}kbps # criando 3 classes (ouro, prata e bronze) tc class add dev ${DEV} parent 1:1 classid 1:10 htb rate ${WIRELESS}kbps ceil ${TAXA}kbps tc class add dev ${DEV} parent 1:1 classid 1:11 htb rate ${OURO}kbps ceil ${TAXA}kbps tc class add dev ${DEV} parent 1:1 classid 1:12 htb rate ${PRATA}kbps ceil ${TAXA}kbps tc class add dev ${DEV} perent 1:1 classid 1:13 htb rate ${BRONZE}kbps ceil ${TAXA}kbps # adicionando qdisc para cada classe tc qdisc add dev ${DEV} parent 1:10 handle 10: sfq perturb 10 tc qdisc add dev ${DEV} parent 1:11 handle 11: sfq perturb 10 tc qdisc add dev ${DEV} parent 1:12 handle 12: sfq perturb 10 tc qdisc add dev ${DEV} parent 1:13 handle 13: sfq perturb 10 # criando os filtros para direcionar os trafegos para cada classe de acordo com o IP # de destino tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 10.0.0.0/16 flowid 1:10 # vai para WIRELESS tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 10.1.0.0/16 flowid 1:11 # vai para OURO tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 10.2.0.0/16 flowid 1:12 # vai para PRATA tc filter add dev ${DEV} protocol ip parent 1:0 prio 1 u32 match ip dst 10.3.0.0/16 flowid 1:13 # vai para BRONZE echo "TC CONFIGURADO"
Openfire ( Mensageiro Instantâneo )
[ http://200.135.37.113:9090 ]
wget http://download.igniterealtime.org/openfire/openfire_3.6.4_all.deb dpkg -i openfire_3.6.4_all.deb mysql -uroot -p ->create databases openfire; ->grant all privileges on openfire.* to [USUARIO]@localhost identified by "[SENHA]"; ->flush privileges; Acessar [IP_VALIDO]:9090
Backup
Enviado por e-mail equipetechnet@hotmail.com
*cd /home/tech/scripts vi backup.sh
#!/bin/bash #Criar um arquivo backup dd if=/dev/zero of=/tmp/backup count=1 bs=10000k 2> /dev/null #criar arquivo extensão ext4 mkfs.ext4 -q -F -F /tmp/backup 2> /dev/null # montar partição mount -o loop /tmp/backup /mnt 2> /dev/null #Compactar o backup data=`date +%F` tar cfj /mnt/backup$data.bz2 /etc/* 2> /dev/null # Mandar backup por email #cat /mnt/backup$data.bz2 | mail guilps@gmail.com -s "backup de $data" destino=equipetechnet@hotmail.com arquivo=/mnt/backup$data.bz2 0 mensagem="backup efetuado com sucesso" data2=`date` echo "Backup realizado em $data2" | mutt -a $arquivo -s "backup de $data" $destino #Desmontar a partição umount /mnt
- Adcionado a rotina na crontab:
*vi /etc/crontab # m h dom mon dow user command 50 21 * * * root /etc/init.d/backup.sh
Firewall
Utilizado para bloquear o acesso a alguns serviços da rede.
Arquivo de configuração:
- vi /etc/init.d/firewall
#!/bin/bash #Regras para funcionamento do NOCAT iptables -P INPUT ACCEPT /usr/local/nocat/bin/clear.fw #Limpando regras do firewall iptables -t filter -F iptables -t nat -F #Regras para roteamento sysctl -w net.ipv4.ip_forward=1 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #bloqueado portas de entradas iptables -P INPUT DROP # Liberar interface Loopback iptables -A INPUT -i lo -j ACCEPT # Liberar solicitacao servidor local iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # Liberar porta para SSH iptables -A INPUT -p tcp --dport 5520 -j ACCEPT #Liberar a porta do NOCAT iptables -I INPUT 3 -p tcp -i vlan300 --dport 5280 -j ACCEPT # Liberar porta para HTTP iptables -A INPUT -p tcp --dport 80 -j ACCEPT # Liberar porta HTTPS iptables -A INPUT -p tcp --dport 443 -j ACCEPT # Liberar porta SMTP iptables -A INPUT -p tcp --dport 25 -j ACCEPT # Liberar Porta DNS iptables -A INPUT -p udp --dport 53 -j ACCEPT # Liberar Porta DHCP iptables -A INPUT -p udp --dport 67 -j ACCEPT # Liberar Porta TFTP iptables -A INPUT -p udp --dport 69 -j ACCEPT # Liberar Porta IMAP iptables -A INPUT -p tcp --dport 143 -j ACCEPT #Ativando gateway NOCAT / Configuracao do NOCAT /usr/local/nocat/bin/gateway
Script Monitoramento Servidor
#!/bin/bash arquivo=monitoramento.txt echo "Estado das interfaces" >> $arquivo ifconfig -a >> $arquivo echo "================================" >> $arquivo echo "Rotas criadas" >> $arquivo route -n >> $arquivo echo "================================" >> $arquivo echo "Firewall" >> $arquivo iptables -L >> $arquivo echo "================================" >> $arquivo echo "Consumo de processamento" >> $arquivo top -b -n1 | grep Cpu >> $arquivo echo "===============================" >> $arquivo echo "Consumo de memoria" >> $arquivo top -b -n1 | grep Men >> $arquivo echo "==============================" >> $arquivo echo "Consumo de disco" >> $arquivo vmstat -d >> $arquivo destino=equipetechnet@hotmail.com mensagem="monitoramento efetuado com exito" data2=`date` echo "Monitoramento realizado em $data2" | mutt -a $arquivo -s "monitoramento de $data" $destino
- Adcionado rotina na crontab
*vi /etc/crontab # m h dom mon dow user command 50 21 * * * root /etc/init.d/monitorar.sh
Instalação de Equipamentos - IER
* Configuração das Vlans
telnet 192.168.1.241 DES-3526:admin# create vlan techwireless tag 300 DES-3526:admin# create vlan techouro tag 301 DES-3526:admin# create vlan techprata tag 302 DES-3526:admin# create vlan techbronze tag 303 DES-3526:admin# vlan techwireless add tagged300 DES-3526:admin# vlan techouro add tagged301 DES-3526:admin# vlan techprata add tagged302 DES-3526:admin# vlan techbronze add tagged303 DES-3526:admin# show vlan
* Identificação das Subredes
eth0 ==> 200.135.37.0 eth1 ==> 192.168.1.0 Vlan 300 Wirelles ==> 10.0.0.0
* Identificação das Vlans
- Configuração do swith 192.168.1.241:
IP 10.0.0.1 vlan 300 Wirelles VID : 300 VLAN Name : techwireless VLAN TYPE : static Advertisement : Disabled Member ports : 12,26 Static ports : 12,26 Current Tagged ports : 12,26 Current Untagged ports : Static Tagged ports : 12,26 Static Untagged ports : Forbidden ports : Demais configurações para DHCP de forma dinâmica
- Configuração do switch 192.168.1.240:
VID : 300 VLAN Name : TechWireless VLAN TYPE : static Advertisement : Disabled Member ports : 11,26 Static ports : 11,26 Current Tagged ports : 26 Current Untagged ports : 11 Static Tagged ports : 26 Static Untagged ports : 11 Forbidden ports :
Configuração Hotspot
- Arquivo de configuração:
- vi /usr/local/nocat/nocat.conf
Verbosity 10 GatewayName the NoCat Network GatewayMode Passive GatewayLog /usr/local/nocat/nocat.log LoginTimeout 600 HomePage http://nocat.net/ DocumentRoot /usr/local/nocat/htdocs SplashForm splash.html StatusForm status.html TrustedGroups Any AuthServiceAddr 200.135.37.113 AuthServiceURL http://$AuthServiceAddr/cgi-bin/login LogoutURL http://$AuthServiceAddr/logout.html ExternalDevice eth0 InternalDevice vlan300 AllowedWebHosts 200.135.37.113 RouteOnly ExcludePorts 25
- vi /usr/local/nocat/authserv/nocat.conf
Verbosity 10 HomePage http://nocat.net/ DocumentRoot /usr/local/nocat/authserv/htdocs DataSource Passwd Database dbi:mysql:database=nocat DB_User nocat DB_Passwd whodatatmydo?! UserFile /usr/local/nocat/authserv/etc/passwd GroupUserFile /usr/local/nocat/authserv/etc/group GroupAdminFile /usr/local/nocat/authserv/etc/groupadm UserTable member UserIDField login UserPasswdField pass UserAuthField status UserStampField created GroupTable network GroupIDField network GroupAdminField admin MinPasswdLength 6 LocalGateway 10.0.0.1 LoginForm login.html LoginOKForm login_ok.html FatalForm fatal.html ExpiredForm expired.html RenewForm renew.html PassiveRenewForm renew_pasv.html RegisterForm register.html RegisterOKForm register_ok.html RegisterFields name url description UpdateForm update.html UpdateFields url description LoginGreeting Greetings! Welcome to the NoCat Network. LoginMissing Please fill in all fields! LoginBadUser That e-mail address is unknown. Please try again. LoginBadPass That e-mail and password do not match. Please try again. LoginBadStatus Sorry, you are not a registered co-op member. RegisterGreeting Welcome! Please enter the following information to register. RegisterMissing Name, E-mail, and password fields must be filled in. RegisterUserExists Sorry, that e-mail address is already taken. Are you already registered? RegisterBadUser The e-mail address provided appears to be invalid. Did you spell it correctly? RegisterInvalidPass All passwords must be at least six characters long. RegisterPassNoMatch The passwords you provided do not match. Please try again. RegisterSuccess Congratulations, you have successfully registered. UpdateGreeting Enter your E-mail and password to update your info. UpdateBadUser That e-mail address is unknown. Please try again. UpdateBadPass That e-mail and password do not match. Please try again. UpdateInvalidPass New passwords must be at least six characters long. UpdatePassNoMatch The new passwords you provided do not match. Please try again. UpdateSuccess Congratulations, you have successfully updated your account.
Diagrama da Rede Parte Física
Diagrama da Rede Parte Lógica
Programação - PRC
Tabelas criadas no Mysql
Página web Equipe TechNet
- Página login
- Listar Estandes
- Cadastrar Estandes
- Editar o cadastro de estandes
- Gerenciar Contas Wifi
- Listagem de contas Wifi
Scripts página web Equipe TechNet
Código fonte em PHP da aplicação web desenvolvida pela Equipe TechNet