Configurando Gnu/Linux CentOs 5.3 para compartilhar Internet via IPTABLES + Squid Proxy-Cache Trasparente + SARG com relatorios de acessos por IP + Bloqueo de MSN e Orkut na hora de trabalho, liberando acesso na hora do Almoço ou com IP exclusivos. :)

1. Vamos instalar e configurar o servidor DHCP para entregar a configuração de rede para os Hosts da rede.

#yum install dhcp -y

2. edita o arquvo /etc/dhcpd.conf
#————————————
ddns-update-style interim;
ignore client-updates;

subnet  10.0.0.0   netmask   255.0.0.0 {
option routers                                    10.0.0.1;
option subnet-mask                        255.0.0.0;
option nis-domain                            “meudomain.org”;
option domain-name                       “meudomain.org”;
option domain-name-servers    ipdemeudns1, ipdemeudns2;
range 10.0.0.100 10.0.0.200;
}

#—————–

3. edita o arquivo /etc/dhcp6c.conf
# onde tem eth1 colocar o dispositivo da rede local.

#——————
interface eth1 {
send rapid-commit;
request prefix-delegation;
};

#——————

4. compartilhando a net com o IPTABLES…onde o dispositivo eth0 e o dispositivo que esta conectado na WAN… adiciona essas linhas la no rc.local….
#——————-

 modprobe iptable_nat
 echo 1 > /proc/sys/net/ipv4/ip_forward
 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 iptables -t nat -A PREROUTING -p tcp -m multiport --dport 80,8080,3128,443 -j REDIRECT --to-port 3128

#——————-

5. vamos instalar e configurar o squid com um minimo de configuração…

#yum install squid -y

6. Configurando /etc/squid/squid.conf

#——————–
#Recommended minimum configuration: coloque a sua rede interna…
acl all src 10.0.0.0/8

#procurar a variavel http_port e colocar o valor— trasparent.
http_port 3128 transparent

#vamos as regras para bloquear e liberar o MSN e orkut.
#vamos criar uma acl para ter IPs com o msn e orkut sempre liberados…

acl LIBERA src “/etc/squid/ipliberado.txt”

#dentro do arquivo ipliberado.txt coloca o ip mascara do cliente a não participar da proibição de msn orkut(diretores tem que trabalhar:)
#EX: 10.0.0.2 255.0.0.0

#agora vamos criar a acl para bloquear…

acl MSN url_regex “/etc/squid/palavrasbloqueadas.txt”

acl almoco time MTWHF 12:00-14:00
http_access allow MSN almoco
http_access deny MSN !LIBERA

#————————

7. Criando o arquivo… gedit /etc/squid/palavrasbloqueadas.txt” colocar dentro todos os sites que vc quer bloquear e a quer liberar na hora do amoço…. usando a url_regex o endereço será bloqueado se conter a palavra.. e usando dstdomain e preciso colocar no arquivo palavrasbloqueadas.txt” endereço completo… ex: http://www.orkut.com
#———————–
passport
msgr
msn
messenger
orkut
twitter
webwarper
the-cloak
anonymouse
kproxy
browseatwork
mathtunnel
unipeak
love

#————————

8. Vamos a uma breve configuração de segurança squid….

#limitando cache procure no arqui e descomete-a. # nunca coloque mais que a metade de sua ram.

cache_mem 128 MB
cache_swap_low 90
cache_swap_high 95
cache_store_log /var/log/squid/store.log
logfile_rotate 1

cache_dir ufs /var/spool/squid 100 16 256

Configurações do cache feito em disco, o primeiro numeral (100 no caso) indica, em MB, o espaço em disco que poderá ser usado.

dentre outras de acordo com o cenário!!!

#————————-

9. Vamos configurar o sarg gerador de relatórios de acessos…

#e preciso instalar o servidor apache para ver os relatórios.
yum install httpd -y

#baixando
wget ftp://ftp.univie.ac.at/systems/linux/dag/fedora/8/en/i386/RPMS.dries/sarg-2.2.5-1.fc8.rf.i386.rpm

#instalando
yum localinstall –nogpgcheck sarg-2.2.5-1.fc8.rf.i386.rpm

#vamos criar um usuário “centos” e depois coloca a senha “scentos” para ter acesso aos relatórios.

htpasswd -c /etc/httpd/.htaccess centos

#digitar a senha “scentos”e pronto.

10. Configurando o apache para o sarg.
gedit /etc/httpd/conf/httpd.conf

#———————–
<Directory “/var/www/html/sarg/”>
Options Indexes FollowSymLinks
AuthType Basic
AuthName “Digite seu Usuário e sua Senha”
AuthUserFile /etc/httpd/.htaccess
Require valid-user
AllowOverride None
Order allow,deny
Allow from all
</Directory>

#———————-

#vamos dar uma configurada básico no sarg em..
gedit /etc/sarg/sarg.conf

#escolher se enviar os logs por email.. languages, e etc…

#iniciar o sarg em background
/usr/bin/sarg&

podemos colocar também no rc.local para iniciar sempre que o server iniciar…

Visualizando os relatórios de acesso do SARG colocamos no Browser o endereço: http://localhost/sarg

Colocamos o Usuário e Senha que criamos e esta ai.. uma configuração básica simples e funcional…🙂

Lembrar de Configurar os Serviços para iniciar automaticamente…

chkconfig --level 35 dhcpd on
chkconfig --level 35 httpd on
chkconfig --level 35 squid on

🙂