Problemas com o squid [RESOLVIDO]

1. Problemas com o squid [RESOLVIDO]

Ricardo
rpoucas

(usa Outra)

Enviado em 02/02/2016 - 20:42h

Boa noite amigos estou tentando configurar um proxy em um servidor rodando CentOS 7 e instalei o squid 3.8, acontece que não consigo colocá-lo transparente e também não consigo fazer com que os computadores da rede se conectem ao proxy, as máquinas fazem ping normalmente mas quando eu coloco o proxy como gateway os computadores não conseguem conectar.
Poderiam me ajudar a :
Colocar o proxy transparente
Configurar o iptables para aceitar as conexões de fora ( quero usar, inicialmente, apenas uma placa de rede no servidor)

Segue abaixo meu squid,conf

Obrigado

#
# Recommended minimum configuration:
#

# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
#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/24 # RFC1918 possible internal network
acl localhost src 127.0.0.1 # RFC 4193 local private network range
#acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines

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

#
# Recommended minimum Access Permission configuration:
#
# Deny requests to certain unsafe ports
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports

# Only allow cachemgr access from localhost
http_access allow localhost manager
http_access deny manager

# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
#PALAVRAS E SITES PROIBIDOS
acl bloqueados url_regex -i "/etc/squid/bloqueados"
http_access deny bloqueados
acl palavrasproibidas dstdom_regex "/etc/squid/palavrasproibidas"
http_access deny palavrasproibidas

# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
http_access allow localhost

# And finally deny all other access to this proxy
http_access deny all
# Squid normally listens to port 3128
http_port 3128 transparent


# Uncomment and adjust the following to add a disk cache directory.
#cache_dir ufs /var/spool/squid 100 16 256

#CONFIGURALCAO DO CACHE DA MEMORIA E DO DISCO
cache_mem 256 MB
maximum_object_size_in_memory 256 KB
maximum_object_size 1024 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 4096 16 256
cache_access_log /var/log/squid/access.log

#

# Add any of your own refresh_pattern entries above these.
#
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







  


2. Re: Problemas com o squid [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 02/02/2016 - 21:14h

http_port 3128 transparent

troque por

http_port 3128 intercept

No IPtables tem que ter uma regra assim:

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

Caso tu compilou o Squid para bloqueio de HTTPS terá que colocar no IPtables uma regra assim, logo abaixo da de cima:

iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 3128


E não esqueça de configurar as políticas padrões do IPtables.


E como assim tu colocou o proxy como gateway?


3. Re: Problemas com o squid [RESOLVIDO]

Ricardo
rpoucas

(usa Outra)

Enviado em 19/02/2016 - 20:47h

Fiz conforme orientado porém o proxy não funciona se eu colocar intercept ou até mesmo transparent depois da porta.

Outra coisa, quando eu deixo apenas a porta no arquivo squid.conf o proxy funciona porém somente na minha máquina, nos computadores da rede aparece tempo limite de conexão exedido.

Meu firewall esta salvo na pasta /etc/init.d

#!/bin/bash
iniciar(){
# Compartilha a conexão
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 \
-j TCPMSS --clamp-mss-to-pmtu
echo "Compartilhamento ativado"
# Proxy transparente
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
echo "Proxy transparente ativado"
#
iptables -A INPUT -s 192.168.0.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP
}
parar(){
iptables -F
iptables -t nat -F
echo "Regras de firewall e compartilhamento desativados"
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parâmetros start ou stop"
esac


eu inicio o firewall no boot escrevendo /etc/init.d/compartilhar start no final do arquivo /etc/rc.local

No caso do script do firewall, agora eu tenho duas placas, eth0 para compartihar a internet e eth1 para o proxy.

Alguma sugestão????


4. Re: Problemas com o squid

Bruno Thomaz
SarusKant

(usa CentOS)

Enviado em 20/02/2016 - 12:45h

Squid a partir da versão 3.2 não suporta proxy transparente e proxyset na mesma porta.

Faça assim:

http_port 3128
http_port 3129 intercept
https_port 3130 intercept ssl-bump ..... # a versão que vc esta usando não suporta bump.

Não esqueça de modificar o redirecionamento no iptables.

Boa Sorte!
--
Bruno Thomaz


5. Re: Problemas com o squid [RESOLVIDO]

Ricardo
rpoucas

(usa Outra)

Enviado em 22/02/2016 - 18:56h

Não deu certo, meus computadores da rede não conseguem usar o proxy, aparece a mensagem tempo limite atingido, além disso sites com https não consigo acessar do servidor como o viva o linux por exemplo, no log do squid aparece bloqueio na porta 403: TCP_DENIED/403 3715 CONNECT .

Alguém ?


6. Re: Problemas com o squid [RESOLVIDO]

Bruno Thomaz
SarusKant

(usa CentOS)

Enviado em 22/02/2016 - 19:19h

Faça o seguinte baixe seu firewall e configure assim:
#iptables
iptables -t nat -A PREROUTING -i eth1 -p TCP --dport 80 -j REDIRECT --to-port 3129
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#squid modifique.

http_port 3128
http_port 3129 intercept


Somente isso e teste.




--
Bruno Thomaz


7. Re: Problemas com o squid [RESOLVIDO]

Ricardo
rpoucas

(usa Outra)

Enviado em 22/02/2016 - 21:53h

Agora o proxy funciona somente no servidor, as máquinas da rede não conseguem se conectar utilizando o proxy.

#!/bin/bash

###############################################################################
iniciar(){

# Compartilha a conexão

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

################################################################################

# Proxy transparente

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3129
echo "Proxy transparente ativado"

#################################################################################

iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT

#################################################################################

#pronteção contra IP-SSPOOFING, DoS e Buffer_Overflow

echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP

###############################################################################

#bloqueia as conexões vindas da internet

iptables -A INPUT -p tcp --syn -j DROP

##################################################################################
}
parar(){
iptables -F
iptables -t nat -F
echo "Regras de firewall e compartilhamento desativados"
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parâmetros start ou stop"
esac



8. Re: Problemas com o squid [RESOLVIDO]

Bruno Thomaz
SarusKant

(usa CentOS)

Enviado em 23/02/2016 - 00:15h

Cara, me manda o cenário exato da sua rede.
Interfaces, Internet, LAN
Que vou ver o que esta errado, ta mando a conf certa.
--
Bruno Thomaz


9. Re: Problemas com o squid [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 23/02/2016 - 10:40h

Comente a linha abaixo, reinicie e teste:

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE


10. Re: Problemas com o squid [RESOLVIDO]

Ricardo
rpoucas

(usa Outra)

Enviado em 23/02/2016 - 18:30h

Galera, quero agradecer a disposição de todos em me ajudar, realmente é gratificante constatar como a comunidade é ativa, acho que é um dos grandes diferenciais do Linux.

Descobri qual era o problema, na minha interface eth1 do proxy o gateway estava setado diretamente no meu roteador, coloquei o endereço da minha placa que compartilha a internet eth0 e está funcionando de forma transparente.

Nas máquinas da minha rede troquei o gateway do meu roteador para o endereço do meu proxy eth1 e está funcionando corretamente.

Espero que minha dúvida possa ajudar alguém no futuro.

Obrigado






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts