Mandriva 2006 - Configurando servidor proxy transparente completo

Esse artigo ensinará a montar um servidor proxy completo com o Mandriva 2006. Instalação e configuração do proxy Squid transparente com cache, bloqueio de páginas e downloads impróprios, DNS para sua rede local, firewall simples e funcional com iptables, SSH e Webmin para acesso remoto.

[ Hits: 108.905 ]

Por: Tiago André Geraldi em 09/05/2006


Introdução e instalação de componentes básicos



Através desse artigo pretendo passar a todos a instalação e configuração de um servidor completo para a sua rede através do Mandriva 2006, independente da quantidade de computadores da sua rede, dependendo somente do seu hardware para isso. No meu caso, um Duron 900mhz com 256mb, é mais que suficiente para um rede com 30 computadores, calculo que suportaria até 100 máquinas.

Para iniciar, tenha um computador com o Mandriva Linux 2006 instalado, não importando o tipo de instalação que fez, se instalou vários pacotes, se instalou poucos, se está usando interface KDE, Gnome ou em modo texto. Basta que você tenha duas placas de rede e que as duas estejam configuradas, uma com a internet e outra com a rede local. Detalhes dessas configurações não serão tratadas neste artigo.

Vamos para o primeiro passo, instalação dos componentes.

Vamos verificar se você já tem o Squid instalado, digite o comando: (lembrando que todos os comandos neste artigo devem digitados como root)

# urpmi squid

Se o pacote não estiver instalado, o sistema pedirá o CD necessário, (tenha todos os CDs do Mandriva em mãos) caso contrário dirá que não há nenhuma instalação a ser feita. Prossiga fazendo o mesmo com os pacotes a seguir:

# urpmi iptables
# urpmi openssh
# urpmi webmin
# urpmi ntsysv

(utilitário em modo texto para monitoramento dos serviços)
# urpmi bind

A partir de agora, começaremos as configurações.

    Próxima página

Páginas do artigo
   1. Introdução e instalação de componentes básicos
   2. Configurando Squid
   3. Configurando firewall
   4. Configurando acesso remoto
   5. Configurando DNS para rede local
   6. Encerramento e conclusão
Outros artigos deste autor

Backup de arquivos das estações de sua rede com Samba PDC

Ubuntu, simplesmente poderoso

Samba - PDC com Debian e Clamwin antivírus sincronizado nas estações

Leitura recomendada

Implementação de um servidor Linux Squid + Iptables + DHCP

Configuração do Squid + Dansguardian no Slackware 11

Instalando o Videocache no Debian Lenny

Colocando senha nos gerenciadores do Squid (SARG e MYSAR) de forma simples

Squid 2.6 com autenticação e bloqueio de sites, downloads, Orkut, MSN, vídeos e googletalk

  
Comentários
[1] Comentário enviado por thelinux em 09/05/2006 - 10:02h

Rapaz, parabéns pelo ótimo tuto. E, eu que sou fã de Mandriva/Conectiva fiquei feliz em ver teu artigo. VAleu!

[2] Comentário enviado por Vilmar Silva em 10/05/2006 - 18:50h

Olá pessoal!
Tenho o Kurumin 6.0 instalado no meu computador. Mas não estou conseguindo fazer funcionar os seguintes equipamentos:
Impressora Epson LX 300+ ;
Scanner Genius 1200 XE.
Gostaria que alguém me ajudasse.
Obrigado!

[3] Comentário enviado por Maycon Pires em 13/05/2006 - 02:19h

Parabéns pelo excelente artigo Virgulla, você explicou de uma forma bem completa, pois, explicou diversos serviços muito utéis em qualquer servidor, novamente parabens pela matéria!!!

Vlw galera da VOL!!!

[4] Comentário enviado por virgulla em 19/05/2006 - 08:42h

obrigado a todos que votaram e comentaram, também aqueles me mandaram e-mails, espero ter ajudado, e estar melhorando nos próximos artigos.

[5] Comentário enviado por rintruder em 06/08/2006 - 03:55h

Parabens, ficou otimo muito bem explicado e bem dedutivo.. falo isso pq tenho uma base em linux, mas nao seria capaz de fazer sozinho.... mas com suas orientções foi facil e rapido .... Obrigado

