Squid ou Iptables - Site não carrega (Connection timed out)

1. Squid ou Iptables - Site não carrega (Connection timed out)

James Maxwel
JamesMaxwel

(usa Ubuntu)

Enviado em 20/02/2013 - 15:24h

Boa tarde pessoal.

Estou com um probleminha aqui que já vem a algum tempo me dando uma dor de cabeça, gostaria de compartilhar com a comunidade em busca de uma solução e sei que certamente alguém já deve ter passado por algo semelhante e poderá compartilhar sua solução.

Antes de citar o ocorrido gostaria de informar que sou novo em linux, venho trabalhando com servidores a pouco mais de 1 ano, sendo assim meus conhecimento são um pouco limitados mas consigo me virar na medida do possível hehehe.

galera é o seguinte, tenho em um servidor um script firewall juntamente com o squid3 transparent, recentemente configurado e esta funcionando perfeitamente com uma pequena exceção, o site www.pampa.com.br simplesmente não carrega ou melhor tem hora que carrega e tem hora que não.

o curioso é que se eu acessar pelo ip do site vai que é uma blz ja se eu acessar pela url não funciona na maioria das vezes. desconfiei do DNS mas ele esta a funcionar corretamente.

E o pior de tudo é que quem quer acessar esse site é o diretor aqui da empresa, preciso solucionar isso o quanto antes possível.

se eu tentar acessar diretamente do servidor, vai tranquilamente mas das estações dos usuários não, mesmo estando tudo liberado no squid.

abaixo deixo o meu script firewall e meu squid.conf para analise e desde ja agradeço pela atenção de todos, obrigado.

Obs: Ja limpei o cache do squid mas mesmo assim não rolou.

#!/bin/sh
# ------------------------------------------------------------------------------------
# See URL: http://www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto.html
# (c) 2006, nixCraft under GNU/GPL v2.0+
# -------------------------------------------------------------------------------------
# squid server IP
SQUID_SERVER="192.168.1.1"
# Interface connected to Internet
INTERNET="eth0"
# Interface connected to LAN
LAN_IN="eth1"
# Squid port
SQUID_PORT="3128"
# Host
HOST="Proteus"

# DO NOT MODIFY BELOW
# Clean old firewall
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

# Load IPTABLES modules for NAT and IP conntrack support
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ipt_string
# For win xp ftp client
#modprobe ip_nat_ftp
echo 1 > /proc/sys/net/ipv4/ip_forward


#BLOQUEANDO OS TRAPACEIROS DO TELEVENDAS

iptables -I FORWARD -s 192.168.1.158 -m string --algo bm --string ".live.com" -j DROP
iptables -I FORWARD -s 192.168.1.183 -m string --algo bm --string ".live.com" -j DROP
iptables -I FORWARD -s 192.168.1.211 -m string --algo bm --string ".live.com" -j DROP
iptables -I FORWARD -s 192.168.1.215 -m string --algo bm --string ".live.com" -j DROP
iptables -I FORWARD -s 192.168.1.213 -m string --algo bm --string ".live.com" -j DROP
iptables -I FORWARD -s 192.168.1.216 -m string --algo bm --string ".live.com" -j DROP
iptables -I FORWARD -s 192.168.1.212 -m string --algo bm --string ".live.com" -j DROP
iptables -I FORWARD -s 192.168.1.214 -m string --algo bm --string ".live.com" -j DROP
iptables -I FORWARD -s 192.168.1.210 -m string --algo bm --string ".live.com" -j DROP

iptables -I FORWARD -s 192.168.1.158 -m string --algo bm --string "facebook.com" -j DROP
iptables -I FORWARD -s 192.168.1.183 -m string --algo bm --string "facebook.com" -j DROP
iptables -I FORWARD -s 192.168.1.211 -m string --algo bm --string "facebook.com" -j DROP
iptables -I FORWARD -s 192.168.1.215 -m string --algo bm --string "facebook.com" -j DROP
iptables -I FORWARD -s 192.168.1.213 -m string --algo bm --string "facebook.com" -j DROP
iptables -I FORWARD -s 192.168.1.216 -m string --algo bm --string "facebook.com" -j DROP
iptables -I FORWARD -s 192.168.1.212 -m string --algo bm --string "facebook.com" -j DROP
iptables -I FORWARD -s 192.168.1.214 -m string --algo bm --string "facebook.com" -j DROP
iptables -I FORWARD -s 192.168.1.210 -m string --algo bm --string "facebook.com" -j DROP

iptables -I FORWARD -s 192.168.1.158 -m string --algo bm --string "twitter.com" -j DROP
iptables -I FORWARD -s 192.168.1.183 -m string --algo bm --string "twitter.com" -j DROP
iptables -I FORWARD -s 192.168.1.211 -m string --algo bm --string "twitter.com" -j DROP
iptables -I FORWARD -s 192.168.1.215 -m string --algo bm --string "twitter.com" -j DROP
iptables -I FORWARD -s 192.168.1.213 -m string --algo bm --string "twitter.com" -j DROP
iptables -I FORWARD -s 192.168.1.216 -m string --algo bm --string "twitter.com" -j DROP
iptables -I FORWARD -s 192.168.1.212 -m string --algo bm --string "twitter.com" -j DROP
iptables -I FORWARD -s 192.168.1.214 -m string --algo bm --string "twitter.com" -j DROP
iptables -I FORWARD -s 192.168.1.210 -m string --algo bm --string "twitter.com" -j DROP

iptables -I FORWARD -s 192.168.1.158 -m string --algo bm --string "mail.google.com" -j DROP
iptables -I FORWARD -s 192.168.1.183 -m string --algo bm --string "mail.google.com" -j DROP
iptables -I FORWARD -s 192.168.1.211 -m string --algo bm --string "mail.google.com" -j DROP
iptables -I FORWARD -s 192.168.1.215 -m string --algo bm --string "mail.google.com" -j DROP
iptables -I FORWARD -s 192.168.1.213 -m string --algo bm --string "mail.google.com" -j DROP
iptables -I FORWARD -s 192.168.1.216 -m string --algo bm --string "mail.google.com" -j DROP
iptables -I FORWARD -s 192.168.1.212 -m string --algo bm --string "mail.google.com" -j DROP
iptables -I FORWARD -s 192.168.1.214 -m string --algo bm --string "mail.google.com" -j DROP
iptables -I FORWARD -s 192.168.1.210 -m string --algo bm --string "mail.google.com" -j DROP



#TS-SERVER
iptables -t nat -A PREROUTING -s 0/0 -m tcp -p tcp -i eth0 --dport 13001 -j DNAT --to-destination 192.168.1.1:3389
iptables -t nat -A PREROUTING -s 0/0 -m tcp -p tcp -i eth0 --dport 3389 -j DNAT --to-destination 192.168.1.3
iptables -t nat -A PREROUTING -s 0/0 -m tcp -p tcp -i eth0 --dport 13003 -j DNAT --to-destination 192.168.1.3:3389
iptables -t nat -A PREROUTING -s 0/0 -m tcp -p tcp -i eth0 --dport 13004 -j DNAT --to-destination 192.168.1.4:3389
iptables -t nat -A PREROUTING -s 0/0 -m tcp -p tcp -i eth0 --dport 13007 -j DNAT --to-destination 192.168.1.7:3389
iptables -t nat -A PREROUTING -s 0/0 -m tcp -p tcp -i eth0 --dport 13010 -j DNAT --to-destination 192.168.1.10:3389
iptables -t nat -A PREROUTING -s 0/0 -m tcp -p tcp -i eth0 --dport 13010 -j DNAT --to-destination 192.168.1.10:3389
iptables -t nat -A PREROUTING -s 0/0 -m tcp -p tcp -i eth0 --dport 13101 -j DNAT --to-destination 192.168.1.101:3389
iptables -t nat -A PREROUTING -s 0/0 -m tcp -p tcp -i eth0 --dport 13103 -j DNAT --to-destination 192.168.1.103:3389
iptables -t nat -A PREROUTING -s 0/0 -m tcp -p tcp -i eth0 --dport 13105 -j DNAT --to-destination 192.168.1.105:3389
iptables -t nat -A PREROUTING -s 0/0 -m tcp -p tcp -i eth0 --dport 13108 -j DNAT --to-destination 192.168.1.108:3389
iptables -t nat -A PREROUTING -s 0/0 -m tcp -p tcp -i eth0 --dport 13232 -j DNAT --to-destination 192.168.1.232:3389
iptables -t nat -A PREROUTING -s 0/0 -m tcp -p tcp -i eth0 --dport 13250 -j DNAT --to-destination 192.168.1.250:3389


iptables -t nat -A POSTROUTING -d 192.168.1.10 -j MASQUERADE
iptables -t nat -A POSTROUTING -d 192.168.1.3 -j MASQUERADE


#Portas liberadas e bloqueadas
PORTSLIB="/etc/config_proxy/portslib"
PORTSBLO="/etc/config_proxy/portsblo"


iptables -A INPUT -p tcp --dport 21 $i -j ACCEPT
iptables -A INPUT -p tcp --dport 20 $i -j ACCEPT



#liberar as portas principais do servidor
for i in `cat $PORTSLIB`; do
iptables -A INPUT -p tcp --dport $i -j ACCEPT
iptables -A INPUT -p udp --dport $i -j ACCEPT
iptables -A FORWARD -p tcp --dport $i -j ACCEPT
iptables -A OUTPUT -p tcp --sport $i -j ACCEPT
iptables -A OUTPUT -p udp --sport $i -j ACCEPT
done
iptables -I INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -I INPUT -m state --state RELATED -j ACCEPT
iptables -I OUTPUT -p icmp -o eth0 -j ACCEPT
iptables -I INPUT -p icmp -j ACCEPT
echo "ativado as portas abertas para estabelecer conexões"
echo "ativado a liberação das portas principais do servidor $HOSTNAME"
echo "ON .................................................[ OK ]"
#Bloqueio de portas
for i in `cat $PORTSBLO`; do
iptables -A INPUT -p tcp -i eth0 --dport $i -j DROP
iptables -A INPUT -p udp -i eth0 --dport $i -j DROP
iptables -A FORWARD -p tcp --dport $i -j DROP
done


# Setting default filter policy
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
# Unlimited access to loop back
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Allow UDP, DNS and Passive FTP
iptables -A INPUT -i $INTERNET -m state --state ESTABLISHED,RELATED -j ACCEPT
# set this system as a router for Rest of LAN
iptables --table nat --append POSTROUTING --out-interface $INTERNET -j MASQUERADE
iptables --append FORWARD --in-interface $LAN_IN -j ACCEPT
# unlimited access to LAN
iptables -A INPUT -i $LAN_IN -j ACCEPT
iptables -A OUTPUT -o $LAN_IN -j ACCEPT

# DNAT port 80 request comming from LAN systems to squid 3128 ($SQUID_PORT) aka transparent proxy
iptables -t nat -I PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to $SQUID_SERVER:$SQUID_PORT
# if it is same system
iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port $SQUID_PORT
# DROP everything and Log it
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP



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


# Configuracao Squid3
# Configurado por: James Maxwel
# Mensagens de erro em Portugues
error_directory /usr/share/squid3/errors/pt-br

# Porta do Squid
http_port 3128 transparent

# Nome do servidor
visible_hostname Decorville


# Cache
cache_mem 256 MB
maximum_object_size_in_memory 100 KB
maximum_object_size 6144 KB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 93

ipcache_size 1024
ipcache_low 90
ipcache_high 93

cache_replacement_policy lru
memory_replacement_policy lru

cache_dir ufs /var/spool/squid3 10000 16 256

# Logs de acesso
#logformat MEU_LOG IP do cliente: %>a - Horario: [%tl] - Metodo: %rm - URL: %ru - Status HTTP: %>Hs - Status Squid: %Ss

access_log /var/log/squid3/access.log

#coloque seu email
cache_mgr ti@decorville.com.br

# Regras acl padrão
acl manager proto cache_object
acl localhost src 127.0.0.0/24
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 20 # ftp
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 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 901 # swat
acl Safe_ports port 25 # smtp
acl Safe_ports port 587 # smtp
acl Safe_ports port 110 # pop
acl Safe_ports port 1025-65535 # portas altas
acl CONNECT method CONNECT

ignore_expect_100 on

# Permissões e bloqueios padrão
http_access deny manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

#GRUPOS DE ACESSO
#MASTER (DIRETIRIA)PERMITE TUDO
#FULL (GER E SUP)PERMITE TUDO - ST PROIBIDOS
#LIMITADO (MEIA BOCA)PERMITE TUDO - ST PROIBIDOS E PL PROIBIDA
#RESTRITO (SE FORDEU)APENAS O QUE ESTIVER NA WHITE-LIST

#WHITE-LIST = SITES LIBERADOS PARA GRUPO RESTRITO


#DEFININDO LOCAL DOS AQUIVOS QUE CONTEM O IP DOS GRUPOS
acl mac_master arp "/etc/squid3/regras/grupos/mac-master"
acl mac_full arp "/etc/squid3/regras/grupos/mac-full"
acl mac_limitado arp "/etc/squid3/regras/grupos/mac-limitado"
acl mac_restrito arp "/etc/squid3/regras/grupos/mac-restrito"

acl ip_master src "/etc/squid3/regras/grupos/ip-master"
acl ip_full src "/etc/squid3/regras/grupos/ip-full"
acl ip_limitado src "/etc/squid3/regras/grupos/ip-limitado"
acl ip_restrito src "/etc/squid3/regras/grupos/ip-restrito"

acl mac_lib_bancos arp "/etc/squid3/regras/grupos/outros/mac-lib-bancos"
acl mac_lib_red_soc arp "/etc/squid3/regras/grupos/outros/mac-lib-red-soc"

acl ip_lib_bancos src "/etc/squid3/regras/grupos/outros/ip-lib-bancos"
acl ip_lib_red_soc src "/etc/squid3/regras/grupos/outros/ip-lib-red-soc"
acl ip_lib_hotmail src "/etc/squid3/regras/grupos/outros/ip-lib-hotmail"
acl ip_lib_youtube src "/etc/squid3/regras/grupos/outros/ip-lib-youtube"

acl hotmail url_regex -i hotmail.com live.com
acl youtube url_regex -i youtube.com




#DEFININDO LOCAL DOS AQUIVOS WHITE-LIST, BLACK-LIST E OUTROS GRUP
acl st_proibido url_regex -i "/etc/squid3/regras/bloq/st-proibido"
acl pl_proibida url_regex -i "/etc/squid3/regras/bloq/pl-proibida"
acl white_list url_regex -i "/etc/squid3/regras/lib/white-list"
acl liberados url_regex -i "/etc/squid3/regras/lib/liberados"
acl lst_red_soc url_regex -i "/etc/squid3/regras/lib/redes-sociais"
acl lst_bancos url_regex -i "/etc/squid3/regras/lib/bancos"


#LIB DIRETORIA
http_access allow mac_master
http_access allow ip_master

#LIB RED SOCIAIS PARA ALGUNS E NEGA PARA TODOS
http_access allow mac_lib_red_soc lst_red_soc
http_access allow ip_lib_red_soc lst_red_soc
http_access deny lst_red_soc !mac_lib_red_soc !ip_lib_red_soc

#LIB GERENCIA
http_access allow mac_full !st_proibido
http_access allow ip_full !st_proibido

#LIB BANCOS PARA ALGUNS E NEGA PARA TODOS
http_access allow lst_bancos mac_lib_bancos
http_access allow lst_bancos ip_lib_bancos
http_access deny lst_bancos

#LIB AUX ADM
http_access allow hotmail ip_lib_hotmail
http_access allow youtube ip_lib_youtube

http_access allow mac_limitado !st_proibido !pl_proibida
http_access allow ip_limitado !st_proibido !pl_proibida
http_access allow mac_limitado liberados
http_access allow ip_limitado liberados

http_access allow mac_full liberados
http_access allow ip_full liberados


#NEGA TUDO QUE NAO ESTIVER NA WHITE-LIST PARA O GRUPO RESTRITO
http_access allow mac_restrito white_list
http_access allow ip_restrito white_list

http_access deny all !white_list




  


2. Re: Squid ou Iptables - Site não carrega (Connection timed out)

James Maxwel
JamesMaxwel

(usa Ubuntu)

Enviado em 21/02/2013 - 14:45h

Poo pessoal da uma força ai.

Mais um detalhe que notei, hoje de manha abriu normalmente já atarde não abre, da time out.


3. Re: Squid ou Iptables - Site não carrega (Connection timed out)

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 21/02/2013 - 15:14h

verifique o log do squid quando for acessar o site www.pampa.com.br

#tail -f /var/log/squid/access.log

interprete os resultados, se tiver dúvidas poste aqui

Se disse que acessa apenas pelo IP do site e não pelo domínio, pode ser seu DNS interno da rede.

http://mundodacomputacaointegral.blogspot.com.br/


4. Re: Squid ou Iptables - Site não carrega (Connection timed out)

James Maxwel
JamesMaxwel

(usa Ubuntu)

Enviado em 21/02/2013 - 15:41h

descobri, é cache.

rodei esse script e funcionou.

CACHE=/var/spool/squid3
service squid3 stop
rm -rf $CACHE
mkdir $CACHE
chmod 777 $CACHE
squid3 -z
service squid3 start


agora só preciso otimizar o squid3.conf para que limpe esse cache automaticamente ou algo do tipo.

alguém ai tem uma ideia?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts