lucasvenez
(usa Debian)
Enviado em 30/09/2008 - 01:53h
Olá pessoal!
Estou configurando um servidor Linux e desejo utilizar o squid como proxy. Porém, não consigo fazer com que este último funcione, no momento que eu redireciono a por 80 para a porta 3128 (iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
) nenhuma máquina cliente e o ServerWindows não tem acesso a internet.
Não estou tendo problemas com a transparencia do proxy, nem com suas acl's, fiz e refiz teste liberando tudo que poderia ser liberando no squid, porém, esse redirecionamento de porta esta me causando uma grande dor de cabeça.
Se alguém poder me ajudar com esse problema, serei muito grato!
A minha rede está da seguinte maneira:
ServerLinux(Debian[Internet, FTP, HTTP, e-mail])
v
[Switch] <<<<<<<< Clientes
^
ServerWindows(Server 2003 [Dominio, DNS, DHCP])
OBS: Já liberei as portas 80 e 3128, mas se alguém sugerir algo quanto a isso, poderia ajudar muito, pois ainda não tenho muita afinidade com o iptables.
Por via das dúvidas vou colocar os arquivos .conf do squid e do iptables:
IPTABLES
*******************************************************
ESTE ARQUIVO ESTA NA PASTA INIT.D E ESTÁ CONFIGURADO PARA
SER EXECUTADO NO BOOT DO SISTEMA
*******************************************************
#!/bin/bash
#
# /etc/etc/init.d/iptables.conf
#
# Limpa e inicializa os modulos
#******************************
#
iptables -F
iptables -t nat -F
iptables -t mangle -F
modprobe iptable_nat
#
# Proxy transparente (Redireciona para o squid) - eth0 -> Placa de rede da intranet
#********************************************************#
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
#
# Compartilha Internet - eth1 -> Placa de rede da internet
#********************************************************
#
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
******************************************************************
SQUID
***************************************************
# Arquivo: /etc/squid/squid.conf
#
# Politicas de Acesso a Internet (AI) adotadas
#*********************************************
#
# Configura��o Geral
#*******************
#
http_port 3128 transparent
cache_mem 32 MB
cache_dir ufs /var/spool/squid 100 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
pid_filename /var/run/squid.pid
error_directory /usr/share/squid/errors/Portuguese
emulate_httpd_log on
visible_hostname serverSpeedy
cache_mgr lucasvenez@hotmail.com
# acl - Padrões
#*******************
#
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object5.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8.
acl SSL_ports port 443 563 # https, snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
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 Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
#
# acl - Proprias
#*********************
#
# *** Define portas liberadas
#acl Safe_ports port 23000 # Serpro
#acl Safe_ports port 13352 # SIRF
#acl Safe_ports port 500 # FAP Digital
#
# *** Rede interna (Intranet)
acl intranet src 192.168.0.0/255.255.255.0
#
# *** PC(s) com privilegio total!
#acl admin arp "/etc/squid/list/admin.txt"
#
# *** Define a lista de PC(s) autorizados ao acesso a Internet
acl internet arp "/etc/squid/list/internet.txt"
#
# *** Define a lista de sites impr�prios
#acl site dstdomain -i "/etc/squid/list/site.txt"
#
# *** Define a lista de palavras impr�prias
#acl palavra url_regex -i "/etc/squid/list/palavra.txt"
# *** Define PC(s) sem acesso a Internet (bloqueados) 24h/dia
#acl bloqueado arp "/etc/squid/list/bloqueado.txt"
#http_access - Recomendadas
#***************************
#
http_access allow all
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
# Permite acesso da rede interna (Intranet)
http_access allow intranet
# http_access - Personalizadas
#*****************************
#
# *** Libera dowloads de ate 5 MB
reply_body_max_size 5242880 allow all
# *** Nega sites improprios
#http_access deny site !admin
# *** Nega palavras impr�prias
# *** Nega PC(s) sem acesso a internet (bloqueados)
#http_access deny bloqueado
# *** Nega tudo que n�o foi liberado o
http_access allow all
*********************************************************************
Em todos os arquivos que o squid utilizará a informação necessário já foi atribuida!
OBS: O ERRO QUE DÁ NO CLIENTE NÃO É DO PROXY, AVISANDO QUE A INTERNET OU O SITE OU PALAVRA ESTÁ BLOQUEADA PELO PROXY. É ERRO DE CONEXÃO; OS CLIENTES NÃO ENCHERGAM A INTERNET NO SERVERLINUX
Até mais.