Squid com proxy transparente não funciona

1. Squid com proxy transparente não funciona

James Dean Rodrigues Damasceno
jamesdean

(usa Outra)

Enviado em 19/12/2013 - 19:45h

Bom galera sou iniciante em linux, tenho que configurar uma servidor de proxy para empresa para ter um melhor controle de banda e bloqueio de site. só que já venho há 4 dias seguindo vários tutórias só que até agora nada. o último que seguir as configurações são bem básicas só para teste. o computador só acessa a internet se eu configurar o proxy no navegador mesmo sendo transparente o squid.

Segue meu arquiv squid.conf

##squid.conf
http_port 3128 transparent
cache_mem 100 MB # Se seu servidor for dedicado, coloque neste valor a metade de sua memó RAM, do contráo use apenas 25%
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid3 45000 16 256
# Aqui é tamanho mámo de sua cache, no meu caso é5GB, estude sua necessidade e capacidade da partiç /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ç de problemas
mime_table /usr/share/squid3/mime.conf

cache_mgr suporte@cacomunicacao.com.br
memory_pools on

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 192.168.169.0/24
acl to_localhost dst 127.0.0.0/24
acl vlan24 src 192.168.169.0/24 # Representa a sua rede e respectiva máara de sub-rede
#acl lan src 172.18.28.0/24 # Assim como neste exemplo, se vocêiver 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


arquivo firewall

#!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.169.0/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.169.91/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128

comentei duas linhas para testar uma outra solução que deu no mesmo.
não sei mais o que fazer, já tô sem ideias do que fazer.


  


2. Re: Squid com proxy transparente não funciona

Buckminster
Buckminster

(usa Debian)

Enviado em 19/12/2013 - 20:35h

Qual é a distribuição Linux nesse servidor com Squid?

Execute squid -v ou squid --version ou squid3 -v ou squid3 --version e posta aqui a saída do comando para a gente ver a versão do teu Squid.


3. Re: Squid com proxy transparente não funciona

James Dean Rodrigues Damasceno
jamesdean

(usa Outra)

Enviado em 20/12/2013 - 14:41h

estou utilizando o ubuntu-12.04.3-server-

Squid Cache: Version 3.1.19
configure options: '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=${prefix}/lib/squid3' '--srcdir=.' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-silent-rules' '--datadir=/usr/share/squid3' '--sysconfdir=/etc/squid3' '--mandir=/usr/share/man' '--with-cppunit-basedir=/usr' '--enable-inline' '--enable-async-io=8' '--enable-storeio=ufs,aufs,diskd' '--enable-removal-policies=lru,heap' '--enable-delay-pools' '--enable-cache-digests' '--enable-underscores' '--enable-icap-client' '--enable-follow-x-forwarded-for' '--enable-auth=basic,digest,ntlm,negotiate' '--enable-basic-auth-helpers=LDAP,MSNT,NCSA,PAM,SASL,SMB,YP,DB,POP3,getpwnam,squid_radius_auth,multi-domain-NTLM' '--enable-ntlm-auth-helpers=smb_lm,' '--enable-digest-auth-helpers=ldap,password' '--enable-negotiate-auth-helpers=squid_kerb_auth' '--enable-external-acl-helpers=ip_user,ldap_group,session,unix_group,wbinfo_group' '--enable-arp-acl' '--enable-esi' '--enable-zph-qos' '--enable-wccpv2' '--disable-translation' '--with-logdir=/var/log/squid3' '--with-pidfile=/var/run/squid3.pid' '--with-filedescriptors=65536' '--with-large-files' '--with-default-user=proxy' '--enable-linux-netfilter' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security' 'LDFLAGS=-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' 'CPPFLAGS=-D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security' --with-squid=/build/buildd/squid3-3.1.19



4. Re: Squid com proxy transparente não funciona

Buckminster
Buckminster

(usa Debian)

Enviado em 20/12/2013 - 19:13h

Essa linha

http_port 3128 transparent

troque por

http_port 3128 intercept


Está faltando também a ACL da tua rede local, coloque assim nessas posições:

acl redelocal src 192.168.169.0/24 << supondo que esse seja teu endereço da rede local.
#acl manager proto cache_object << comente essa linha
# acl localhost src 192.168.169.0/24 << comente essa linha.



http_access allow manager localhost
http_access deny manager
http_access allow redelocal

Faça as alterações e reinicie o Squid.

E aqui

#!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.169.0/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.169.91/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128


deixe assim

#!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.169.0/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 << supondo que a tua placa da rede interna seja a eth0.

Faça as alterações e reinicie o Iptables.



5. Re: Squid com proxy transparente não funciona

James Dean Rodrigues Damasceno
jamesdean

(usa Outra)

Enviado em 23/12/2013 - 10:51h

agora nem com o proxy pega mais a internet.
vou procurar um outro tutorial e fazer novamente, vou descrever o cenário da empresa e como estou usando para testar.
aqui na empresa já tem um mandriva 2006 usado como servidor de proxy com squid.aqui tem 2 links de internet, o segundo link e utilizando somente pelo meu pc, nele liguei um suite e na porta eth0 que será a porta externa e eth1 será interna. essa eth1 eu ligo na rede local com o squid e uso a mesma configuração de redelocal a diferença é que aponto o gateway e dns preferencial para esse novo servidor, todas as máquinas usam ip fixo. pois o outro link é dedicado. o fato de eu usar na mesma rede pode tá interferindo, pois a outra pessoa que estava me ajudando disse que não tinha problema.


6. Re: Squid com proxy transparente não funciona

Buckminster
Buckminster

(usa Debian)

Enviado em 23/12/2013 - 11:14h

jamesdean escreveu:

agora nem com o proxy pega mais a internet.
vou procurar um outro tutorial e fazer novamente, vou descrever o cenário da empresa e como estou usando para testar.
aqui na empresa já tem um mandriva 2006 usado como servidor de proxy com squid.aqui tem 2 links de internet, o segundo link e utilizando somente pelo meu pc, nele liguei um suite e na porta eth0 que será a porta externa e eth1 será interna. essa eth1 eu ligo na rede local com o squid e uso a mesma configuração de redelocal a diferença é que aponto o gateway e dns preferencial para esse novo servidor, todas as máquinas usam ip fixo. pois o outro link é dedicado. o fato de eu usar na mesma rede pode tá interferindo, pois a outra pessoa que estava me ajudando disse que não tinha problema.


Deixa eu ver se eu entendi, você colocou esse teu servidor entre o servidor com Mandriva e o switch... é isso?

Se for isso então toda a rede interna está passando primeiro pelo teu servidor e o teu servidor com o proxy é que fica valendo para a rede interna.
Porém, dessa maneira, toda a conexão da tua rede interna está passando por dois proxies. Isso não é uma boa idéia.

Além disso, se tem dois links no servidor com Mandriva, provavelmente esses dois links devem estar distribuídos de alguma maneira, e isso pode causar alguma confusão no teu servidor.

Tente colocar assim no teu servidor e teste:

#!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.169.0/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

A placa de rede que vai na regra MASQUERADE sempre é a placa que recebe a internet e na regra de redirecionamento para o Squid sempre vai a placa que distribui para a rede interna.

A eth0 que você diz que ligou num switch, nesse switch está ligado o link?


7. Re: Squid com proxy transparente não funciona

James Dean Rodrigues Damasceno
jamesdean

(usa Outra)

Enviado em 23/12/2013 - 11:50h

A rede sem encontra assim.
1 link dedicado que é passa pelo servidor proxy com mandriva 2006, esse seria a rede local da empresa.

1 link que é ligado somente o meu computador, fora da rede da empresa.

o que eu fiz, peque o cabo que vem vem do modem liguei em um switch, aí peguei um cabo de rede e coloquei na eth0 do servidor de teste e na eth1 liguei na rede da empresa.
quando eu configuro esse servidor de teste, eu faça a configuração da rede interna com a diferença que aponto para esse servidor de teste.
então seria assim pego um pc aqui da rede, mudo o gateway e dns preferencial apontando para esse servidor de teste,então logo esse pc iria usar o link que é fora da rede da empresa.



8. Re: Squid com proxy transparente não funciona

James Dean Rodrigues Damasceno
jamesdean

(usa Outra)

Enviado em 27/12/2013 - 16:29h

Buckminster, cara formatei a máquina e deixei zerada.
quero fazer assim como já tenho o squid rodando no madriva 2006 e lá o ip é estático.
eu queria instalar nessa máquina que tá com o ubuntu server o squid e deixa com a mesma configuração do mandriva, a única diferença será o ip, aí eu queria pegar uma máquina da rede e direcionar o gateway para esse servidor com ubuntu. tem como fazer isso, até tentei aqui só que me enrolei todo e não consegui.


9. Re: Squid com proxy transparente não funciona

Buckminster
Buckminster

(usa Debian)

Enviado em 27/12/2013 - 18:58h

E você pretende usar o link da rede da empresa?


10. Re: Squid com proxy transparente não funciona

James Dean Rodrigues Damasceno
jamesdean

(usa Outra)

Enviado em 28/12/2013 - 16:44h

sim, pois quero mudar o mandriva 2006. quero deixar o ubuntu para instalar os software de monitoramento de banda e emitir relatório, pois no mandriva achei pouco opções para essa versão e as que eu tentei nenhuma funcionou. mais o principal é a atualização e modernização desse servidor proxy.


11. Re: Squid com proxy transparente não funciona

Buckminster
Buckminster

(usa Debian)

Enviado em 28/12/2013 - 21:34h

Bom, você precisará criar um servidor com NAT, instalar o DHCP e instalar o Squid.

Vou te mandar uns links para servir de apoio, para você ter uma base. É do Debian, mas se aplica ao Ubuntu, e tem explicações básicas de como montar um servidor como você quer.

E um link para instalação do Squid.

As dúvidas que você tiver a gente vai tirando por aqui. As configurações do squid.conf depois você diga exatamente o que você quer.

http://www.vivaolinux.com.br/artigo/Configuracao-do-sistema-DHCP-compartilhamento-e-DNS-no-Debian-Sq...

Nesse link aí em cima, a última parte do DNS acredito que não se aplica ao teu caso.

http://www.vivaolinux.com.br/artigo/Compilacao-do-Squid-3-no-Debian-Wheezy/

Nesse link aí é para o Debian Wheezy, mas a compilação e a instalação se aplica ao Ubuntu também.
Nos parâmetros depois do ./configure você acrescenta --enable-arp-acl. Os outros você deixa igual.
Isso se você for seguir o artigo.
Caso você instalar o Squid com apt-get install informo que alguns parâmetros que talvez depois você irá precisar, eles não são instalados por padrão.

Se você for instalar e compilar a última versão do Squid aconselho, antes de compilar, executar ./configure --help, pois os parâmetros de compilação costumam mudar de uma versão para outra. Então você deve colocar somente os parâmetros que estejam na documentação da versão.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts