Carregamento de Imagens/Páginas Lentas

1. Carregamento de Imagens/Páginas Lentas

VICTOR FELIPE DOLCE CARDOSO
felipedc

(usa Debian)

Enviado em 04/07/2013 - 20:04h

Pessoal, boa noite!
Meu problema é o seguinte:
tenho 1 maq rodando um firewall (iptables), squid, dns(bind9), dhcp, está maquina utiliza a distribuição debian.

Os serviços estão todos OK, tudo funcionando.. porém minha navegação está muito lenta.. acessando o facebook demora mto pra carregar imagens, o chat do facebook toda hora fica como "offline".

Se eu retiro o firewall e coloco direto, a navegação fica 100%.
A Taxa de downloads com ou sem o firewall é a mesma, o problema é só na hora de carregar (ou a falha de conexao), oque pode ser? alguma regra de firewall entrando em conflito? Muitissimo obrigado desde já!

Abaixo segue meu script de firewall:

#!/bin/bash
echo ""
echo "#| Script de Firewall - IPTABLES"

# Variaveis
PATH=/sbin:/bin:/usr/sbin:/usr/bin
IPTABLES="/sbin/iptables"
LOG_FLOOD="1/s"

# Arquivos com as portas a liberar e a bloquear
#PORTSLIB="/etc/firewall/PORTSLIB"
PBLOQ="/etc/firewall/PORTSBLOQ"
PINPUT="/etc/firewall/PORTSINPUT"
POUTPUT="/etc/firewall/PORTSOUTPUT"
PFORWARD="/etc/firewall/PORTSFORWARD"

# Redirecionamento de Pacotes
REDILIST="/etc/firewall/REDILIST"

#IPS com acesso irrestrito
IPSLIBERADOS="/etc/firewall/IPSLIBERADOS"

#MACS LIBERADOS
MACSLIBERADOS="/etc/firewall/MACSLIBERADOS"

# Script Firewall
PROGRAMA="/etc/firewall/firewall"

# Interfaces de Rede
WAN=eth0
LAN1=eth1
LAN2=eth2

REDE1="192.168.1.0/25"
REDE2="192.168.2.0/23"

# Carregando Modulos
modprobe ip_tables
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_LOG
modprobe ipt_REJECT
modprobe ipt_MASQUERADE
modprobe ipt_state
modprobe ipt_multiport
modprobe iptable_mangle
modprobe ipt_tos
modprobe ipt_limit
modprobe ipt_mark
modprobe ipt_MARK

case "$1" in
start)
echo "CARREGANDO FIREWALL..." ; sleep 1 ;
#Zerando Regras
$IPTABLES -F
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
$IPTABLES -t mangle -F
$IPTABLES -t nat -F
$IPTABLES -X

#Compartilhar a conexao
$IPTABLES -t nat -A POSTROUTING -o $WAN -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward

#Politicas Padrao
INPUT=DROP
OUTPUT=ACCEPT
FORWARD=DROP
$IPTABLES -P INPUT $INPUT
$IPTABLES -P OUTPUT $OUTPUT
$IPTABLES -P FORWARD $FORWARD
echo "APLICANDO POLITICAS PADRAO..." ; sleep 1 ;
echo "[OK] INPUT: "$INPUT ;
echo "[OK] OUTPUT: "$OUTPUT ;
echo "[OK] FORWARD: "$FORWARD ;

$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -A INPUT -i $LAN1 -j ACCEPT #Habilito o acesso ao servidor de internet para a Rede Interna ($REDE1)
$IPTABLES -A INPUT -i $LAN2 -j ACCEPT #Habilito o acesso ao servidor de internet para a Rede Wireless ($REDE2)

#echo "BLOQUEANDO PORTAS DE COMUNICACAO..." ;
#sleep 2 ;
#CONTPORTA=0;
#for i in `cat $PBLOQ`; do
#PORTA=`echo $i | cut -d '#' -f 1`
#$IPTABLES -A INPUT -p tcp --dport $PORTA -j DROP
#$IPTABLES -A INPUT -p udp --dport $PORTA -j DROP
#$IPTABLES -A OUTPUT -p tcp --dport $PORTA -j DROP
#$IPTABLES -A OUTPUT -p udp --dport $PORTA -j DROP
#$IPTABLES -A FORWARD -p tcp --dport $PORTA -j DROP
#$IPTABLES -A FORWARD -p udp --dport $PORTA -j DROP

#let CONTPORTA++ ;
#done
#sleep 2 ;
#[ $CONTPORTA -ne 0 ] && echo "[OK] $CONTPORTA PORTAS BLOQUEADAS!"
#[ $CONTPORTA -eq 0 ] && echo "[OK] NENHUMA PORTA A BLOQUEAR!"

echo "LIBERANDO PORTAS DE COMUNICACAO..." ;
sleep 2 ;
CONTPORTA=0;
for i in `cat $PINPUT`; do
PORTA=`echo $i | cut -d '#' -f 1`
$IPTABLES -A INPUT -p tcp --dport $PORTA -j ACCEPT
$IPTABLES -A INPUT -p udp --dport $PORTA -j ACCEPT
let CONTPORTA++ ;
done
sleep 2 ;
[ $CONTPORTA -ne 0 ] && echo "[OK] $CONTPORTA PORTAS INPUT LIBERADAS!"
[ $CONTPORTA -eq 0 ] && echo "[OK] NENHUMA PORTA INPUT A LIBERAR!"

sleep 2 ;
CONTPORTA=0;
for i in `cat $POUTPUT`; do
PORTA=`echo $i | cut -d '#' -f 1`
$IPTABLES -A OUTPUT -p tcp --dport $PORTA -j ACCEPT
$IPTABLES -A OUTPUT -p udp --dport $PORTA -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --sport $PORTA -j ACCEPT
$IPTABLES -A OUTPUT -p udp --sport $PORTA -j ACCEPT
let CONTPORTA++ ;
done
sleep 2 ;
[ $CONTPORTA -ne 0 ] && echo "[OK] $CONTPORTA PORTAS OUTPUT LIBERADAS!"
[ $CONTPORTA -eq 0 ] && echo "[OK] NENHUMA PORTA OUTPUT A LIBERAR!"

sleep 2 ;
CONTPORTA=0;
for i in `cat $PFORWARD` ; do
PORTA=`echo $i | cut -d '#' -f 1`
$IPTABLES -A FORWARD -p tcp --dport $PORTA -j ACCEPT
$IPTABLES -A FORWARD -p udp --dport $PORTA -j ACCEPT
let CONTPORTA++ ;
done
sleep 2 ;
[ $CONTPORTA -ne 0 ] && echo "[OK] $CONTPORTA PORTAS FORWARD LIBERADAS!"
[ $CONTPORTA -eq 0 ] && echo "[OK] NENHUMA PORTA FORWARD A LIBERAR!"

echo "REDIRECIONANDO PORTAS (NAT)..." ;
CONTREDIRECT=0;
for i in `cat $REDILIST`; do
IP=`echo $i | cut -d '#' -f 1`
PPRIVADA=`echo $i | cut -d '#' -f 2`
PPUBLICA=`echo $i | cut -d '#' -f 3`
$IPTABLES -t nat -I PREROUTING -i $WAN -p tcp --dport $PPUBLICA -j DNAT --to-destination $IP:$PPRIVADA
let CONTREDIRECT++ ;
done
sleep 2 ;
[ $CONTREDIRECT -ne 0 ] && echo "[OK] $CONTREDIRECT PORTAS REDIRECIONADAS!"
[ $CONTREDIRECT -eq 0 ] && echo "[OK] NENHUMA PORTA A REDIRECIONAR!"

#Proxy Transparente
#$IPTABLES -t nat -A PREROUTING -s $REDE1 -p tcp --dport 80 -j REDIRECT --to-port 3128
#$IPTABLES -t nat -A PREROUTING -s $REDE2 -p tcp --dport 80 -j REDIRECT --to-port 3128

echo "LIBERANDO IPS SEM INTERMEDIO DO PROXY..." ;
CONTIP=0;
for i in `cat $IPSLIBERADOS `; do
IPLIBERADO=`echo $i | cut -d ';' -f 1`
$IPTABLES -A FORWARD -s $IPLIBERADO -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -s $IPLIBERADO -j RETURN
let CONTIP++ ;
done
sleep 2 ;
[ $CONTIP -ne 0 ] && echo "[OK] $CONTIP IPS LIBERADOS!"
[ $CONTIP -eq 0 ] && echo "[OK] NENHUM IP A LIBERAR!"

echo "LIBERANDO MAC SEM INTERMEDIO DO PROXY..." ;
CONTMAC=0;
for i in `cat $MACSLIBERADOS `; do
MACLIBERADO=`echo $i | cut -d ';' -f 1`
$IPTABLES -t filter -A FORWARD -d 0/0 -m mac --mac-source $MACLIBERADO -j ACCEPT
#$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -s $MACLIBERADO -j RETURN
let CONTMAC++ ;
done
sleep 2 ;
[ $CONTMAC -ne 0 ] && echo "[OK] $CONTMAC MACS LIBERADOS!"
[ $CONTMAC -eq 0 ] && echo "[OK] NENHUM MAC A LIBERAR!"

#Proxy Transparente
$IPTABLES -t nat -A PREROUTING -s $REDE1 -p tcp --dport 80 -j REDIRECT --to-port 3128
$IPTABLES -t nat -A PREROUTING -s $REDE2 -p tcp --dport 80 -j REDIRECT --to-port 3128

#Não responde pings
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j DROP

#Proteção contra Ip Spoofing
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
$IPTABLES -A INPUT -m state --state INVALID -j DROP

#Impedindo ataque Ping of Death na rede
$IPTABLES -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

#Impedindo ataque de Denial Of Service Dos na rede e servidor
$IPTABLES -I FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
$IPTABLES -A INPUT -p tcp -m limit --limit 1/s -j ACCEPT

#Protecao contra synflood
echo "1" > /proc/sys/net/ipv4/tcp_syncookies

$IPTABLES -A INPUT -p icmp -m limit --limit $LOG_FLOOD -j LOG --log-level info --log-prefix "ICMP Dropped "
$IPTABLES -A INPUT -p tcp -m limit --limit $LOG_FLOOD -j LOG --log-level info --log-prefix "TCP Dropped "
$IPTABLES -A INPUT -p udp -m limit --limit $LOG_FLOOD -j LOG --log-level info --log-prefix "UDP Dropped "
$IPTABLES -A INPUT -f -m limit --limit $LOG_FLOOD -j LOG --log-level warning --log-prefix "FRAGMENT Dropped "
$IPTABLES -A INPUT -m limit --limit 1/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT INPUT packet died: "
$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT INPUT packet died: "

echo "FIREWALL CARREGADO! :)~"
echo " "
;;





  


2. Re: Carregamento de Imagens/Páginas Lentas

Pedro
px

(usa Debian)

Enviado em 04/07/2013 - 20:29h

Amigo aqui também tenho problema com este maldito face :D, fica carregando um tal de fb-static... um tempão, mas ultimamente parou não sei porque mais esta normal agora, acho que quando eu usava o iptables todo em DROP ele boqueava algum subserver do facebook ou algo assim


3. Re: Carregamento de Imagens/Páginas Lentas

VICTOR FELIPE DOLCE CARDOSO
felipedc

(usa Debian)

Enviado em 04/07/2013 - 20:51h

Então px, eu até já fiz o teste deixando tudo como ACCEPT..
mas de nada adiantou! :/
Pensei até em um possivel problema nas interfaces de rede, até troquei 1 delas mas de nada adiantou, então conclui que não podia ser.


4. Re: Carregamento de Imagens/Páginas Lentas

VICTOR FELIPE DOLCE CARDOSO
felipedc

(usa Debian)

Enviado em 08/07/2013 - 10:34h

Pessoal ainda continuo com o problema, não sei mais o que fazer..
Alguém tem alguma sugestão? em relação as minhas regras de firewall, pode ter alguma regra conflitando com minha necessidade e causando o problema?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts