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