Instalando e configurando Squid no CentOS 5.4
Olá pessoal geek do Viva o
Linux ! Esse meu artigo não visa entrar em profundos detalhes nas ACLs do Squid e sim como instalar e configurar o Squid no CentOS 5.4. Uso essa versão do CentOS no momento como servidor, mas com certeza esse artigo também serve pra versões anteriores do sistema, embora seja sempre bom usarmos a versão mais atual.
Vamos instalar o Squid via yum:
# yum install squid
Ou via rpm:
# wget ftp://ftp.muug.mb.ca/mirror/centos/5.4/os/i386/CentOS/squid-2.6.STABLE21-3.el5.i386.rpm
# rpm -ivh squid-2.6.STABLE21-3.el5.i386.rpm
Agora vamos renomear o
squid.conf , que está dentro da pasta /etc/squid, pra squid.conf.original:
# mv /etc/squid/squid.conf /etc/squid/squid.conf.original
Vamos copiar a configuração do squid.conf abaixo e colocar no squid.conf que iremos criar dentro da pasta /etc/squid/:
http_port 3128 transparent
# http_port 3128 transparent (caso seja transparente)
visible_hostname Servidor_Webproxy_squid
#client_netmask 255.255.255.0 (Desabilitando a máscara de rede, aparecerá o IP no access.log)
# Configurações de cache, dono, logs, errors
cache_effective_user squid
cache_effective_group squid
cache_mem 256 MB
cache_dir diskd /etc/squid/cache/1 1999 128 512 Q1=64 Q2=72
cache_access_log /etc/squid/logs/access.log
cache_log /etc/squid/logs/cache.log
cache_store_log /etc/squid/logs/store.log
error_directory /usr/share/squid/errors/Portuguese
# Atualização do cache
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
auth_param basic children 5
auth_param basic realm Internet Security Pisa
auth_param basic credentialsttl 1 hours
auth_param basic casesensitive off
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
# ACL global e portas
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/255.255.255.255
acl SSL_ports port 443 563 # SSL, https, snews
acl Safe_ports port 80 8080 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 10000 # webmin
acl Safe_ports port 631 # cups
acl Safe_ports port 901 # samba
acl CONNECT method CONNECT
# ---- Cache do Windows Update ----
refresh_pattern windowsupdate.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern www.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims
# Limitando a velocidade de download na rede a 50 kbps
acl limitando_download url_regex -i .exe$ .mp3$ .vqf$ .tar.gz$ .gz$ .rpm$ .rar$ .avi$ .mpeg$ .mpe$ .mpg$ .qt$ .ram$ .rm$ .iso$ .raw$ .wav$ .vqf$ .mov$
#acl ips_download_diretoria src "/etc/squid/ip_diretoria"
acl rede_de_trabalho url_regex -i 192.168.3.0/255.255.255.0
delay_pools 2
delay_class 1 2
delay_parameters 1 50000/50000 50000/50000
#delay_parameters 1 -1/-1 50000/50000 50000/50000
#delay_access 1 allow ips_download_diretoria
delay_access 1 allow limitando_download
#delay_class 2 2
#delay_parameters 2 15000/20000
delay_access 2 allow rede_de_trabalho
# ACL's da rede local
acl REDE_INTERNA src 192.168.3.0/255.255.255.0
# Validação das redes local
http_access allow REDE_INTERNA
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
http_reply_access deny all !REDE_INTERNA
icp_access deny all !REDE_INTERNA
Criando a pasta /etc/squid/cache/1 do "cache_dir":
# cd /etc/squid
# mkdir -p /cache/1
Criando a pasta logs dentro da pasta /etc/squid/ e depois os arquivos access.log, cache.log e store.log:
# cd /etc/squid
# mkdir logs
# cd logs
# touch access.log
# touch store.log
# touch cache.log
Agora vamos dar as permissões necessárias às pastas do Squid e seu arquivos:
# chown squid:squid -R /etc/squid/logs/
# chown squid:squid -R /etc/squid/cache/
Criar o diretório de SWAP do Squid:
# squid -z
Depois desses passos até aqui, vamos iniciar o Squid:
# service squid start
ou
# /etc/init.d/squid/start
Pronto! Se você seguiu a risca esse documento sem nenhum problemas, seu servidor proxy Squid já estará no ar. Agora, se você teve algum problema para rodar o Squid, poste o erro aqui que farei de tudo pra arrumar uma solução.
Obs.: Não se esqueça de colocar as regras de redirecionamento do firewall iptables da porta 80 de navegação para a porta padrão do Squid, que é a 3128, conforme código abaixo:
#################
# HTTP e SQUID
#################
#
# Liberando a rede ao acesso a internet
#
iptables -A INPUT -s 192.168.3.0/24 -p tcp -m multiport --dport 80,3128 -m state --state NEW -j ACCEPT
iptables -A FORWARD -s 192.168.3.0/24 -p tcp -m multiport --dport 80,3128 -m state --state NEW -j ACCEPT
iptables -t nat -A PREROUTING -s 192.168.3.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -p tcp --dport 80 -o eth1 -j MASQUERADE # eth1 é a placa de rede do servidor que sai pra internet
Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada
Programas equivalentes entre GNU/Linux, Windows e OS X!
Script pessoal para uso em firmware de access point para conexão automática de PPPOE
Dois drives de CD-ROM no Linux
Problemas com campos maiores que 300MB no pg_dump
Desvendado o aMSN para Ubuntu Linux rodando em MAC
Comentários
fiz como diz a dica e deu esse erro
root@bjcia:/etc/squid# service squid restart
* Restarting Squid HTTP proxy squid 2010/02/26 10:48:17| parseConfigFile: squid.conf:1 unrecognized: 'ss'
2010/02/26 10:48:17| parseConfigFile: squid.conf:2 unrecognized: 'rt'
FATAL: cache_dir /etc/squid/cache/1: (2) No such file or directory
Squid Cache (Version 2.7.STABLE3): Terminated abnormally.
CPU Usage: 0.010 seconds = 0.010 user + 0.000 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
Aborted
leandrobrunoo, você criou a pasta cache/1 dentro da pasta /etc/squid com o comando mkdir -p cache/1
?
esse erro "FATAL: cache_dir /etc/squid/cache/1: (2) No such file or directory" esta´reclamando que não existe a pasta /1.
pra saber se tem erro no teu squid dê o comando squid -NCd1 que é vai te mostrar se tá legal ou não. pra sair desse comando, ctrl+c
abraços...
Mensagem
leandrobrunoo, você criou a pasta cache/1 dentro da pasta /etc/squid com o comando mkdir -p cache/1
?
esse erro "FATAL: cache_dir /etc/squid/cache/1: (2) No such file or directory" esta´reclamando que não existe a pasta /1.
pra saber se tem erro no teu squid dê o comando squid -NCd1 que é vai te mostrar se tá legal ou não. pra sair desse comando, ctrl+c
abraços...
Olá José,
tudo bem?
Primeiramente gostaria de parabenizar pelo artigo, muito bom. "Simples" e objetivo!
Amigo, estou com a seguinte mensagem de "erro" pra mim:
chown: cannot access `/etc/squid/cache/': No such file or directory
Segue abaixo, o passo-a-passo de como fiz após configurar o squid.conf :
====>
[root@fw-telsim squid]# cd /etc/squid
[root@fw-telsim squid]# mkdir -p /cache/1
[root@fw-telsim squid]# ls
cachemgr.conf icons mime.conf msntauth.conf squid.conf squid.conf.DEFAULT2
errors mib.txt mime.conf.default msntauth.conf.default squid.conf.default squid.conf.original
[root@fw-telsim squid]# cd /cache/
[root@fw-telsim cache]# ls
1
[root@fw-telsim cache]# cd /etc/squid
[root@fw-telsim squid]# mkdir logs
[root@fw-telsim squid]# cd logs
[root@fw-telsim logs]# touch access.log
[root@fw-telsim logs]# touch store.log
[root@fw-telsim logs]# touch cache.log
[root@fw-telsim logs]# chown squid:squid -R /etc/squid/logs/
[root@fw-telsim logs]# chown squid:squid -R /etc/squid/cache/
chown: cannot access `/etc/squid/cache/': No such file or directory
[root@fw-telsim logs]# cd /etc/squid/
[root@fw-telsim squid]# ls
cachemgr.conf icons mib.txt mime.conf.default msntauth.conf.default squid.conf.default squid.conf.original
errors logs mime.conf msntauth.conf squid.conf squid.conf.DEFAULT2
[root@fw-telsim squid]# cd /cache/
[root@fw-telsim cache]# ls
1
[root@fw-telsim cache]#
<=====
O que poderia ser?
Obrigado.
Abraços,
xCyclops.
Mensagem
Olá José,
tudo bem?
Primeiramente gostaria de parabenizar pelo artigo, muito bom. "Simples" e objetivo!
Amigo, estou com a seguinte mensagem de "erro" pra mim:
chown: cannot access `/etc/squid/cache/': No such file or directory
Segue abaixo, o passo-a-passo de como fiz após configurar o squid.conf :
====>
[root@fw-telsim squid]# cd /etc/squid
[root@fw-telsim squid]# mkdir -p /cache/1
[root@fw-telsim squid]# ls
cachemgr.conf icons mime.conf msntauth.conf squid.conf squid.conf.DEFAULT2
errors mib.txt mime.conf.default msntauth.conf.default squid.conf.default squid.conf.original
[root@fw-telsim squid]# cd /cache/
[root@fw-telsim cache]# ls
1
[root@fw-telsim cache]# cd /etc/squid
[root@fw-telsim squid]# mkdir logs
[root@fw-telsim squid]# cd logs
[root@fw-telsim logs]# touch access.log
[root@fw-telsim logs]# touch store.log
[root@fw-telsim logs]# touch cache.log
[root@fw-telsim logs]# chown squid:squid -R /etc/squid/logs/
[root@fw-telsim logs]# chown squid:squid -R /etc/squid/cache/
chown: cannot access `/etc/squid/cache/': No such file or directory
[root@fw-telsim logs]# cd /etc/squid/
[root@fw-telsim squid]# ls
cachemgr.conf icons mib.txt mime.conf.default msntauth.conf.default squid.conf.default squid.conf.original
errors logs mime.conf msntauth.conf squid.conf squid.conf.DEFAULT2
[root@fw-telsim squid]# cd /cache/
[root@fw-telsim cache]# ls
1
[root@fw-telsim cache]#
<=====
O que poderia ser?
Obrigado.
Abraços,
xCyclops.
Olá amigo,
Descobri o problema...
o /cache estava no / do linux e não no /etc/squid/cache/
Com isso, move o /cache para o /etc/squid/cache/
Mas agora estou com outro problema:
[root@fw-telsim squid]# /etc/init.d/squid start
Starting squid: /etc/init.d/squid: line 42: 3105 Aborted $SQUID $SQUID_OPTS >> /var/log/squid/squid.out 2>&1
[FAILED]
[root@fw-telsim squid]# cat /var/log/squid/squid.out
FATAL: cache_dir /etc/squid/cache/1: (13) Permission denied
Squid Cache (Version 2.6.STABLE21): Terminated abnormally.
CPU Usage: 0.003 seconds = 0.001 user + 0.002 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
WARNING: cache_dir /etc/squid/cache/1: (13) Permission denied
squid: ERROR: Could not read pid file
/var/run/squid.pid: (13) Permission denied
FATAL: cache_dir /etc/squid/cache/1: (13) Permission denied
Squid Cache (Version 2.6.STABLE21): Terminated abnormally.
CPU Usage: 0.003 seconds = 0.001 user + 0.002 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
[root@fw-telsim squid]#
Quando inicio o squid da o seguinte erro.
O que voce acha?
Abraços,
xCyclops.
Mensagem
Olá amigo,
Descobri o problema...
o /cache estava no / do linux e não no /etc/squid/cache/
Com isso, move o /cache para o /etc/squid/cache/
Mas agora estou com outro problema:
[root@fw-telsim squid]# /etc/init.d/squid start
Starting squid: /etc/init.d/squid: line 42: 3105 Aborted $SQUID $SQUID_OPTS >> /var/log/squid/squid.out 2>&1
[FAILED]
[root@fw-telsim squid]# cat /var/log/squid/squid.out
FATAL: cache_dir /etc/squid/cache/1: (13) Permission denied
Squid Cache (Version 2.6.STABLE21): Terminated abnormally.
CPU Usage: 0.003 seconds = 0.001 user + 0.002 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
WARNING: cache_dir /etc/squid/cache/1: (13) Permission denied
squid: ERROR: Could not read pid file
/var/run/squid.pid: (13) Permission denied
FATAL: cache_dir /etc/squid/cache/1: (13) Permission denied
Squid Cache (Version 2.6.STABLE21): Terminated abnormally.
CPU Usage: 0.003 seconds = 0.001 user + 0.002 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
[root@fw-telsim squid]#
Quando inicio o squid da o seguinte erro.
O que voce acha?
Abraços,
xCyclops.
Bom dia, estou com um problema meu squid não esta inicializando com este comando
[root@localhost logs]# /etc/init.d/squid start
init_cache_dir /etc/squid/cache/1... Iniciando squid: .....[FALHOU].......
[root@localhost logs]#
O grande detalhe e que o comando squid -z tambem não funcionou.
[root@localhost squid]# ls -n
total 440
drwxr-xr-x 3 23 23 4096 Jul 19 08:14 cache
-rw-r--r-- 1 0 23 419 Mar 31 04:46 cachemgr.conf
lrwxrwxrwx 1 0 0 31 Jul 19 07:59 errors -> /usr/share/squid/errors/English
lrwxrwxrwx 1 0 0 22 Jul 19 07:59 icons -> /usr/share/squid/icons
drwxr-xr-x 2 23 23 4096 Jul 19 08:15 logs
-rw-r--r-- 1 0 0 27733 Mar 31 04:46 mib.txt
-rw-r--r-- 1 0 0 11651 Mar 31 04:46 mime.conf
-rw-r--r-- 1 0 0 11651 Mar 31 04:46 mime.conf.default
-rw-r--r-- 1 0 0 421 Mar 31 04:46 msntauth.conf
-rw-r--r-- 1 0 0 421 Mar 31 04:46 msntauth.conf.default
-rw-r--r-- 1 0 0 2727 Jul 19 08:11 squid.conf
-rw-r--r-- 1 0 0 154887 Mar 31 04:46 squid.conf.default
-rw-r----- 1 0 23 154887 Mar 31 04:46 squid.conf.original
[root@localhost cache]# ls -n
total 8
drwxr-xr-x 2 0 0 4096 Jul 19 08:12 1
[root@localhost logs]# ls -n
total 12
-rw-r--r-- 1 23 23 0 Jul 19 08:15 access.log
-rw-r--r-- 1 23 23 0 Jul 19 08:15 cache.log
-rw-r--r-- 1 23 23 0 Jul 19 08:15 store.log
Assim esta meu squid, desde ja agradeço ajuda.
Mensagem
Bom dia, estou com um problema meu squid não esta inicializando com este comando
[root@localhost logs]# /etc/init.d/squid start
init_cache_dir /etc/squid/cache/1... Iniciando squid: .....[FALHOU].......
[root@localhost logs]#
O grande detalhe e que o comando squid -z tambem não funcionou.
[root@localhost squid]# ls -n
total 440
drwxr-xr-x 3 23 23 4096 Jul 19 08:14 cache
-rw-r--r-- 1 0 23 419 Mar 31 04:46 cachemgr.conf
lrwxrwxrwx 1 0 0 31 Jul 19 07:59 errors -> /usr/share/squid/errors/English
lrwxrwxrwx 1 0 0 22 Jul 19 07:59 icons -> /usr/share/squid/icons
drwxr-xr-x 2 23 23 4096 Jul 19 08:15 logs
-rw-r--r-- 1 0 0 27733 Mar 31 04:46 mib.txt
-rw-r--r-- 1 0 0 11651 Mar 31 04:46 mime.conf
-rw-r--r-- 1 0 0 11651 Mar 31 04:46 mime.conf.default
-rw-r--r-- 1 0 0 421 Mar 31 04:46 msntauth.conf
-rw-r--r-- 1 0 0 421 Mar 31 04:46 msntauth.conf.default
-rw-r--r-- 1 0 0 2727 Jul 19 08:11 squid.conf
-rw-r--r-- 1 0 0 154887 Mar 31 04:46 squid.conf.default
-rw-r----- 1 0 23 154887 Mar 31 04:46 squid.conf.original
[root@localhost cache]# ls -n
total 8
drwxr-xr-x 2 0 0 4096 Jul 19 08:12 1
[root@localhost logs]# ls -n
total 12
-rw-r--r-- 1 23 23 0 Jul 19 08:15 access.log
-rw-r--r-- 1 23 23 0 Jul 19 08:15 cache.log
-rw-r--r-- 1 23 23 0 Jul 19 08:15 store.log
Assim esta meu squid, desde ja agradeço ajuda.
Ola tenho 2 Duvida.
ola so como esta minha estrutura.
Eth0- 192.168.1.250-------> Link de ADSl
Eth1- 10.0.0.254-------->Rede local
outra coisa, nao sei onde eu coloco o
# Liberando a rede ao acesso a internet
#
iptables -A INPUT -s 192.168.1.0/24 -p tcp -m multiport --dport 80,3128 -m state --state NEW -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -p tcp -m multiport --dport 80,3128 -m state --state NEW -j ACCEPT
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -p tcp --dport 80 -o eth1 -j MASQUERADE
# eth1 é a placa de rede do servidor que sai pra internet.
sera q é em rc.local?
Mensagem
Ola tenho 2 Duvida.
ola so como esta minha estrutura.
Eth0- 192.168.1.250-------> Link de ADSl
Eth1- 10.0.0.254-------->Rede local
outra coisa, nao sei onde eu coloco o
# Liberando a rede ao acesso a internet
#
iptables -A INPUT -s 192.168.1.0/24 -p tcp -m multiport --dport 80,3128 -m state --state NEW -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -p tcp -m multiport --dport 80,3128 -m state --state NEW -j ACCEPT
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -p tcp --dport 80 -o eth1 -j MASQUERADE
# eth1 é a placa de rede do servidor que sai pra internet.
sera q é em rc.local?
Caro rozenraurio, esses comandos você coloca no script de firewall do iptables. Se você não tiver 1 é melhor começar a pensar em ter. Aqui no VOL tem vários e ensina como fazer...
Mensagem
Caro rozenraurio, esses comandos você coloca no script de firewall do iptables. Se você não tiver 1 é melhor começar a pensar em ter. Aqui no VOL tem vários e ensina como fazer...
Boa tarde caros,
Notei que ao executar o comando "chown squid:squid -R /etc/squid/cache/", me retornava uma mensagem de que o diretório não foi encontrado mesmo eu tendo executado antes o comando "mkdir -p /cache/1", então, eu executei "mkdir /etc/squid/cache", em sequida executei os comandos "mkdir -p /cache/1" e "chown squid:squid -R /etc/squid/cache/" novamente e pronto, rodou na maior tranquilidade. Não sei se isto pode ajudar vocês também.
Mensagem
Boa tarde caros,
Notei que ao executar o comando "chown squid:squid -R /etc/squid/cache/", me retornava uma mensagem de que o diretório não foi encontrado mesmo eu tendo executado antes o comando "mkdir -p /cache/1", então, eu executei "mkdir /etc/squid/cache", em sequida executei os comandos "mkdir -p /cache/1" e "chown squid:squid -R /etc/squid/cache/" novamente e pronto, rodou na maior tranquilidade. Não sei se isto pode ajudar vocês também.
a duvida e a seguinte
como fazer a configuração das placas de rede
uma placa de rede para adsl da nes
outra plca de rede que vou ligar no meu switch
como posso fazer a configuração desta duas placas de rede
obrigado
marcoscd@gmail.com
Mensagem
a duvida e a seguinte
como fazer a configuração das placas de rede
uma placa de rede para adsl da nes
outra plca de rede que vou ligar no meu switch
como posso fazer a configuração desta duas placas de rede
obrigado
marcoscd@gmail.com
FATAL: auth_param basic program/usr/lib/squid/ncsa_auth: (2) No such file or directory
este é o erro que esta a mi dar dor de cabeça por em quanto.....
Mensagem
FATAL: auth_param basic program/usr/lib/squid/ncsa_auth: (2) No such file or directory
este é o erro que esta a mi dar dor de cabeça por em quanto.....
Contribuir com comentário
Enviar