[6] Comentário enviado por mayconmarangoni em 24/08/2006 - 17:48h

mano o meu squid não inicia deixei o meu conf de acordo com o seu e nada ....falha no squid

so mudei os endereços ips

[[email protected] ~]# service squid start
init_cache_dir /var/spool/squid... Iniciando squid: [FALHOU]
[[email protected] ~]#

o que faço?

[7] Comentário enviado por virgulla em 25/08/2006 - 09:14h

Verifique a linha "cache_effective_user ..." veja qual é o ususário definido. Veja se este usuário existe no sistema, se não adicione-o. Depois transforme-o em dono da pasta onde será armazenado o chache:
# chown -R usuario /var/spool/squid

Agora crie o cache e inicie o squid:
# squid -z
# service squid start

Se não funcionar poste aqui, para pensarmos em outra solução.

[8] Comentário enviado por atroz em 10/11/2006 - 23:58h

este artigo serve para slackware 10.1?

[9] Comentário enviado por celodacruz em 26/06/2007 - 13:34h

mtu bom o tuto...
me ajudo bastante na montagem do meu server linux!!!..

[10] Comentário enviado por Ov3rk1ll em 26/06/2007 - 17:31h

opa
fiz tudo aki e ta beleza
agora eu fiz o comando urpmi ntsysv e nao acha o pacote
diz q nao tem nenhum nome de pacote
e quando eu do um squid -z e squid -D ele da a seguinte mensagem
ParseconfigFile: line 74 unrecognized httpd_accel_host virtual
ParseconfigFile: line 75 unrecognized httpd_accel_port 80
ParseconfigFile: line 76 unrecognized httpd_accel_with_proxy on
ParseconfigFile: line 77 unrecognized httpd_accel_uses_host on
o que pode ser?

[11] Comentário enviado por Ov3rk1ll em 26/06/2007 - 17:43h

resolvi do ntsysv
agora o mesmo problema do nosso amigo maycommarangony
e jah fiz tbm e nao deu certo
coloquei usuario root
teria q coloar outro ?

[12] Comentário enviado por virgulla em 26/06/2007 - 23:19h

Olá pessoal, devido as atualizações do Mandriva, muitas coisas neste meu artigo estão ultrapassadas, principalmente a questão do squid. Essas quatro linhas referente ao proxy transparente não são mais utilizadas na versão 2.6 em diante, voces devem apagá-las. Para ativar o proxy transparente agora, adicionem "transparent" no final da primeira linha (a configuração da porta 3128).
Provavelmente irá resolver o problema.
Obrigado a todos pelos comentários.

[13] Comentário enviado por virgulla em 26/06/2007 - 23:23h

caro Ov3rk1ll...
qto ao usuário, nao recomendo colocar root, irá abrir uma grande brecha na segurança do seu servidor. Verifique a configuração "transparent" que deverá resolver o seu problema.

Estarei a disposição,
abraço.

[14] Comentário enviado por brunosalmito em 27/06/2007 - 14:12h

Amigo só uma dica acho que fica mais fácil.
Ao inves de ter que digitar "acl exe url_regex -i .exe
acl zip url_regex -i .zip
acl rar url_regex -i .rar
acl scr url_regex -i .scr
acl msi url_regex -i .msi
acl wmv url_regex -i .wmv
acl pif url_regex -i .pif
acl avi url_regex -i .avi"
você poderia ter feito assim:
"acl block_down url_regex -i .exe .mov .mp3 .msi . rar .zip"
depois
http_access block_down deny block_down

Mas ai manim você está de parabens ficou muito bom :)

[15] Comentário enviado por rodrigoadachi em 22/09/2007 - 10:39h

Ola, quando eu digito squid -z ele me retorna:
aclParseAclLine: WARNING: empty ACL: acl excecoes url_regex "/etc/squid/excecoes"

e as configurações do proxy transparente tb derão erro ai eu coloquei estas mas tb ñ funcionou:
icp_access allow all
visible_hostname on
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
httpd_accel_port 80
httpd_accel_host virtual

Utilizo o CentOs 5

Obrigado...

[16] Comentário enviado por zecacoelho em 11/02/2008 - 15:47h

Na configuração do squid na linha

acl localhost src 127.0.0.1/255.255.255.255

O ip da minha rede é fixo e o endereço do modem é 10.10.1.1, qual é o ip que eu coloco?

Obrigado

[17] Comentário enviado por removido em 07/03/2008 - 09:24h

e ae galera estou tendo problemas na hora de dar o start no squid...

/etc/init.d/squid start
Starting squid: [FAILED]

ja executei o chown -R usuario /var/spool/squid e tambem nada...

deem uma olhada no meu codigo:

# a porta que o squid usa, 3128 é padrão
http_port 3128 transparent
# proxy é nome do micro na rede
visible_hostname proxy
#usuário anônimo para ftp (indiferente)
ftp_user [email protected]

######### para quem não sabe, cache é o armazenamento das páginas
# CACHE # abertas pelos usuários, afim de acelerar uma nova visita,
######### aumenta consideravelmente a velocidade de navegação

# quantidade da cache usada na memória ram,
############## recomendo o uso de 1/4 da memória disponível
############## a não ser, que o micro seja utilizado para outras
############## funções.
cache_mem 64 MB

maximum_object_size_in_memory 64 KB
maximum_object_size 700 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95

#abaixo, o diretório onde o cache será armazenado em disco,
#recomendo a utilização deste diretório abaixo que é o padrão
# o número 5000 porque serão disponibilizados 5GB de espaço
# altere conforme as suas possibilidades.

cache_dir ufs /var/spool/squid 5000 16 256

refresh_pattern ^ftp: 15 2% 2280
refresh_pattern ^gother: 15 0% 2280
refresh_pattern . 15 20% 2280

cache_effective_user squid

########
# LOGS #
########
cache_access_log /var/log/squid/access.log


#########
# ACLs ##
#########

acl all src 0.0.0.0/0.0.0.0

# A acl permitidos são os IPs que não terão sua navegação restrita
acl permitidos src 192.168.0.20

acl localhost src 127.0.0.1/255.255.255.255

# A acl redelocal, são os demais micros, que terão a navegação restrita
# ajuste-a conforme a sua classe, se usa IPs 192, altere para 192.168.0.0/24
# O "/24" significa máscara 255.255.255.0

acl redelocal src 192.168.0.0/24

http_access allow localhost
http_access allow permitidos

# Abaixo vem a indicação para o arquivo que conterá as palavras
# que não poderão conter nos sites que os usuários visitar.
# No arquivo exceções, haverá palavras que que anulam a proibição
# com por exemplo sexoesaude.

acl proibidos url_regex "/etc/squid/proibidos"
http_access deny proibidos

# As ACLs a seguir, bloqueiam downloads pelas extensões dos arquivos.
# você adicionar novas extensões da mesma forma.

acl sem_download url_regex -i .exe .mov .mp3 .msi . rar .zip
http_access deny sem_download

http_access allow redelocal
http_access deny all


a parte do squid -z , squid -D e chmod +x /etc/transp
estao indo normal.. sem erros... mas na hora que vai dar start aparece aquilo...[FAILED]

o que eu faço ????

[18] Comentário enviado por michelcsouza em 29/05/2008 - 05:25h

Mano estou no mesmo dilema.... se alguem poder ajudar.. para resolvermos isso....

[19] Comentário enviado por barbino em 22/06/2008 - 19:59h

[[email protected] rc.d]# service squid restart
Stopping squid: [FAILED]
Starting squid: .................... [FAILED]
[[email protected] rc.d]# service squid status
squid is stopped
squid: ERROR: No running copy

Ola amigo..ja fiz tudo que foi postado....agora meu squid ta assim, me ajuda ai..

[20] Comentário enviado por gersonst em 03/12/2008 - 18:07h

Sobre

[[email protected] rc.d]# service squid restart
Stopping squid: [FAILED]
Starting squid: .................... [FAILED]


Eu estava tendo este problema...
no meu caso, eu havia refeito as páginas de erro em /usr/share/squid/errors/Portuguese e não percebi que as permissões estavam erradas. Modifiquei para " -rw-r--r-- ", conforme estão nos arquivos de outras línguas. Para mim, resolveu.


Contribuir com comentário