Projeto: Internet serve pra quê?

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

Este é um projeto contemplado no EDITAL 04/2011/PRPPGI.

A Proposta

Entender como funciona o cabeamento do Laboratório dos Alunos para "afunilar" o tráfego por um roteador+proxy, a ser configurado no computador do monitor. A ideia é chegar a esse cenário:

<graphviz>

graph Rede { Internet [shape=plaintext] Monitor [shape=Mrecord,label="Roteador + Proxy"] Switch [shape=circle] C1 [shape=plaintext] C2 [shape=plaintext] C3 [shape=plaintext] C4 [shape=plaintext] C5 [shape=plaintext] C6 [shape=plaintext] C7 [shape=plaintext] C8 [shape=plaintext] C9 [shape=plaintext]

Internet -- Monitor Monitor -- Switch Switch -- C1 Switch -- C2 Switch -- C3 Switch -- C4 Switch -- C5 Switch -- C6 Switch -- C7 Switch -- C8 Switch -- C9 }

</graphviz>

A Implementação

Roteador

Ativar roteador, tirando o # do arquivo /etc/sysctl.conf. De:

#net.ipv4.ip-forward=1

para

net.ipv4.ip-forward=1

Interfaces de Rede

Configurar placas de rede editando o arquivo /etc/network/interfaces, colocando eth0 (rede externa) eth3 (rede interna).

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 172.18.21.244
  netmask 255.255.0.0
  gateway 172.18.0.254

auto eth3
iface eth3 inet static
  address 192.168.20.3
  netmask 255.255.255.0

NAT

Configurar NAT, para que todos os IPs dos computadores fiquem "mascarados" a rede externa, quando obtiverem acesso a internet.

Editar o arquivo /etc/rc.local e acrescentar:
iptables -t nat -F
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Obs: antes da linha:

exit 0

DHCP

Instalar DHCP:

sudo install dhcp

E depois configurar:

vi /etc/dhcp3/dhcpd.conf

com o conteúdo[1]:

ddns-update-style none;
authoritative;
default-lease-time 3600;
max-lease-time 14400;
subnet 192.168.20.0 netmask 255.255.255.0 {
  range 192.168.20.4 192.168.20.30;
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.20.255;
  option routers 192.168.20.3;
  option domain-name-servers 200.135.37.65, 200.135.37.72;
}

SSH

Instalar ssh. Você pode se conectar a um outro computador (com ssh instalado) em qualquer lugar. Resumindo, SSH é uma ferramenta que cumpre seu papel em facilitar a vida de administradores Linux que necessitam realizar uma administração de forma remota. :)

aptitude install ssh

Proxy HTTP

Servidor

Proxy squid3 - É chamado de proxy, pois é um procurador, ou seja, sistema que faz solicitações em nome dos outros. O Squid é um servidor proxy utilizado para gerenciar o acesso a internet (rede externa), pois ele implementa um controle sobre o conteúdo que deve ou não ser acessado pelas máquinas clientes gerenciadas por este servidor[2]. O Squid trabalha com ACLs (Listas de Controle de Acesso) e através dessas listas de controle ele se torna uma poderosa ferramenta na administração de tráfego de conteúdo entre a rede interna e a externa.[3]

aptitude install squid3

Adicionar em /etc/rc.local (antes da linha exit 0):

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

onde 3128 é a porta da qual o Squid está sendo executado. Feito isso, vamos aos detalhes finais no Squid. Abra o arquivo /etc/squid3/squid.conf e descomente as seguintes linhas:

httpd_accel_port 80 transparent
httpd_accel_host virtual
...
httpd_accel_with_proxy on
...
httpd_accel_uses_host_header on 

Na primeira linha, é preciso adicionar a palavra transparent. Feito isso, vamos aplicar a configuração com o comando:

squid3 -k reconfigure

Gerador de relatórios do Proxy

aptitude install sarg

Editar o arquivo sarg.conf de acordo com suas preferências.

language Portuguese;
...
title "Relatório do laboratório";
...
output_dir /var/www/squid-reports

Próximo passo: proxy com geração de relatório por usuário[4]

Clientes

Nos clientes, é preciso configurar os navegadores para a autoconfiguração (em rede). No Firefox, deve-se alterar o parâmetro network.proxy.type, adicionando a seguinte linha no final do arquivo /etc/firefox/profile/prefs.js:

user_pref("network.proxy.type", 4);

Outro arquivo a ser modificado é o /etc/rc.local. Nele você vai permitir que o computador resgate a configuração para o usuário aluno; ou seja, a configuração automatizada de proxy. Adicione no final do arquivo (antes da linha exit 0):

cd /home
rm -rf aluno
mkdir aluno
chown aluno:aluno aluno

Manutenção

Sem acesso a Internet

Como ver se o ldap cai: digitar o comando

ldapsearch -x -b dc=cefetsc,dc=edu,dc=br -h 200.135.37.78 uid

no terminal, se houver "respostas" ele está funcionando... Se não houver, siga os passos abaixo:

  • Virar root com o comando;
sudo su
  • Mudar o diretório:
cd /etc/squid3
  • Editar o arquivo squid.conf com o comando:
nano squid.conf

e tirar # das seguintes linhas:

http_access allow internet

e colocar a expressão transparent na seguinte linha:

http_port 3128 transparent
  • Reconfigurar o squid com o seguinte comando:
squid3 -k reconfigure

Referências