Projeto Integrador - 2013.1 - Pois Agora

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

Equipe Pois Agora

  • Gabriel Souza
  • Gustavo Silva
  • João Martins
  • Kauly Bohm


08/07/2013

- Decidimos o nome da equipe; (Pois Agora)
- Pensamos Sobre o esqueleto do projeto;
- Pensamos sobre algumas soluções(restabelecimento do serviços; configuração de: DHCP, DNS e SMTP; Backup);
- Pensamos sobre algumas etapas em referência à matéria de programação (teste de portas abertas; teste de serviços rodando);
- Fizemos verificações de comandos para analisar se estes podem ser incluídos no projeto;


09/07/2013

- Instalamos o Ubuntu-server em duas máquinas: filial e matriz;

- Feito a configuração das interfaces eth0 de cada unidade inserindo nas mesmas os IPs válidos disponibilizados com a máscara 255.255.255.192:

vi /etc/network/interfaces </syntaxhighlight> Matriz: auto eth0 iface eth0 inet static address 200.135.37.97 netmask 255.255.255.192 gateway 200.135.37.126 </syntaxhighlight> Filial: auto eth0 iface eth0 inet static

address 200.135.37.101 netmask 255.255.255.192 gateway 200.135.37.126 </syntaxhighlight>

- Restartamos o serviço para validar as informações:
/etc/init.d/networking restart </syntaxhighlight>

- Realizado a instalação do ssh em ambas as máquinas;

aptitude install ssh </syntaxhighlight>

- Passamos o cabeamento no RAC reservado para os IPs válidos;

- Conseguimos acesso com sucesso nos dois servidores via SSH;

teste@iteste:~$ ssh root@200.135.37.97 +-----------------+ |EQUIPE POIS AGORA| | ACESSO RESTRITO | +-----------------+ root@200.135.37.97's password:


teste@iteste:~$ ssh root@200.135.37.101 +-----------------+ |EQUIPE POIS AGORA| | ACESSO RESTRITO | +-----------------+ root@200.135.37.97's password:

</syntaxhighlight>

- *Iniciamos a configuração do NTOP;

aptitude install ntop </syntaxhighlight> Continuar...

- Instalamos e configuramos o servidor DNS para resolver os nomes com master e slave. O master fica na matriz e caso a matriz esteja fora por algum motivo o slave que está na filial responde:

Filial e Matriz: aptitude instal bind9 bind9utils </syntaxhighlight> Matriz: vi /etc/bind/named.conf.local

zone "poisagora.sj.ifsc.edu.br" { type master; file "/etc/bind/zones/pa.zone"; };

  1. Zona reversa

zone "37.135.200.in-addr.arpa" { type master; file "/etc/bind/zones/rev.37.135.200.in-addr.arpa"; }; </syntaxhighlight> Filial: vi /etc/bind/named.conf.local

zone "poisagora.sj.ifsc.edu.br" IN { type slave; file "/etc/bind/db.slave"; masters {200.135.37.97;}; };

  1. Zona reversa

zone "37.135.200.in-addr.arpa" { type slave; file "/etc/bind/db.37.135.200"; masters {200.135.37.97;}; }; </syntaxhighlight>

Matriz:

vi /etc/bind/zones/pa.zone

@ IN SOA ns1.poisagora.sj.ifsc.edu.br. admin.ns1.poisagora.sj.ifsc.edu.br. (

                       2013071900 ; Serial
                       28800 ; Refresh
                       3600 ; Retry
                       604800 ; Expire
                       38400 ) ; Default TTL
               NS      ns1.poisagora.sj.ifsc.edu.br.
               MX      10 mta.poisagora.sj.ifsc.edu.br.
               IN      A 200.135.37.97

$ORIGIN poisagora.sj.ifsc.edu.br. ns1 IN A 200.135.37.97 mta IN A 200.135.37.97 www IN A 200.135.37.97 web IN CNAME www matriz IN A 200.135.37.97 filial IN A 200.135.37.101 slave IN A 200.135.37.101

vi /etc/bind/zones/rev.37.135.200.in-addr.arpa

$ORIGIN 37.135.200.in-addr.arpa. @ IN SOA ns1.poisagora.sj.ifsc.edu.br. admin.ns1.poisagora.sj.ifsc.edu.br. ( 2013071902; 28800; 604800; 604800; 86400 )

       IN      NS      ns1.poisagora.sj.ifsc.edu.br.
       IN      NS      ns2.poisagora.sj.ifsc.edu.br.

97 IN PTR ns1.poisagora.sj.ifsc.edu.br. 97 IN PTR matriz.poisagora.sj.ifsc.edu.br. 97 IN PTR mta.poisagora.sj.ifsc.edu.br. 97 IN PTR www.poisagora.sj.ifsc.edu.br. 101 IN PTR filial.poisagora.sj.ifsc.edu.br.

</syntaxhighlight>

- Instalamos o Apache e editamos a página default com o nome da equipe apenas para testes.

aptitude install apache2 apache2-utils </syntaxhighlight> adicionamos no arquivo: vi /etc/apache2/sites-available/default

ServerName www.poisagora.sj.ifsc.edu.br ServerAlias *.poisagora.sj.ifsc.edu.br ServerAdmin poisagora@poisagora.sj.ifsc.edu.br </syntaxhighlight> vi /var/www/index.html


<html>

<head>

<blink>POISAGORA?</blink>

</head>

<body>

Equipe:
Gabriel
Gustavo
Joao
Kauly <a href="http://200.135.37.97:3000">NTOP</a>

</body> </html>

</syntaxhighlight>

10/07/2013

- *Instalamos o postfix e configuramos;

Continuar...

- Mexemos na configuração do DNS, (MASTER e SLAVE).

- Fizemos prova de IER nas duas últimas aulas;

11/07/2013

- Tivemos explicação sobre cabeamento no projeto integrador;

- Prova nas duas últimas aulas de cabeamento;

12/07/2013

- *Configuramos o MUA com autenticação SASL e instalamos e testamos com o MUTT;

*- Instalamos o SAMBA, porém não terminamos de configurar;

Matriz: aptitude install samba smbfs </syntaxhighlight> Filial aptitude install smbfs smbclient </syntaxhighlight>

- Instalamos o OpenVPN, porém não terminamos de configurar;

aptitude install openvpn bridge-utils </syntaxhighlight>

- Configuramos a BIOS dos servidores para que eles liguem automaticamente, quando tiver queda de energia;

15/07/2013

- *Terminamos de configurar o OpenVPN;

Continuar...

- Instalamos e configuramos o DHCP;

install dhcp3-server </syntaxhighlight> vi /etc/dhcp3/dhcpd.conf

shared-network LOCAL-NET {

       option domain-name "poisagora.sj.ifsc.edu.br";
       option domain-name-servers 10.10.10.1, 200.135.37.97;
       subnet 10.10.10.0 netmask 255.255.255.0 {
               option routers 10.10.10.1;
               range 10.10.10.1 10.10.10.99;
       }

} </syntaxhighlight> Restartamos o serviço para aplicar as configurações: /etc/init.d/dhcp3-server start </syntaxhighlight>

16/07/2013

- *Terminamos de configurar o SAMBA;

Continuar...

- Testamos o DHCP no servidor da MATRIZ;

17/07/2013

- Mudamos os arquivo de Hosts;

Inluimos na:

Matriz: vi /etc/hosts

10.10.10.100 filial </syntaxhighlight> Filial vi /etc/hosts

10.10.10.1 matriz </syntaxhighlight>

- Configuramos o acesso ao ssh sem senha entre matriz<->fillial;

Matriz: ssh-keygen -t dsa -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub | ssh root@filial 'cat - >> ~/.ssh/authorized_keys' cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys </syntaxhighlight> Filial: ssh-keygen -t dsa -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub | ssh root@matriz 'cat - >> ~/.ssh/authorized_keys' cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys </syntaxhighlight>

21/07/2013

- Criamos e aplicamos os Scripts de SLA;

Aplicamos regras na crontab que rodam scripts verificadores a cada tempo definido, para garantir que os serviços voltem a funcionar no período estabelecido. Os scripts verificam se o programa está rodando, caso não esteja ele restarta-o. Matriz: crontab -e

  1. m h dom mon dow command
  • * * * * /etc/sla/estabelecer_vpn_matriz.sh
  • /3 * * * * /etc/sla/restabelecer_dns.sh
  • /3 * * * * /etc/sla/restabelecer_postfix.sh
  • /3 * * * * /etc/sla/restabelecer_dhcp.sh

</syntaxhighlight>

vi /etc/sla/estabelecer_vpn_matriz.sh

  1. !/bin/bash

if [ "$(netstat --program|grep open| wc -l)" -eq "0" ]

       then
              pkill openvpn > /dev/null 2> /dev/null
              cd /etc/openvpn
              service openvpn restart > /dev/null 2> /dev/null

fi sleep 30 if [ "$(netstat --program|grep open| wc -l)" -eq "0" ]

       then
              pkill openvpn > /dev/null 2> /dev/null
              cd /etc/openvpn
              service openvpn restart > /dev/null 2> /dev/null

fi </syntaxhighlight>

vi /etc/sla/restabelecer_dns.sh

  1. !/bin/bash

if [ "$(netstat --program|grep named| wc -l)" -eq "0" ]

       then
              pkill named > /dev/null 2> /dev/null
              service bind9 restart > /dev/null 2> /dev/null

fi </syntaxhighlight>

vi /etc/sla/restabelecer_postfix.sh

  1. !/bin/bash

if [ "$(netstat --program|grep master| wc -l)" -eq "0" ]

       then
              service postfix stop > /dev/null 2> /dev/null
              service postfix restart > /dev/null 2> /dev/null

fi </syntaxhighlight> vi /etc/sla/restabelecer_dhcp.sh

  1. !/bin/bash

if [ "$(netstat --program|grep dhcpd3| wc -l)" -eq "0" ]

       then
              pkill dhcpd3 > /dev/null 2> /dev/null
              /etc/init.d/dhcp3-server start > /dev/null 2> /dev/null

fi </syntaxhighlight>

Filial: crontab -e

  1. m h dom mon dow command
  • * * * * /etc/sla/estabelecer_vpn.sh
  • /3 * * * * /etc/sla/restabelecer_postfix.sh
  • /3 * * * * /etc/sla/restabelecer_dns.sh

</syntaxhighlight> vi /etc/sla/estabelecer_vpn.sh

  1. !/bin/bash

/sbin/route add -host 200.135.37.101 gw 200.135.37.126 /sbin/route del default gw 200.135.37.126 > /dev/null 2> /dev/null /sbin/route add default gw 10.10.10.1 > /dev/null 2> /dev/null

if [ "$(nmap -p22 10.10.10.1|grep open| wc -l)" -eq "0" ]

       then
               pkill openvpn > /dev/null 2> /dev/null
               cd /etc/openvpn
               service openvpn restart > /dev/null 2> /dev/null

fi

sleep 30

/sbin/route add -host 200.135.37.101 gw 200.135.37.126 /sbin/route del default gw 200.135.37.126 > /dev/null 2> /dev/null /sbin/route add default gw 10.10.10.1 > /dev/null 2> /dev/null

if [ "$(nmap -p22 10.10.10.1|grep open| wc -l)" -eq "0" ]

       then
               pkill openvpn > /dev/null 2> /dev/null
               cd /etc/openvpn
               service openvpn restart > /dev/null 2> /dev/null

/sbin/route add -host 200.135.37.101 gw 200.135.37.126 /sbin/route del default gw 200.135.37.126 > /dev/null 2> /dev/null /sbin/route add default gw 10.10.10.1 > /dev/null 2> /dev/null

fi </syntaxhighlight> vi /etc/sla/restabelecer_dns.sh

  1. !/bin/bash

if [ "$(netstat --program|grep named| wc -l)" -eq "0" ]

       then
              pkill named > /dev/null 2> /dev/null
              service bind9 restart > /dev/null 2> /dev/null

fi </syntaxhighlight> vi /etc/sla/restabelecer_postfix.sh

  1. !/bin/bash

if [ "$(netstat --program|grep master| wc -l)" -eq "0" ]

       then
              service postfix stop > /dev/null 2> /dev/null
              service postfix restart > /dev/null 2> /dev/null

fi </syntaxhighlight>

- Criamos e aplicamos os scripts de Backup;

Na crontab aplicamos regras para serem aplicadas ao meio dia e meia noite. O script de backup simplismente salva os arquivos compactados com a hora e data incluso no nome no diretório de backup. O script verificador serve para garantir que tenhamos no máximo os 30 backups mais recentes. Na filial o script envia por ssh com configuração para não pedir senha no diretório de backup.

Matriz: crontab -e

0 12 * * * /etc/sla/script_backup_matriz.sh 0 0 * * * /etc/sla/script_backup_matriz.sh 0 1 * * * /etc/sla/verificador_backup.sh 0 13 * * * /etc/sla/verificador_backup.sh </syntaxhighlight> vi /etc/sla/script_backup_matriz.sh

  1. !/bin/bash

tar -cf /backups/matriz/backup_$(date "+%H%d%m%Y").tar.gz /etc /home </syntaxhighlight> vi /etc/sla/verificador_backup.sh

  1. !/bin/bash

if [ "$(ls -lt /backups/matriz | wc -l)" -ge "31" ] then

               rm -f $(ls -lt /backups/matriz | tail -n 1 | cut -d" " -f8)

fi if [ "$(ls -lt /backups/filial | wc -l)" -ge "31" ] then

               rm -f $(ls -lt /backups/filial | tail -n 1 | cut -d" " -f8)

fi </syntaxhighlight>

Filial: crontab -e

0 12 * * * /etc/sla/script_backup_filial.sh 0 0 * * * /etc/sla/script_backup_filial.sh </syntaxhighlight> vi /etc/sla/script_backup_filial.sh

  1. !/bin/bash

tar zcvf - /etc /home | ssh matriz cat ">" /backups/filial/backup_$(date "+%H%d%m%Y").tar.gz </syntaxhighlight>

25/07/2013

- Instalmos e configuramos o PPPoE;

aptitude install pppoe </syntaxhighlight>

Descomentamos a linha e adicionamos o ip abaixo dela:

Matriz: vi /etc/ppp/peers/dsl-provider

  1. pty "/usr/sbin/pppoe -I eth0 -T 80 -m 1452"

200.135.37.97: </syntaxhighlight> Filial: vi /etc/ppp/peers/dsl-provider

  1. pty "/usr/sbin/pppoe -I eth0 -T 80 -m 1452"

200.135.37.101: </syntaxhighlight> Fizemos a conexão com o servidor pppoe com o comando, colocando nosso login e senha quando perguntado: pppoeconf </syntaxhighlight>