Boa noite colegas,
Peço desculpas por voltar em um tema já discutido neste forum, no entanto mesmo com TODAS as explicações feitas não consegui resolver meu problema. Primeiramente segue os links para demonstração do meu ambiente de rede no qual encontro o problema:
Rede Interna
http://img508.imageshack.us/img508/79/redeinterna.jpg
Configuração usuário Proxy
http://img191.imageshack.us/i/usuarioproxy.jpg/
Configuração usuário Ftp
http://img638.imageshack.us/i/usuarioshostfto.jpg
Agora meus arquivos de configuração.
Ubuntu 10.04
Squid 3.0
############# Squid.conf #############
http_port 80
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
acl apache rep_header Server ^Apache
#broken_vary_encoding allow apache
cache_mem 128 MB
maximum_object_size 128096 KB
maximum_object_size_in_memory 64 KB
cache_dir ufs /var/spool/squid3 2048 16 256
cache_mgr [email protected]
access_log /var/log/squid3/access.log squid
hosts_file /etc/hosts
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/passwd
auth_param basic children 5
auth_param basic realm Digite seu usuario e senha.
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
ftp_user [email protected]
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl rede_local src 10.0.0.0/24
acl portas port 21
acl liberados url_regex "/etc/squid3/liberados"
http_access deny liberados
acl CONNECT method CONNECT
acl password proxy_auth "/etc/squid3/usuarios.txt"
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.1/32
acl SSL_ports port 80 8017 # http pra sefip
acl SSL_ports port 443 # https
acl SSL_ports port 444 # sefip
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
acl SSL_ports port 11011 # webmin
acl Safe_ports port 80 # http
acl Safe_ports port 444 8017 # sefip
acl Safe_ports port 2678 # sefip
acl Safe_ports port 21 # ftp
acl Safe_ports port 20 # 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 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
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
http_access deny to_localhost
http_access allow CONNECT portas
http_access allow portas
http_access allow password
http_access allow rede_local
http_access deny all
########### firewall.sh #############
IPTABLES=/sbin/iptables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ip_tables
modprobe ipt_MASQUERADE
modprobe ipt_state
modprobe iptable_nat
modprobe ipt_LOG
modprobe ipt_REJECT
#desligando forward
echo 0 > /proc/sys/net/ipv4/ip_forward
#limpando tabela NAT
$IPTABLES -t nat -F
$IPTABLES -t nat -X
$IPTABLES -t nat -Z
$IPTABLES -t nat -F POSTROUTING
$IPTABLES -t nat -F PREROUTING
#limpando regras
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
#Politicas
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT ACCEPT
# ==========================================================
# VARIÁVEIS
# ==========================================================
WAN="eth0" # Interface Externa
LAN="eth1" # Interface Interna Desktops
LAN_ADDRESS="10.0.0.0/24"
#INTERNAL_INT_SERVERS="eth2" # Interface Interna Servidores
LAN_IP="10.0.0.254" # IP Interno rede Desktops
WAN_IP="192.1268.1.254" # IP Externo
DNS1="8.8.8.8" # DNS Externo do ISP
DNS2="6.6.6.6" # DNS Externo secundario ISP
# Conexões Pré-estabelecidas
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
# Tudo desde a Rede Interna, fazer NAT
$IPTABLES -t nat -A POSTROUTING -s $LAN_ADDRESS -o $WAN -j MASQUERADE
#######################################################
# INPUT
#######################################################
# Liberar DNS
$IPTABLES -A INPUT -p tcp --dport 53 -j ACCEPT
$IPTABLES -A INPUT -p udp --dport 53 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT
# Liberar para proxy
$IPTABLES -A INPUT -s $LAN_ADDRESS -p tcp --dport 80 -j ACCEPT
# Liberar Rede Interna
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A INPUT -s $LAN_ADDRESS -j ACCEPT
#--------NAT----------
$IPTABLES -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth+ -j MASQUERADE
#habilitando forward
echo 1 > /proc/sys/net/ipv4/ip_forward
#liberando SSh
$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT
#liberando porta 80 SQUID
$IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT
#liberando range para FTP
$IPTABLES -A FORWARD -s 10.0.0.0/24 -p tcp --dport 20 -j ACCEPT
$IPTABLES -A FORWARD -s 10.0.0.0/24 -p tcp --dport 21 -j ACCEPT
echo "Firewall Startado com Sucesso"
Quando o cliente FTP FileZilla tenta se conectar ao host "externo" é exibido a seguinte mensagem.
Exibição do Firezilla
Status: Conectando com pcinfo.g8networks.com.br através do proxy
Status: Conectando com 10.0.0.254:80...
Status: Conexão com o proxy estabelecida, executando o handshake...
Resposta: Resposta do proxy: HTTP/1.0 200 Connection established
Status: Conexão estabelecida, esperando a mensagem de boas vindas...
Resposta: 220 ProFTPD 1.3.2 Server (Servidor FTP - PC INFO) [189.50.115.240]
Comando: USER atacadaoriodopeixejuazeiro
Resposta: 331 Password required for atacadaoriodopeixejuazeiro
Comando: PASS ****
Resposta: 230 User atacadaoriodopeixejuazeiro logged in
Status: Conectado
Status: Recuperando a listagem de pastas...
Comando: PWD
Resposta: 257 "/" is the current directory
Comando: TYPE I
Resposta: 200 Type set to I
Comando: PASV
Resposta: 227 Entering Passive Mode (189,50,115,240,184,116)
Comando: LIST
Status: Conectando com 110.0.0.254:80...
Status: Conexão com o proxy estabelecida, executando o handshake...
Resposta: Resposta do proxy: HTTP/1.0 403 Forbidden
Erro: O handshake do proxy falhou: ECONNRESET - Connection reset by peer
Erro: O tempo da conexão se esgotou
Erro: Falhou em recuperar a listagem de diretórios
/var/log/squid3/access.log
Acessando o access.log do squid eu consegui verificar o que ele bloqueando.
1294118774.691 0 192.168.1.254 TCP_DENIED/403 3560 CONNECT pcinfo.g8networks.com.br:21 - NONE/- text/html
1294119265.722 0 192.168.1.254 TCP_DENIED/403 3560 CONNECT pcinfo.g8networks.com.br:21 - NONE/- text/html
Alguem poderia me ajudar? Preciso acessar um FTP externo passando pelo proxy. O acesso a páginas da Web funciona
perfeitamente no Squid. Não consigo acessar o FTP pelo browser anão ser que eu passe usuario e senha diretos:
Ex: ftp://usuario:[email protected]
OBS:
- O cliente Filezilla me mostra que consigo passar pelo proxy, so não consigo acessar o host.
- Já tentei outro cliente FTP e o problema persiste.
- Quando acesso o FTP direto do servidor ubuntu, consigo ter acesso normalmente ao mesmo, sem problemas.
Desde já agradeço qualquer ajuda.