Squid - Transparente

1. Squid - Transparente

Janduy Euclides da Silva
janduy

(usa CentOS)

Enviado em 23/08/2013 - 19:45h

Boa noite passoal o meu squid que roda no Debian6 não esta ficando transparente segue abaixo o meu Squid.conf e as minha regras de iptables.


#Squid.conf
http_port 192.168.5.2:3128 transparent
visible_hostname SANTA_IZILDINHA
error_directory /usr/share/squid/errors/Portuguese
cache_dir ufs /var/spool/squid 10240 16 256
cache_log /var/log/squid/cache.log

#Memoria para arquivos html e imagens pequenas
cache_mem 1024 MB

#Tamanho maximo dos arquivos na memoria
maximum_object_size_in_memory 128 KB

#Maximo de download em disco
maximum_object_size 512 kB
minimum_object_size 0 KB

#Logs de acesso
access_log /var/log/squid/access.log squid

# Reduzindo cache
cache_swap_low 90
cache_swap_high 95

#ACLS

acl [*****] url_regex -i "/etc/squid/[*****]"
acl ip_liberado src "/etc/squid/ips"'
acl redesocial url_regex -i "/etc/squid/redesocial"
acl downloads url_regex -i "/etc/squid/down"
acl rede src 192.168.5.0/24 127.0.0.1/32
acl all src 0.0.0.0/0

#Acessos
http_access deny [*****]
http_access allow ip_liberado
http_access deny redesocial
http_access deny downloads
http_access allow rede
http_access deny all


#Regras de Iptables

-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A POSTROUTING -o eth0 -j MASQUERADE





  


2. Re: Squid - Transparente

Buckminster
Buckminster

(usa Debian)

Enviado em 23/08/2013 - 20:28h

-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

Na regra acima não é --to-ports, é --to-port, sem o 's'. Mas o melhor é deixar a regra assim:

-A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

E a eth1 no teu caso deve ser a placa da rede interna.

E execute squid -z e veja a versão do teu Squid.
Se for 3.0 e abaixo o certo é transparent, se for 3.1 e acima o certo é intercept.


3. Squid - Transparente

Janduy Euclides da Silva
janduy

(usa CentOS)

Enviado em 23/08/2013 - 21:10h

No caso a regra fica assim?

# iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128




4. Re: Squid - Transparente

Buckminster
Buckminster

(usa Debian)

Enviado em 23/08/2013 - 21:39h

janduy escreveu:

No caso a regra fica assim?

# iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128



Sim.


5. Squid - Transparente

Janduy Euclides da Silva
janduy

(usa CentOS)

Enviado em 25/08/2013 - 23:21h

Boa noite pessoal eu testei as configurações mas não funciona eu não sei o que aconteceu por que eu configurei esse linux desde julho e estava normal e do nada começo a acontecer isso.

Só uma duvida eu estou configurando a regra de redirecionamento no iptables nat está correto?




6. Re: Squid - Transparente

Buckminster
Buckminster

(usa Debian)

Enviado em 26/08/2013 - 00:09h

janduy escreveu:

Boa noite pessoal eu testei as configurações mas não funciona eu não sei o que aconteceu por que eu configurei esse linux desde julho e estava normal e do nada começo a acontecer isso.

Só uma duvida eu estou configurando a regra de redirecionamento no iptables nat está correto?



Esta linha

acl rede src 192.168.5.0/24 127.0.0.1/32

deixe assim

acl rede src 192.168.5.0/24

E esta linha

http_port 192.168.5.2:3128 transparent

deixe assim

http_port 3128 transparent

E execute squid -z e veja a versão do teu Squid.
Se for 3.0 e abaixo o certo é transparent, se for 3.1 e acima o certo é intercept.


Reinicie o Squid e o Iptables e teste.


7. Squid - Transparente

Janduy Euclides da Silva
janduy

(usa CentOS)

Enviado em 26/08/2013 - 01:38h

Não deu certo.
Eu observei a seguinte coisa a minha interface de saida para internet é a "eth1" e a minha interface da rede nat é "eth0" então devo criar as regras de iptables para interface da minha rede "nat" certo?


8. Re: Squid - Transparente

Buckminster
Buckminster

(usa Debian)

Enviado em 26/08/2013 - 02:21h

janduy escreveu:

Não deu certo.
Eu observei a seguinte coisa a minha interface de saida para internet é a "eth1" e a minha interface da rede nat é "eth0" então devo criar as regras de iptables para interface da minha rede "nat" certo?


Olha só:

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 << aqui SEMPRE vai a placa da tua rede interna.
iptables -A POSTROUTING -o eth0 -j MASQUERADE << aqui SEMPRE vai a placa de rede que recebe a internet, ou seja, aquela que está conectada no modem.

No teu caso você inverteu as placas. Coloque assim:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -A POSTROUTING -o eth1 -j MASQUERADE

Na placa de rede que recebe a internet (eth1) deixe IP dinâmico (dhcp).
Na placa da rede interna (eth0) coloque IP fixo.
Altere o arquivo /etc/network/interfaces.

Faça as alterações reinicie o servidor e teste.


9. Squid - transparente

Janduy Euclides da Silva
janduy

(usa CentOS)

Enviado em 26/08/2013 - 12:15h

Não funcionou.... segue abaixo o arquivo de configuração do meu iptables.

# Generated by iptables-save v1.4.8 on Mon Aug 26 12:16:18 2013
2 *nat
3 :PREROUTING ACCEPT [97:6052]
4 :POSTROUTING ACCEPT [0:0]
5 :OUTPUT ACCEPT [20:1200]
6 -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
7 -A POSTROUTING -o eth0 -j MASQUERADE
8 COMMIT
9 # Completed on Mon Aug 26 12:16:18 2013



10. Re: Squid - Transparente

Buckminster
Buckminster

(usa Debian)

Enviado em 27/08/2013 - 01:44h

janduy escreveu:

Não funcionou.... segue abaixo o arquivo de configuração do meu iptables.

# Generated by iptables-save v1.4.8 on Mon Aug 26 12:16:18 2013
2 *nat
3 :PREROUTING ACCEPT [97:6052]
4 :POSTROUTING ACCEPT [0:0]
5 :OUTPUT ACCEPT [20:1200]
6 -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
7 -A POSTROUTING -o eth0 -j MASQUERADE
8 COMMIT
9 # Completed on Mon Aug 26 12:16:18 2013


Você não fez nada do que disse para fazer. Deixou tudo como estava.


11. Squid - Transparente

Janduy Euclides da Silva
janduy

(usa CentOS)

Enviado em 27/08/2013 - 10:59h

Fiz com me disse a questão do "Ports" é normal eu ja olhei em outros linux a regra entra como "port" mas quando coloco o seguinte comando "iptables -t nat -nL" aparece como "ports".

Segue as configurações de rede.

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.5.2
netmask 255.255.255.0
dns-nameservers 192.168.5.3



Fiz outro teste mudei a porta do squid de 3128 para "1935" mas só funciona se eu definir no navegador das estações.


12. Re: Squid - Transparente

Buckminster
Buckminster

(usa Debian)

Enviado em 27/08/2013 - 22:35h

Segue as configurações de rede.

allow-hotplug eth0 << ESTA É A TUA PLACA QUE RECEBE A INTERNET; ESTA PLACA DEVE ESTAR CONECTADA POR UM FIO NO MODEM/ROTEADOR
iface eth0 inet dhcp

allow-hotplug eth1 << ESTA É A TUA PLACA DA REDE INTERNA; ESTA PLACA DEVE ESTAR CONECTADA EM UM SWITCH PARA DISTRIBUIR A INTERNET PARA A REDE INTERNA.
iface eth1 inet static
address 192.168.5.2 << ESTE É O IP DO GATEWAY DA TUA REDE INTERNA.
netmask 255.255.255.0
broadcast 192.168.5.255 << ACRESCENTE ESTA LINHA..
dns-nameservers 192.168.5.3 << APAGUE ESTA LINHA; O DNS VOCÊ DEVE CONFIGURAR NO MODEM/ROTEADOR, OU, SE VOCÊ TEM DNS INTERNO DEVE CONFIGURAR ELE NO SERVIDOR DHCP DA REDE INTERNA.


Deixe a porta do Squid como 3128.

No Iptables:
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -A POSTROUTING -o eth0 -j MASQUERADE

E execute squid -v e veja a versão do teu Squid.
Se for 3.0 e abaixo o certo é transparent, se for 3.1 e acima o certo é intercept.

http_port 3128 transparent

ou

http_port 3128 intercept

Faça as alterações, salve e saia dos arquivos e reinicie a máquina.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts