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.
Após instalado, o arquivo de configuração do Squid é o /etc/squid/squid.conf. Originalmente ele possui muitas linhas de comentários, é longo, e sua configuração fica sendo difícil. Iremos renomeá-lo, usaremos o squid.conf que veremos logo depois.
Tecle 'INSERT' e cole o conteúdo abaixo, depois vá acompanhando os comentários para ajustar as configurações conforme o perfil da sua rede.
http_port 3128 # a porta que o squid usa, 3128 é padrão
visible_hostname proxy # proxy é nome do micro na rede
ftp_user asdf@asdf.com #usuário anônimo para ftp (indiferente)
######### 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
cache_mem 64 MB # 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.
#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.
# A acl permitidos são os IPs que não terão sua navegação restrita
acl permitidos src 10.1.0.4 10.1.0.3 10.1.0.7 10.1.0.6 10.1.0.16
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
# 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.
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
####################
## FIM DO SQUID.CONF #######
#######################
Tecle 'ESC' e depois duas vezes a tecla 'Z' (maiúsculo), para salvar e sair.
Agora precisamos editar o arquivo proibidos. Digite:
# vi /etc/squid/proibidos
Adicione nesse arquivo as palavras proibidas, uma abaixo da outra, linha após linha, exemplo:
sexo
ninfetas
astalavista
crack
playboy
orkut
Após salvar e sair, (ESC + ZZ) edite as exceções da mesma forma:
# vi /etc/squid/excecoes
Para completarmos o funcionamento do proxy transparente, precisaremos criar um arquivo que será executado na inicialização do micro, eu o costumo chamar de "transp" e o coloco do diretório /etc. Digite o comando abaixo:
O eth1 na terceira linha corresponde a placa que está ligada a internet, e o eth0 na quarta linha, corresponde a placa ligada na rede local. Altere se necessário.
Salve e saia. Agora você precisa dar permissão de execução para este arquivo. Digite:
# chmod +x /etc/transp
Vamos adicionar o transp na inicialização do computador, editando o arquivo rc.local:
Ainda precisamos ativar o Squid como um serviço do sistema, para isso, abra o aplicativo ntsysv, apenas digitando 'ntsysv', e verifique se o Squid está marcado com o '*' , caso contrário, marque-o, assim, ele será ativado em toda inicialização.
O Squid já está funcionando. Vamos para o firewall.
[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!!!
[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
[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.
[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?
[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.
[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
[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 asdf@asdf.com
######### 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
#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.
# 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
# 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.
[19] Comentário enviado por barbino em 22/06/2008 - 19:59h
[root@localhost rc.d]# service squid restart
Stopping squid: [FAILED]
Starting squid: .................... [FAILED]
[root@localhost 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..
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.