Squid3 Limitando Upload

1. Squid3 Limitando Upload

Ricardo A. Silva
ricardoxk

(usa Ubuntu)

Enviado em 21/12/2012 - 01:28h

Olá companheiros do VOL,

Venho perguntar se alguém esta passando ou passou pelo mesmo problema que eu.

Configurei meu servidor com ubuntu Server 12.04 lts, configurei o iptables fazendo Nat e testei, tudo OK, taxa de Dowload 4Mb e Upload +- 3.5Mb, link de fibra òptica da OI.

Depois instalei e configurei o Squid3 como proxy transparente.

Realizei a navegação, tudo ok, mais nos meus testes de Upload a minha taxa caiu de 3.5Mb para 500Kb, a taxa de download ficou normal, sem problemas, somente o Upload teve essa baixa.

Gostaria que me ajudassem, não sei se isso é normal quando se utiliza proxy.

Segue meus arquivos de configuração:

- Squid.conf

#Porta onde o servidor Squid vai ficar disponível.
http_port 3128 transparent
#Nome do servidor.
visible_hostname Titan
#Mensagens de erro em Portugues.
error_directory /usr/share/squid3/errors/Portuguese/

#Configuração de cache.
#-----------------------------------------------------------------------------------
#Quantidade de memoria RAM dedicada ao cache 512MB.
cache_mem 512 MB
#Tamanho máximo dos arquivos que serão guardados no cache da memoria RAM 8KB.
maximum_object_size_in_memory 8 KB
#Cache de objetos em disco, tamanho 2MB.
maximum_object_size 2048 KB
minimum_object_size 0 KB
#Porcentagem de uso do cache para descarte de arquivos antigos.
cache_swap_low 45
cache_swap_high 95
#Diretório onde serão armazenados os arquinos de cache, tamanho 10GB.
cache_dir ufs /var/spool/squid3 10240 16 256
#Diretório onde serão armazenados os arquivos de log do Squid.
cache_access_log /var/log/squid3/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

#Políticas de Acesso.
#-----------------------------------------------------------------------------------
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
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 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 1025-65535 # portas altas
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

acl redelocal src 10.3.0.0/16

#Politica de acesso para rede local.
#-----------------------------------------------------------------------------------
http_access allow localhost
http_access allow redelocal
http_access deny all



- Firewall.sh


#!/bin/bash


# Declaração de Variáveis
#------------------------------------------------------------------------------------------------------
echo
echo "- Declarando Variáveis..."
#Interface da Internet:
ifinternet="eth0"

#Interface da rede local
iflocal="eth1"
echo

# Portas
# -----------------------------------------------------------------------------------------------------
echo "- Declarando Portas..."
ssh="3050"
https="443"
http="80"
tservice="3389"
serpro="23000"
dans="8080"
squid="3128"
receita="3456"
smtp="465"
pop="995"
imap="993"
msn="1863"
dns="53"
ftp="21"
sefip="2631"
pbprev="8081"
pbprev2="8082"
echo
# Ativar Módulos do Kernel
# -----------------------------------------------------------------------------------------------------
echo "- Ativando módulos do Kernel..."
modprobe iptable_nat
echo

#Iniciando Firewall
# -----------------------------------------------------------------------------------------------------
echo "- Iniciando Firewall..."
echo
echo "- Limpando contadores..."
iptables -Z
iptables -t nat -Z
iptables -t mangle -Z
echo
echo "- Limpando as regras..."
iptables -F
iptables -t nat -F
iptables -t mangle -F
echo
echo "- Mudando o policiamento das chains..."
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
echo

# Ativar o Compartilhamento
# -----------------------------------------------------------------------------------------------------
echo "- Compartilhando a conexão..."
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE
echo

# Proteção Contra Ping of Death
# -----------------------------------------------------------------------------------------------------
echo "- Protege contra pings da morte..."
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
echo

# Proteção Contra PortScan ocultos
# -----------------------------------------------------------------------------------------------------
echo "- Protege contra PortScan Ocultos..."
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
echo

# Proteção contra IP Spoofing
# -----------------------------------------------------------------------------------------------------
echo "- Ativando proteção contra IP Spoofing..."
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
echo

# Proteção contra SYN Flood
# -----------------------------------------------------------------------------------------------------
echo "- Ativando proteção contra SYN Flood..."
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo

# Recusa pacotes malformados
# -----------------------------------------------------------------------------------------------------
echo "- Ativando proteção contra pacotes malformados..."
iptables -A INPUT -m state --state INVALID -j DROP
echo

# Permissão da interface de loopback
# -----------------------------------------------------------------------------------------------------
echo "- Permissão da Interface de loopback..."
iptables -A INPUT -i lo -j ACCEPT
echo

# Permite conexões da rede local
# -----------------------------------------------------------------------------------------------------
echo "- Permitindo conexão da rede local..."
iptables -A INPUT -i $iflocal -j ACCEPT
echo

# Permitindo conexões já iniciadas
# -----------------------------------------------------------------------------------------------------
echo "- Permitindo conexões já iniciadas..."
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
echo

# Abrindo Portas
# -----------------------------------------------------------------------------------------------------
echo "- Abrindo Portas..."
iptables -A OUTPUT -j ACCEPT
iptables -A INPUT -p tcp --dport $http -j ACCEPT
iptables -A INPUT -p tcp --dport $https -j ACCEPT
iptables -A INPUT -p udp --dport $dns -j ACCEPT
iptables -A INPUT -p tcp --dport $ftp -j ACCEPT
iptables -A INPUT -p tcp --dport $ssh -j ACCEPT
iptables -A FORWARD -p udp -i $iflocal --dport $dns -j ACCEPT
iptables -A FORWARD -p tcp -i $iflocal --dport $http -j ACCEPT
iptables -A FORWARD -p tcp -i $iflocal --dport $https -j ACCEPT
iptables -A FORWARD -p tcp -i $iflocal --dport $ftp -j ACCEPT
iptables -A FORWARD -p tcp -i $iflocal --dport $ssh -j ACCEPT
iptables -A FORWARD -p tcp -i $iflocal --dport $smtp -j ACCEPT
iptables -A FORWARD -p tcp -i $iflocal --dport $pop -j ACCEPT
iptables -A FORWARD -p tcp -i $iflocal --dport $imap -j ACCEPT
iptables -A OUTPUT -p tcp --dport $dns -j ACCEPT
iptables -A OUTPUT -p tcp --dport $ftp -j ACCEPT
iptables -A OUTPUT -p tcp --dport $ssh -j ACCEPT
echo

# Liberar porta 3456 para funcionamento do programa receitanet da Receita Federal
# -----------------------------------------------------------------------------------------------------
echo "- Liberarndo programa ReceitaNet..."
iptables -A FORWARD -p tcp -d 161.148.0.0/16 --dport $receita -j ACCEPT
iptables -A FORWARD -p tcp -s 161.148.0.0/16 --dport $receita -j ACCEPT
echo

# Permite conexão: Terminal Q-Acadêmico
# -----------------------------------------------------------------------------------------------------
echo "- Liberando Terminal Service..."
iptables -A FORWARD -p tcp -d 200.129.68.12 --dport $tservice -j ACCEPT
iptables -A FORWARD -p tcp -s 200.129.68.11 --dport $tservice -j ACCEPT
echo

# Liberando Site PBPrev
# -----------------------------------------------------------------------------------------------------
echo "- Liberando Site PBPrev..."
iptables -A FORWARD -p tcp -d 200.141.141.43 --dport $pbprev -j ACCEPT
iptables -A FORWARD -p tcp -d 200.141.141.43 --dport $pbprev2 -j ACCEPT
echo

# Liberando Site Unimed
# -----------------------------------------------------------------------------------------------------
echo "- Liberando Site Unimed..."
iptables -A FORWARD -p tcp -d 201.57.152.151 --dport 8080 -j ACCEPT
echo

# Permite conexão: Avira
# -----------------------------------------------------------------------------------------------------
echo "- Liberando Avira..."
iptables -A FORWARD -p tcp -d 80.190.143.0/24 --dport $http -j ACCEPT
echo

# Liberar Programa SEFIP do Setor Financeiro
# -----------------------------------------------------------------------------------------------------
echo "- Liberando Programa SEFIP..."
iptables -A FORWARD -p tcp -d 200.201.174.204 --dport $sefip -j ACCEPT
iptables -A FORWARD -p tcp -d 200.201.174.204 --dport $http -j ACCEPT
iptables -A FORWARD -p tcp -d 200.201.174.204 --dport $https -j ACCEPT
iptables -A FORWARD -p tcp -d 200.201.174.207 --dport $sefip -j ACCEPT
iptables -A FORWARD -p tcp -d 200.201.174.207 --dport $http -j ACCEPT
iptables -A FORWARD -p tcp -d 200.201.174.207 --dport $https -j ACCEPT
iptables -A FORWARD -p tcp -d 200.201.174.0/24 --dport $sefip -j ACCEPT
iptables -A FORWARD -p tcp -d 200.201.174.0/24 --dport $http -j ACCEPT
iptables -A FORWARD -p tcp -d 200.201.174.0/24 --dport $https -j ACCEPT
echo

# Liberar Site SiSU
# -----------------------------------------------------------------------------------------------------
echo "- Liberando Acesso ao site SiSU..."
iptables -A FORWARD -p tcp -d sisu.mec.gov.br --dport $http -j ACCEPT
iptables -A FORWARD -p tcp -d sisu.mec.gov.br --dport $https -j ACCEPT
echo

# Permite conexão: Serpro
# -----------------------------------------------------------------------------------------------------
echo "- Liberando Serpro..."
iptables -A FORWARD -p tcp -d 161.148.40.200/24 --dport $serpro -j ACCEPT
echo

# Liberando MSN
# -----------------------------------------------------------------------------------------------------
echo "- Liberando acesso ao MSN..."
iptables -A FORWARD -p tcp -i $iflocal --dport $msn -j ACCEPT
iptables -A FORWARD -p tcp -d loginnet.passport.com -j ACCEPT
iptables -A FORWARD -p tcp -d 64.4.13.0/24 -j ACCEPT
iptables -A FORWARD -p tcp -d login.live.com -j ACCEPT
iptables -A FORWARD -p tcp -d login.passport.com -j ACCEPT
iptables -A FORWARD -p tcp -d gateway.messenger.hotmail.com -j ACCEPT
echo

# Bloquear portas...
# -----------------------------------------------------------------------------------------------------
echo "- Bloqueando Portas..."
iptables -A FORWARD -p tcp -i $iflocal --dport 1214:1215 -j DROP
iptables -A FORWARD -p tcp -i $iflocal --dport 2450:2459 -j DROP
iptables -A FORWARD -p tcp -i $iflocal --dport 4661:4672 -j DROP
iptables -A FORWARD -p tcp -i $iflocal --dport 6085:6086 -j DROP
iptables -A FORWARD -p tcp -i $iflocal --dport 6346:6349 -j DROP
iptables -A FORWARD -p tcp -i $iflocal --dport 6881:6889 -j DROP
iptables -A FORWARD -p tcp -i $iflocal --dport 7777:7779 -j DROP
iptables -A FORWARD -p tcp -i $iflocal --dport 4661:4662 -j DROP
iptables -A FORWARD -p tcp -i $iflocal --dport 5800:5999 -j DROP
iptables -A INPUT -p udp --dport 0:1023 -j DROP
iptables -A INPUT -p tcp --dport 1025:65535 -j DROP
iptables -A FORWARD -p udp --dport 1025:65535 -j DROP
iptables -A FORWARD -p tcp --dport 1025:65535 -j DROP
echo

# Redireciona requisições a porta 80 para squid
# -----------------------------------------------------------------------------------------------------
echo "- Ativando Proxy Transparente..."
iptables -t nat -A PREROUTING -i $iflocal -p tcp --dport $http -j REDIRECT --to-port $squid
echo

#------------------------------------------------------------------------------------------------------
echo "- Firewall Iniciado com Sucesso!!!"
echo






  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts