Squid 3 como proxy transparente + firewall Iptables

Este é meu primeiro artigo, espero que sirva para muitos que estão em busca da configuração base do Squid 3 + Iptables no Linux Debian 5 Lenny. O tema proposto também funciona para outras distros, como Slackware e Fedora. No artigo relato as diferenças de pastas configuração em tais distros.

[ Hits: 238.659 ]

Por: Jucinaldo Braga Barbosa em 05/03/2009


Proxy transparente e configuração do firewall Iptables



Como disse no tópico anterior, para seu proxy operar de forma transparente há algumas configurações a serem feitas.

No arquivo /etc/squid3/squid.conf, na primeira linha:

http_port 3128

Mudar para:

http_port 3128 transparent

Salve e execute o comando (este comando é muito útil para que você reconfigure o Squid sem parar o serviço):

# squid3 -k reconfigure

Agora vamos criar o arquivo /etc/init.d/firewall com seu editor de texto preferido (exceto no Slackware, que usa outro caminho para os scripts do init):

# vim /etc/init.d/firewall (Debian e outras distros)
ou
# vim /etc/rc.d/rc.firewall (Slackware)

#!bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
#
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Limite contra ping da morte e DoS
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -m limit --limit 1/s -j DROP

# Liberando portas SSH a partir de qualquer interface
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# Liberando portas squid, http e NTP. Estes serviços o firewall só irá
# responder se vierem da interface da rede interna. Daí você aplica de
# acordo com o cenário de sua máquina
iptables -A INPUT -p tcp --dport 3128 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 123 -i eth0 -j ACCEPT
iptables -A INPUT -p udp --dport 123 -i eth0 -j ACCEPT

# Nat Global (aqui você faz o mascaramento de forma geral para qualquer
# interface ou rede do servidor. Prefiro especificar a sub-rede, deixarei
# comentada a linha global
#iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

# NAT Rede 1 e 2 (substitua as respectivas sub-redes pelas que você usa em
# sua rede e note que a "eth1" é minha interface diretamente conectada à internet,
# substitua-a pela sua interface adequada
iptables -t nat -A POSTROUTING -s 192.168.30.0/255.255.255.0 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.18.28.0/255.255.255.0 -o eth1 -j MASQUERADE

# Jogando tráfego da porta 80 para o SQUID3 TRANSPARENT
iptables -t nat -A PREROUTING -s 192.168.30.0/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 172.18.28.0/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128

# Exemplo de redirecionamento de porta, neste caso redirecionamento para
# Terminal Server e VNC (substitua as respectivas sub-redes pelas que você usa
# em sua rede e as portas respectivas do serviço que quer redirecionar.
# Note que a "eth1" é minha interface diretamente conectada à internet,
# substitua-a pela sua interface adequada
iptables -A FORWARD -p tcp --dport 3389 -d 182.164.2.1 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3389 -j DNAT --to 192.168.30.32
iptables -A FORWARD -p tcp --dport 3389 -d 182.164.2.1 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 5900 -j DNAT --to 172.18.28.55

Você pode aproveitar estas dicas para deixar seu firewall um pouco mais robusto, porém se quiser apenas que resolva o proxy transparente, basta as linhas abaixo, salvo que somente elas, sem qualquer restrição, torna você vulnerável na rede mundial, daí você aplica suas regras da forma que lhe for conveniente, de acordo com sua responsabilidade.

Script de firewall que implementa somente o proxy transparente:

#!bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A PREROUTING -s 192.168.30.0/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128

Devemos colocar as regras que criamos no script IPTABLES para ser executado sempre que o sistema inicializar, veja qual é a forma correta em sua respectiva distro.

No Debian, adicionar as seguintes linhas ao arquivo /etc/init.d/bootmisc.sh:

# vim /etc/init.d/bootmisc.sh

if [ -x /etc/init.d/firewall ]; then
    . /etc/init.d/firewall
fi

Então salvamos e damos permissão para que o script IPTABLES seja executado pelo sistema:

# chmod +x /etc/init.d/firewall

No Slackware, quando criamos o script do firewall IPTABLES, o salvamos no seguinte local: /etc/rc.d/rc.firewall

Então basta dar permissão de execução ao script:

# chmod +x /etc/rc.d/rc.firewall

Em outras distros e também Debian, se preferir use o arquivo /etc/rc.local, adicionando a seguinte linha:

sh -e /etc/init.d/firewall

Salve o arquivo e dê as permissões:

# chmod +x /etc/init.d/firewall

Dica: Para visualizar regras do IPTABLES, basta no terminal digitar:

# iptables -L
# iptables -t nat -L

Para limpar e desativar estas regras do IPTABLES basta:

# iptables -F
# iptables -X
# iptables -t nat -F
# iptables -t nat -X


Assim temos proxy transparente funcionando e regras de firewall Iptables.

Agradecimento

Galera, obrigado por visitarem meu primeiro artigo, de muitos. Espero que gostem e que possa ajudar a quem precise.

Abraços aos meus amigos Mezaque, Denilson, Robledo e Airton, a quem dedico este artigo.

Abraços a todos.

Página anterior    

Páginas do artigo
   1. Instalando e configurando o Squid 3
   2. Proxy transparente e configuração do firewall Iptables
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Squid balanceado com LVS

Squid 2.6 + HTB-tools com cache full

Identificando usuários Squid com o IDENTD

Squid autenticando com firewall x CNS e conexão segura da Caixa

Grace - Usando a função "Regression"

  
Comentários
[1] Comentário enviado por fernandofranco em 05/03/2009 - 19:17h

uma pergunta para que o squid rode em modo de transparent, precisa complila ele como --enable-linux-netfilter ?

e uma coisa qual a diferença em instalar o squid pelo yum ou pelo rpm.

acredito que seja pq o rpm com a opcao --enable-linux-netfilter complila e o yum não? é isso

[2] Comentário enviado por jucinaldo em 05/03/2009 - 22:10h

Cara vc usa Fedora como vi em seu Perfil. Vc pode baixar o pacote e intalar tanto por yum ou rpm -ivh, sendo quue a diferenca entre esta ´e s´o de que se precisar de alguma biblioteca ou alguma + o yum pode facilitar, dai com yu seria ## yum localinstall o_pacote, dai se ele n~ao instalar frescar com assinatura do pacote, basta fazer assim ### yum --nogpgcheck localinstall o_pacote o pacote rpm sao pre compilados ´e um abra´co...
valews!!

[3] Comentário enviado por andriopj em 06/03/2009 - 15:48h

caro fernandofranco
vc pode instalar pelo yum.

incrusive, o fedora 10, ja vem com squid instalado senao me engano.
contudo desinstale todos o squid que ja vem pre definido no fedora 10, e utilize o seguinte comando para instalar ele: yum install squid

todos os pacotes/blibliotecas serao instalados automaticamente, nas pasta padrao do squid.

logo logo, estou postando meu config, tou fazendo ele com a seguinte ideia: transparent, faca cache, tenha uma certa seguranca (ataques) mas nao bloqueia nada na rede (skype, msn, hotmail, web).

[4] Comentário enviado por osirix em 07/03/2009 - 13:48h

alguem poderia me explicar que erro seria esse


2009/01/30 04:40:12| httpAccept: FD 12: accept failure: (22) Invalid argument
2009/01/30 04:40:12| comm_old_accept: FD 12: (22) Invalid argument

esse erro ai enche o meu cache.log em 5 minutos e deixa ele com uma tamanho de 2GB ai o meu squid trava.
eu uso squid-3.0-stable9
obrigado desde de ja . ^^

[5] Comentário enviado por jucinaldo em 09/03/2009 - 10:50h

cara manda o teu squid.conf!!!!!!!!!!

[6] Comentário enviado por nemphilis em 10/03/2009 - 17:49h

primeiro, verifique se o seu squid esta com o '--enable-linux-netfilter' ativado.
#squid -v

segundo, ali no squid.conf em http_port 3128 falta dizer que e transparente (pode ser o seu problema osirix), altere para:

http_port 3128 transparent

abracos.

[7] Comentário enviado por geraldogof em 17/03/2009 - 21:01h

Parabéns Jucinaldo,
Ótima dica a sua me ajudou muito mesmo, mas aproveitando gostaria de implementar uma segunda sub-rede no meu servidor Debian. Por favor o que fazer para tal?
Abraço, Geraldo

[8] Comentário enviado por jucinaldo em 18/03/2009 - 11:16h

Geraldo
Crie no squid.conf jundo das outras ACLs a acl da nova rede:

acl novarede src 192.168.1.0/24

Dai vc cria a permição para a nova rede junta as outra permições!

http_access allow novarede


dai vc salva o arquivo
e da o seguinte comanda para modifucar as regras do squido sem parar o serviço:

squid3 -k reconfigure


Abraços espero que ajude!

[9] Comentário enviado por removido em 24/03/2009 - 20:34h

O Squid3 e muito BALA! ++++

Flw

[10] Comentário enviado por comfaa em 27/04/2009 - 10:45h

tem como colocar ele autenticado mas quando seta-lo para Gateway ele ir direto pro Proxy ?

[11] Comentário enviado por jucinaldo em 27/04/2009 - 11:17h

cara squid em modo transparente não da pro por autenticação!!!
Valeu abraços!!

[12] Comentário enviado por francisco.costa em 08/05/2009 - 21:54h

jucinaldo, muito obrigado por compartilhar seu conhecimento. Essa galera do VOL já me ajudou bastante. Espero um dia ter conhecimento suficiente pra ajudar alguém.

Obrigado mesmo.

[13] Comentário enviado por bestmoor em 21/07/2009 - 21:36h

tenho um problema montei um Debian transparente mais nao consigo pingar para fora da rede ...mais nos navegadores estam navegando
ja aplicaquei os nats no iptables mais ainda nao funciona alguma dica ?
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128

[14] Comentário enviado por fernandofranco em 24/07/2009 - 09:15h

amigo bom dia, coloque todo o suas regras de firewall, pro pessoal da uma olhada nelas.

blz

[15] Comentário enviado por zarate.manaus em 18/01/2010 - 18:43h

quero saber como instalar e configurar o squid 3.0 para fazer um servidor de proxy e cache e criar uma lista de IPS poderao ter acesso a internet e por fim cadastrar todos os mesmo no meu servidor de rede.agradeço desde ja .Obrigado!

[16] Comentário enviado por ngiongo em 16/03/2010 - 22:05h

Ola,
Quero saber como faço para fazer o controle por mac address,um abraço

[17] Comentário enviado por tatuape em 15/04/2010 - 01:27h

Caro amigo... para fazer ele ter o controle por mac, primeiro vc deve verificar se a versão que tu usa ja esta configurada para usar. Veja exemplo:

Esta opção tem que está habilitada - --enable-arp-acl

# squid -v

Squid Cache: Version 2.6.STABLE2configure options: '--prefix=/usr' '--exec_prefix=/usr' '--bindir=/usr/sbin' '--sbindir=/usr/sbin' '--libexecdir=/usr/lib/squid' '--sysconfdir=/etc/squid' '--localstatedir=/var/spool/squid' '--datadir=/usr/share/squid' '--enable-async-io' '--with-pthreads' '--enable-storeio=ufs,aufs,diskd,null' '--enable-linux-netfilter' '--enable-linux-proxy' '--enable-arp-acl' '--enable-epoll' '--enable-removal-policies=lru,heap' '--enable-snmp' '--enable-delay-pools' '--enable-htcp' '--enable-cache-digests' '--enable-underscores' '--enable-referer-log' '--enable-useragent-log' '--enable-auth=basic,digest,ntlm' '--enable-carp' '--with-large-files' 'i386-debian-linux' 'build_alias=i386-debian-linux' 'host_alias=i386-debian-linux' 'target_alias=i386-debian-linux'

Estando configurada, é so colocar as ACL´s e definir suas permissões.

Espero ter ajudado.

[18] Comentário enviado por merloata em 29/05/2010 - 17:29h

Boa tarde !!!

Estou com um problema aqui sou novo no ramo linux, estou com um problema aqui uso uma distribuição
do slackware 12 e ja instalei o squid 3.1 e funciona tudo normal so q somente com proxy ativo no windows
ja mudei tudo que tem q ser feito para rodar trasnparent e nada de funcionar ja rodei o firewall configurei o iptables
e nada de funcionar transparent...o q posso esta fazendo errado ??? vou colocar meu firewall aqui e meu squid a conf deles

aqui é meu firewall

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A PREROUNTING -s 192.168.1.0/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128

aqui meu squid.conf

acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.1.0/24 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access deny all
http_port 3128 transparent
visible_hostname amnet
hierarchy_stoplist cgi-bin ?
coredump_dir /usr/local/squid/var/cache
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
error_directory /usr/local/squid/share/errors/pt-br

[19] Comentário enviado por UnsigneD em 11/06/2010 - 14:27h

Ola!

Segui este tutorial de inicio ao fim, desde ja agredexo ao autor pelo excelente trabalho!
Mas estou com dificuldades...
Eu estou a configurar um proxy em ubuntu server 9.10 e estou a fazer os testes com windows xp a verificar se o proxy fica a funcionar ou nao, o servidor proxy tem duas placas de rede, tenho o squid.conf tal como esta neste post
o meu ficheiro das interfaces de rede esta desta forma:
auto lo eth0
iface lo inet loopback

iface eth0 inet dhcp #interface externa ligada a internet

iface eth1 inet static #interface interna, para rede interna
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

Coloquei o ficheiro rc.local da seguinte forma:
------Inicio rc.local -----------

modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 3128 -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 -j REJECT
iptables -A FORWARD -p tcp --dport 1863 -j REJECT
iptables -A FORWARD -d loginnet.passport.com -j REJECT
iptables -A INPUT -p tcp --syn -j DROP

Ja tentei com o ficheiro firewall da seguinte forma:
#!bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -s 192.168.1.0/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128

e também não obtive sucesso...

e o que se passa é o seguinte, coloquei o windows XP com estas definiçoes na placa de rede:
ip: 192.168.1.2
netmask: 255.255.255.0
gateway: 192.168.1.1 (ip do servidor proxy, na eth1)

acedo ao internet explorer e coloco o proxy como 192.168.1.1 porta 3128 e tenho internet a funcionar (logo parto do principio que o proxy esta a funcionar correctamente), mas se retirar essa opção do proxy no internet explorer deixo de ter internet no windows xp, não sei o que se passa, ando as voltas com isto e não consigo resolver!

alguem me ajude sff!

Obrigado

[20] Comentário enviado por ericlobobr em 02/02/2011 - 01:58h

vlw cara, tua confiruação foi um luiz pra mim "jucinaldo " fiz uns modificaçoes e deu certo
o funciona:
para UnsigneD se vc ainda prcisar

muda o ip pra o seu a minha
eth0=192.168.254.102
eth1=192.168.1.1

http_port 192.168.1.1:3128 transparent
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 512 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 1500 MB
minimum_object_size 0 KB
maximum_object_size_in_memory 64 KB
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
cache_dir ufs /var/spool/squid3 45000 32 256
cache_log /var/log/squid3/cache.log
cache_access_log /var/log/squid3/access.log squid
cache_store_log /var/log/squid3/store.log
pid_filename /var/log/squid3/squid3.pid
mime_table /usr/share/squid3/mime.conf
dns_nameservers 127.0.0.1
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern . 0 20% 4320
quick_abort_min -1 KB
quick_abort_pct 95
quick_abort_max 0 KB
quick_abort_pct 100%
negative_ttl 2 minutes
positive_dns_ttl 5 minutes
half_closed_clients off
read_timeout 60 seconds
pconn_timeout 120 seconds
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl vlan24 src 192.168.1.1/32
acl rede src 192.168.1.0/32
acl SSL_ports port 443 563
acl Safe_ports port 21 25 43 53 70 80 110 210 280 443 488 563 587 591 777 5190
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 1863 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl site dstdomain sinttel.com.br,mte.gov.br,caixa.gov.br,bb.com.br,itau.com.br,hsbc.com.br,santander.com.br,bancoreal.com.br,bradesco.com.br,unibanco.com.br
always_direct allow site
http_access allow localhost
http_access allow rede
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow vlan24
http_access allow all
cache_effective_user proxy
cache_effective_group proxy
visible_hostname nome do pc
cache_mgr sudporte@viacom.net.br
memory_pools off
forwarded_for off
error_directory /usr/share/squid3/errors/Portuguese/
ie_refresh on
detect_broken_pconn on
pipeline_prefetch on
diskd_program /usr/lib/squid3/diskd
unlinkd_program /usr/lib/squid3/unlinkd
request_header_max_size 20 KB
reply_header_max_size 20 KB
request_body_max_size 0 KB
cache_mgr webmaster
mail_program mail








[21] Comentário enviado por jurjus em 13/04/2011 - 10:31h

uma dúvida

tenho 2 placas de rede, sendo
eth0:10.10.10.0/24
eth1:192.168.1.0/24
pppo:(endereço VELOX)

Não estou sabendo como configurar, alguem pode me ajudar?

[22] Comentário enviado por nildopd em 04/07/2011 - 23:30h

AMIGAO jurjus ,boa noite.

Você já conseguiu resolver seu problema ? caso não, explica direitinho o que vc quer fazer e qual a versão linux q vc está pretendendo usar. vlw... abraço


qualquer coisa me add no skype

forte abraço.

nildo.ferreira

[23] Comentário enviado por adrianoti10 em 03/05/2012 - 17:46h

Boa tarde, como faco para concertar esse erro, estou testando esse squid na minha maquina virtual.

FATAL: Bungled squid.conf line 6: cache_dir ufs /var/spool/squid3 128 16 256 # Aqui é o tamanho máximo de sua cache, no meu caso é 45GB, estude sua necessidade e capacidade da partição /var
Squid Cache (Version 3.1.19): Terminated abnormally.
CPU Usage: 0.008 seconds = 0.000 user + 0.008 sys
Maximum Resident Size: 14384 KB
Page faults with physical i/o: 0



[24] Comentário enviado por bruno_proweb em 22/06/2012 - 16:23h

Brother já conseguiu barrar o https no proxy transparente com squid3?

[25] Comentário enviado por Roque em 26/08/2012 - 13:47h

Boas turma, estou com o mesmo problema do colega gnulinuxspirit instalei no Ubuntu em uma máquina virtual que é onde vai rodar o squid (Se bem que ainda não sei estou testando é capaz de deixar uma máquina para rodar o squid futuramente) mas enfim estou com a versão 12.04 Ubuntu e estou com o mesmo erro aí

atomick@server:/etc/init.d$ sudo squid3 start
FATAL: Bungled squid.conf line 6: cache_dir ufs /var/spool/squid3 1024 16 256 # Aqui é o tamanho máximo de sua cache, no meu caso é 45GB, estude sua necessidade e capacidade da partição /var
Squid Cache (Version 3.1.19): Terminated abnormally.
CPU Usage: 0.016 seconds = 0.016 user + 0.000 sys
Maximum Resident Size: 14912 KB
Page faults with physical i/o: 0

[26] Comentário enviado por bruno_proweb em 26/08/2012 - 16:31h

Brother você já viu se nao digitou uma letra em maiusculo na linha 6 ou esses erros que todos cometem de digitação?
Caso não seja isso pode ser também espaço em disco, da um df -h ai e veja como está a unidade em espaço livre...

[27] Comentário enviado por lelecomb em 28/11/2012 - 19:32h

brother, boa tarde. sou novissimo na questão linux, mas gostaria de aprender. qnd coloquei o meu squid pra rodar apresentou o seguinte erro:

2001/12/31 21:09:55| WARNING: (B) '::/0' is a subnetwork of (A) '::/0'
2001/12/31 21:09:55| WARNING: because of this '::/0' is ignored to keep splay tree searching predictable
2001/12/31 21:09:55| WARNING: You should probably remove '::/0' from the ACL named 'all'
2001/12/31 21:09:55| ERROR: '0.0.0.0/0.0.0.0' needs to be replaced by the term 'all'.
2001/12/31 21:09:55| SECURITY NOTICE: Overriding config setting. Using 'all' instead.
2001/12/31 21:09:55| strtokFile: /etc/squid/msn not found
2001/12/31 21:09:55| Warning: empty ACL: acl libera_msn url_regex "/etc/squid/msn"
2001/12/31 21:09:55| strtokFile: /etc/squid/ip_liberado not found
2001/12/31 21:09:55| Warning: empty ACL: acl ipliberado src "/etc/squid/ip_liberado"
2001/12/31 21:09:55| strtokFile: /etc/squid/sites_liberados not found
2001/12/31 21:09:55| Warning: empty ACL: acl sites_liberado url_regex "/etc/squid/sites_liberados"
2001/12/31 21:09:55| strtokFile: /etc/squid/negado not found
2001/12/31 21:09:55| Warning: empty ACL: acl noway url_regex "/etc/squid/negado"
2001/12/31 21:09:55| ERROR: Directive 'upgrade_http0.9' is obsolete.
2001/12/31 21:09:55| cache_cf.cc(381) parseOneConfigFile: squid.conf:177 unrecognized: 'broken_vary_encoding'
2001/12/31 21:09:55| ERROR: Directive 'extension_methods' is obsolete.

oq devo fazer? podes me ajudar?

[28] Comentário enviado por lelecomb em 28/11/2012 - 19:34h

segue logo abaixo o meu script...



## DATA 28 de novembro de 2012
###################################
## PORTA DE ACESSO A INTERNET######
###################################
http_port 3128

###################################
## NOME DO SERVIDOR ###############
###################################
visible_hostname FACETEN

###################################
## MEMORIA CACHE ##################
###################################

## quanto da memoria RAM sera usada pelo cache ##
cache_mem 900 MB

## Tamanho máximo dos objetos na RAM
maximum_object_size_in_memory 2 MB

## tamanho máximo dos objetos no cache
maximum_object_size 700 MB
quick_abort_min -1

## Tamanho mínimo dos objetos geralmente 0
minimum_object_size 0 KB

##cache_replacement_policy lru
##memory_replacement_policy lru

## indicam a partir de que percentagem do tamanho total
## cache o squid começa a apagar os arquivos
cache_swap_low 90
cache_swap_high 95

## Define o tamnho total do cache em disco - O endereço refere a
## que diretório se deseja utilizar como cache, seguido do tamanho
## máximo do cache no disco (em MB) e os dois últimos números da
## linha indicam a quantidade de pastas e subpastas que o Squid
## utilizará para se organizar ao gravar o cache
cache_dir ufs /var/spool/squid3/cache1 3000 16 256
cache_dir ufs /var/spool/squid3/cache2 3000 16 256
cache_dir ufs /var/spool/squid3/cache3 3000 16 256
cache_dir ufs /var/spool/squid3/cache4 3000 16 256
cache_dir ufs /var/spool/squid3/cache5 3000 16 256
cache_dir ufs /var/spool/squid3/cache6 3000 16 256
cache_dir ufs /var/spool/squid3/cache7 3000 16 256
cache_dir ufs /var/spool/squid3/cache8 3000 16 256
cache_dir ufs /var/spool/squid3/cache9 3000 16 256
cache_dir ufs /var/spool/squid3/cache10 3000 16 256

## caminho para onde devem ser exportados os logs que depois
## poderão ser analisados, manualmente, com com algum gerador
## de relatórios como o SARG
cache_access_log /var/log/squid3/access.log

#Converte as mensagens geradas pelo squid par o Português
error_directory /usr/share/squid3/errors/Portuguese

refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

###################################
##### Cache do Windows Update #####
###################################
refresh_pattern au.download.windowsupdate.com/.*.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern msgruser.dlservice.microsoft.com/.*.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern windowsupdate.com/.*.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern microsoft.com/.*.(cab|exe|msi) 10080 100% 43200 reload-into-ims

###################################
##### ACL Dominios do Windows Update #####
###################################
acl windowsupdate dstdomain au.download.windowsupdate.com
acl windowsupdate dstdomain download.microsoft.com
acl windowsupdate dstdomain msgruser.dlservice.microsoft.com
acl windowsupdate dstdomain windowsupdate.com
acl windowsupdate dstdomain microsoft.com

##range_offset_limit -1 windowsupdate
##range_offset_limit 0

###################################
##cache DO youtube e googlevideo ##
###################################
acl googlevideo dstdomain .googlevideo.com
cache allow googlevideo
acl youtube dstdomain .youtube.com
cache allow youtube

acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
acl todos src 0.0.0.0/0.0.0.0
cache allow todos

###################################
## LIBERAR MSN ####################
###################################
acl libera_msn url_regex "/etc/squid/msn"
http_access allow libera_msn

###################################
## IPS LIBERADOS ##################
###################################
acl ipliberado src "/etc/squid/ip_liberado"
http_access allow ipliberado

###################################
## REDE FACETEN ###################
###################################
acl faceten src all

###################################
## SITES LIBERADOS ################
###################################
acl sites_liberado url_regex "/etc/squid/sites_liberados"
http_access allow sites_liberado

##################################
## PALAVRAS BLOQUEADAS ###########
##################################
acl noway url_regex "/etc/squid/negado"
http_access deny noway

###################################
## ACESSO A REDE ##################
###################################
http_access allow faceten

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
icp_access allow localnet
icp_access deny all

hierarchy_stoplist cgi-bin ?
access_log /var/log/squid3/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Package(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
hosts_file /etc/hosts
coredump_dir /var/spool/squid3

######################################
## PAGINA DE BLOQUEIO ################
######################################
error_directory /usr/share/squid3/errors/pt-br

[29] Comentário enviado por vdeosantos em 04/12/2012 - 11:48h

Saudações a todos!


Fiz tudo conforme descrito e funcionou. Fato é que alterei as permissões do arquivo firewall e agora sempre que rodo o bootmisc.sh retorna isso:

./bootmisc.sh: 73: ./etc/init.d/firewall: not found

Já tentei novamente incluir a permissão como descrito: chmod +x /etc/init.d/firewall

Mas mesmo assim não funciona, sempre retorna o erro. Oq fazer para corrigir o problema?

Obrigado!

Vinicius Santos

[30] Comentário enviado por cgonzagaskill em 23/01/2014 - 17:43h

Olá Amigo,

Parabéns pelo post! Porém tenho um duvida preciso liberar acesso externo para um servidor de câmeras na minha rede interna, Meu servidor é debian 7.0 estou fazendo ppoe para um modem adsl em uma das placas de rede e uma outra placa de rede conectando ao switch para rede interna. além disso no servidor debian 7.0 rodo Dyndns e Squid.

Preciso abrir as portar via iptables e fazer o redicionamento do acesso externo das portas para o acesso do servidor interno de câmeras. É possível o caminho das pedras ?

Desde já, Agradeço,

Carlos Gonzaga


[31] Comentário enviado por jyraia em 14/06/2014 - 16:37h

Olá fiz todo o procedimento ficou um canhão porém acontece o mesmo que com o squid 2.7 TCP_MISS/200 em todas as requisições sabem o que pode ser?

[32] Comentário enviado por jorgerabello em 28/09/2015 - 21:46h

Boa noite jucinaldo, boa noite galera.
Fiz a configuração conforme acima mas ao executar squid3 -k reconfigure obtenho o seguinte erro:

root@firewall:~# squid3 -k reconfigure
2015/09/28 21:46:26| aclParseAclLine: ACL 'manager' already exists with different type.
FATAL: Bungled /etc/squid3/squid.conf line 34: acl manager proto cache_object
Squid Cache (Version 3.4.8): Terminated abnormally.
CPU Usage: 0.008 seconds = 0.008 user + 0.000 sys
Maximum Resident Size: 34592 KB
Page faults with physical i/o: 0
root@firewall:~#

Alguém ou ao autor poderia me ajudar por favor ? Pelo que eu entendi deve-se remover a acl manager é isso ?

Valeu !!!

[33] Comentário enviado por nildopd em 29/09/2015 - 00:10h


Mano coloca seu squid.conf analisar melhor .


Mas antes disso , verificar se já não tem manager em outro lugar aí no código.

[34] Comentário enviado por _Aprendiz_ em 28/12/2015 - 17:28h

Boa tarde pessoal. Estou com o mesmo problema citado pelo adrianoti10. segue abaixo erro e depois o meu squid.config.

================================= ERRO ======================================
root@ProxyDamare:/etc/squid3# squid3 -k reconfigure
FATAL: Bungled /etc/squid3/squid.conf line 6: cache_dir ufs /etc/squid3 45000 16 256 #Aqui é o tamanho
máximo de sua cache, no meu caso é 45GB, estude sua necessidade e capacidade da partição /var
Squid Cache (Version 3.4.8): Terminated abnormally.
CPU Usage: 0.016 seconds = 0.012 user + 0.004 sys
Maximum Resident Size: 34304 KB
Page faults with physical i/o: 0

=============================================================================



[35] Comentário enviado por _Aprendiz_ em 28/12/2015 - 17:29h

=================================================================================================================================

##squid.conf
http_port 3128 transparent
cache_mem 256 MB # Se seu servidor for dedicado, coloque neste valor a metade de sua memória RAM, do contrário use apenas 25%
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/log/squid3 45000 16 256 #Aqui é o tamanho máximo de sua cache, no meu caso é 45GB, estude sua necessidade e capacidade da partição /var

maximum_object_size 30000 KB
maximum_object_size_in_memory 40 KB

access_log /var/log/squid3/access.log squid
cache_log /var/log/squid3/cache.log
cache_store_log /var/log/squid3/store.log
pid_filename /var/log/squid3/squid3.pid # pid - mudamos para esta pasta para facilitar na identificação de problemas
mime_table /usr/share/squid3/mime.conf

cache_mgr sudporte@viacom.net.br
memory_pools off

diskd_program /usr/lib/squid3/diskd
unlinkd_program /usr/lib/squid3/unlinkd

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern . 0 20% 4320
quick_abort_max 16 KB
quick_abort_pct 95
quick_abort_min 16 KB
request_header_max_size 20 KB
reply_header_max_size 20 KB
request_body_max_size 0 KB

acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl vlan24 src 192.168.5.0/24 # Representa a sua rede e respectiva máscara de sub-rede
#acl lan src 172.18.28.0/24 # Assim como neste exemplo, se você tiver mais de uma rede, deve ser expressada uma por uma

acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 1863 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

http_access allow vlan24
http_access allow vlan26
http_access allow vlan28

cache_mgr webmaster
mail_program mail
cache_effective_user proxy
cache_effective_group proxy
httpd_suppress_version_string off
visible_hostname zenhulk

error_directory /usr/share/squid3/errors/Portuguese/

=================================================================================================================================

[36] Comentário enviado por lemic em 25/10/2016 - 21:09h

Não tem o transparent mais, é intercept, mais num funciona no esquema do 2.7, vc tem que mudar sua vida toda por uma coisa que nem vale mais apena, tenta bloquear o terra pelo squid 3.3.8 ae, não funciona. Seu firewall tem de ser modificado, o squid.conf nem quem escreveu esta coisa caotica consegue explicar. LIXO

[37] Comentário enviado por Mc.Eagle em 15/11/2016 - 22:43h

Muito bem feito, parabéns, não era exatamente o que eu estava procurando mas vi que iria na direção. Força e Honra!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts