Ir ao conteúdo
  • Cadastre-se

Squid - Internet lenta para demais usuários


falmeidaduarte

Posts recomendados

Olá pessoal !

Mais uma vez, contatando com a galera do forum para me ajudar.

Bom ... coloquei um servidor para proxy + firewall de uma pequena rede. O problema começa quando um usuário faz qualquer tipo download ou até mesmo vendo vídeos (por exemplo YouTube) em seguida o restante dos usuários não conseguem nem navegar (Página não pode ser exibida) terminando o download ou vídeo a navegação dos demais usuários volta ao normal. Detalhe, antes do servidor linux o modem era roteado para toda a rede com o próprio modem servindo DHCP e funcionava normalmente.A estrutura é a seguinte: O servidor tem 2 placas de rede (1 no modem e a outra no switch) está com Ubuntu 8.04.3 + Squid + Iptables e um servidor windows server 2003 que server DHCP, a rede está em cima de grupo de trabalho, tanto com Squid transparente ou autenticado o problema acontece. O problema se repete e outras 3 pequenas que rede que montei.

Espero contar com a ajuda de todos,

Abraço,

Fábio

Link para o comentário
Compartilhar em outros sites

Pessoal vai ai pelo interesse !

Segue os confs

valeu ai pelo interesse, segue abaixo os confs

------------

squid.conf

http_port 3128

visible_hostname HOSTNAME

# Config Cache

cache_mem 64 MB

maximum_object_size_in_memory 128 KB

maximum_object_size 512 MB

minimum_object_size 2 KB

cache_swap_low 90

cache_swap_high 95

cache_dir ufs /csquid 7168 16 256

cache_access_log /var/log/squid/access.log

refresh_pattern ^ftp: 15 20% 2280

refresh_pattern ^gopher: 15 0% 2280

refresh_pattern . 15 20% 2280

error_directory /usr/share/squid/errors/Portuguese

# ACLs padrão

acl all src XXX.XXX.XXX.XXX/XX #REDELOCAL

acl redelocal src XXX.XXX.XXX.XXX/XX #REDELOCAL

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 407 # MSN

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

#redirect_program /usr/bin/squidGuard

#redirector_bypass on

http_access deny !redelocal

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd

auth_param basic children 5

auth_param basic realm Servidor de Internet

auth_param basic credentialsttl 1 hours

acl autenticados proxy_auth REQUIRED

http_access allow autenticados

http_access allow localhost

http_access deny all

-----------------

script firewall

#!/bin/bash

firewall_start() {

#Limpando regras do firewalll

iptables -F

iptables -X

iptables -t nat -F

iptables -t nat -X

# Abre para uma faixa de enderecos da rede local

iptables -A INPUT -p tcp --syn -s XXX.XXX.XXX.XXX/XX -j ACCEPT #REDELOCAL

iptables -A OUTPUT -p tcp --syn -s XXX.XXX.XXX.XXX/XX -j ACCEPT #REDELOCAL

# Abre a porta do Squid para a rede local (eth0=INTERFACEINTERNA)

iptables -A INPUT -i eth0 -p tcp --dport 3128 -j ACCEPT

# Limitando acesso a porta do SSH

iptables -A INPUT -p tcp -s XXX.XXX.XXX.XXX/XX --dport 22 -j ACCEPT #REDELOCAL

iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT

iptables -A INPUT -p tcp --dport 22 -j DROP

# Ignorando pings

# echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

#Protege contra synflood

echo "1" > /proc/sys/net/ipv4/tcp_syncookies

# Desabilita o suporte a source routed packets

# Este recurso funciona como um NAT ao contrario, que em certas circunstancias pode permitir que alguem da internet envie pacotes para PCs dentro da rede local

echo "0" > /proc/sys/net/ipv4/conf/eth0/accept_source_route

echo "0" > /proc/sys/net/ipv4/conf/eth1/accept_source_route

# Protege contra ICMP Broadcasting

echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Protecoes diversas contra ping of death

iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

# Protecao contra Syn-floods

iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

# Permiti encaminhar conexoes com status "Estabilizado e Relacionado"

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Protecao contra port scanners ocultos

iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

# Protege contra pacotes que podem procurar e obter informações da rede interna

iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP

# Protecao contra ataques

iptables -A INPUT -m state --state INVALID -j DROP

iptables -N VALID_CHECK

iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP

iptables -A VALID_CHECK -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP

iptables -A VALID_CHECK -p tcp --tcp-flags ALL ALL -j DROP

iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN -j DROP

iptables -A VALID_CHECK -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

iptables -A VALID_CHECK -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

iptables -A VALID_CHECK -p tcp --tcp-flags ALL NONE -j DROP

# Abre para a interface de loopback.

#iptables -A INPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT

iptables -A OUTPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT

iptables -A INPUT -i lo -j ACCEPT

# Gerando log de Backdoors

iptables -A INPUT -p tcp --dport 5042 -j LOG --log-prefix "Wincrash"

iptables -A INPUT -p tcp --dport 12345 -j LOG --log-prefix "backOrifice"

iptables -A INPUT -p tcp --dport 12346 -j LOG --log-prefix "backOrifice"

# Bloqueia qualquer conexao que nao tenha sido permitida acima, justamente por isso é a ultima.

iptables -A INPUT -p tcp --syn -j DROP

#iptables -A OUTPUT -p tcp --syn -j DROP

#iptables -A FORWARD -p tcp --syn -j DROP

# Habilita o mascaramento dos pacotes que saem da rede local para internet

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

# Libera IPs Caixa Economica Federal

iptables -t nat -A PREROUTING -p tcp -d 200.201.0.0/16 -j ACCEPT

iptables -A FORWARD -p tcp -d 200.201.0.0/16 -j ACCEPT

# Redireciona todos pacotes vindos da rede local para o Squid

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

}

firewall_stop() {

iptables -F

iptables -X

iptables -P INPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -P OUTPUT ACCEPT

}

case "$1" in

start)

firewall_start

echo "Iniciando Firewall ..."

sleep 2

echo "Firewall iniciado !"

;;

stop)

firewall_stop

echo "Desativando Firewall ..."

sleep 2

echo "Firewall desativado !"

;;

restart)

echo "Reiniciando Firewall ..."

firewall_start

sleep 3

echo "Firewall reiniciado !"

;;

*)

esac

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!