Mudanças entre as edições de "Projeto: Internet serve pra quê?"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
 
(17 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 2: Linha 2:
  
 
__TOC__
 
__TOC__
=Maio=
+
=A Proposta=
Programação do mês: 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:
+
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:
 
<center><graphviz>
 
<center><graphviz>
 
graph Rede
 
graph Rede
Linha 34: Linha 34:
 
</graphviz></center>
 
</graphviz></center>
  
==13==
+
=A Implementação=
Hoje fomos conhecer o Laboratório dos Alunos. Conversamos com o Fábio Mafra, aluno do Tecnólogo e que está responsável pelo Lab. às tardes. Ele mostrou o programa de monitoramento das máquinas [http://italc.sourceforge.net/ iTalc], a organização física das redes, o quadro de avisos e o diário de bordo (em papel).
+
==Roteador==
 +
Ativar roteador, tirando o <tt>#</tt> do arquivo <tt>/etc/sysctl.conf</tt>. De:
 +
#net.ipv4.ip-forward=1
 +
para
 +
net.ipv4.ip-forward=1
  
Próximos passos: entender o cabeamento (estruturado) do Lab. para modificações.
+
==Interfaces de Rede==
 +
Configurar placas de rede editando o arquivo <tt>/etc/network/interfaces</tt>, 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
  
==16==
+
==NAT==
 +
Configurar NAT, para que todos os IPs dos computadores fiquem "mascarados" a rede externa, quando obtiverem acesso a internet.
 +
Editar o arquivo <tt>/etc/rc.local</tt> e acrescentar:
 +
iptables -t nat -F
 +
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 +
Obs: antes da linha:
 +
exit 0
 +
 
 +
==DHCP==
 +
Instalar DHCP:
 +
<syntaxhighlight lang=bash>
 +
sudo install dhcp
 +
</syntaxhighlight>
 +
E depois configurar:
 +
<syntaxhighlight lang=bash>
 +
vi /etc/dhcp3/dhcpd.conf
 +
</syntaxhighlight>
 +
com o conteúdo<ref>http://www.linuxbsd.com.br/portal/?q=node/23</ref>:
 +
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. :)
 +
<syntaxhighlight lang=bash>
 +
aptitude install ssh
 +
</syntaxhighlight>
 +
 
 +
==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<ref>http://wiki.ubuntu-br.org/Squid</ref>.  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.<ref>http://www.vivaolinux.com.br/artigo/Configurar-servidor-proxy-Squid-%28Ubuntu%29</ref>
 +
<syntaxhighlight lang=bash>
 +
aptitude install squid3
 +
</syntaxhighlight>
 +
Adicionar em <tt>/etc/rc.local</tt> (antes da linha <tt>exit 0</tt>):
 +
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 <tt>/etc/squid3/squid.conf</tt> 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 <tt>transparent</tt>.             
 +
Feito isso, vamos aplicar a configuração com o comando:
 +
<syntaxhighlight lang=bash>
 +
squid3 -k reconfigure
 +
</syntaxhighlight>
 +
 
 +
====Gerador de relatórios do Proxy====
 +
<syntaxhighlight lang=bash>
 +
aptitude install sarg
 +
</syntaxhighlight>
 +
Editar o arquivo <tt>sarg.conf</tt> 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<ref>http://www.vivaolinux.com.br/dica/Squid-+-SARG-Gerando-relatorios-pelo-nome-de-usuario-autenticado-1</ref>
 +
 
 +
===Clientes===
 +
Nos clientes, é preciso configurar os navegadores para a autoconfiguração (em rede). No Firefox, deve-se alterar o parâmetro <tt>[http://kb.mozillazine.org/Network.proxy.type network.proxy.type]</tt>, adicionando a seguinte linha no final do arquivo <tt>/etc/firefox/profile/prefs.js</tt>:
 +
user_pref("network.proxy.type", 4);
 +
 
 +
Outro arquivo a ser modificado é o <tt>/etc/rc.local</tt>. Nele você vai permitir que o computador resgate a configuração para o usuário <tt>aluno</tt>; ou seja, a configuração automatizada de proxy.
 +
Adicione no final do arquivo (antes da linha <tt>exit 0</tt>):
 +
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
 +
<syntaxhighlight lang=bash>
 +
ldapsearch -x -b dc=cefetsc,dc=edu,dc=br -h 200.135.37.78 uid
 +
</syntaxhighlight>
 +
no terminal, se houver "respostas" ele está funcionando... Se não houver, siga os passos abaixo:
 +
* Virar root com o comando;
 +
<syntaxhighlight lang=bash>
 +
sudo su
 +
</syntaxhighlight>
 +
* Mudar o diretório:
 +
<syntaxhighlight lang=bash>
 +
cd /etc/squid3
 +
</syntaxhighlight>
 +
* Editar o arquivo squid.conf com o comando:
 +
<syntaxhighlight lang=bash>
 +
nano squid.conf
 +
</syntaxhighlight>
 +
e tirar # das seguintes linhas:
 +
http_access allow internet
 +
e colocar a expressão <tt>transparent</tt> na seguinte linha:
 +
http_port 3128 transparent
 +
* Reconfigurar o squid com o seguinte comando:
 +
<syntaxhighlight lang=bash>squid3 -k reconfigure
 +
</syntaxhighlight>
 +
 
 +
=Referências=
 +
<references/>

Edição atual tal como às 11h12min de 28 de novembro de 2011

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