terça-feira, 2 de junho de 2009

Squid com Super Downloads !!!

A jogada

Basta editarmos o nosso arquivo de configuração do velho squid em /etc/squid/squid.conf.

E depois localizarmos ou inserirmos estas linhas abaixo:

Assim o squid irá salvar objetos em seu cache de ate 20 megas, e junto com a opção refresh_pattern, realizará a tarefa de nunca expirar os downloads de qualquer objeto que termine com a expressão regular exe$, ou seja, qualquer arquivo executavel.

Portanto, qualquer download de programas menores de 20 megas irão para o cache na hora, tipo, putty.exe, winrar.exe e etc...

E você verá que ao realizar um download destes arquivos, a velocidade será surpreendente !! ....Veja...teste :)


# 20 MB de executavel
maximum_object_size 20480 KB

refresh_pattern -i exe$ 999999 100% 999999 override-expire override-lastmod ignore-reload ignore-no-cache ignore-private ignore-auth


Testando

Basta reiniciar o squid e realizar os downloads para teste.

# squid -k reconfigure


Boa diversão... :)

Script iptables Repasse de Portas fácil

O script

Segue script que realizar o repasse de portas, basta incorporar esta pequena rotina em qualquer firewall iptables e apenas editar o arquivo /etc/ports.conf conforme desejado, ou executa-lo sozinho.

#!/bin/bash
#
# Autor: Claudemir P. da Luz Jr.
#
# Licença: GPL Versão 3


# Interface de Rede Em que esta o seu Link, LP, Frame Relay, Velox VPN e etc.
EXTERNAL_INTERFACE=eth0
# Endereço IP de sua Interface ethX
# ex.: 200.200.200.1
EXTERNAL_IP=192.168.245.1


# Interface de Rede em que esta a Rede Interna , Privada !!
# ex.: 192.168.0.1
INTERNAL_INTERFACE=eth1


# Criando arquivo de sample ;)

if [ ! -f /etc/ports.conf ]; then

touch /etc/ports.conf

# criando exemplos para testes
echo "TCP 5900 192.168.0.37 5900" >> /etc/ports.conf
echo "TCP 25 192.168.0.37 25" >> /etc/ports.conf
echo "TCP 22 192.168.0.37 22" >> /etc/ports.conf
fi


if [ -f /etc/ports.conf ]; then
echo "Habilitando Port-Forwarding"

while read IP_PORT; do
# extrai os Protocolos, IPs e Portas
NAT_TYPE=$(echo "$IP_PORT" | awk '{print $1}')
NAT_EXT_PORT=$(echo "$IP_PORT" | awk '{print $2}')
NAT_INT_IP=$(echo "$IP_PORT" | awk '{print $3}')
NAT_INT_PORT=$(echo "$IP_PORT" | awk '{print $4}')

# escreve as regras !

# regra prerouting dnat
iptables -A PREROUTING -t nat -p $NAT_TYPE -d $EXTERNAL_IP --dport $NAT_EXT_PORT -j DNAT \
--to-destination $NAT_INT_IP:$NAT_INT_PORT

# permite trafego de pacotes da interface externa -> interna
iptables -A FORWARD -i $EXTERNAL_INTERFACE -o $INTERNAL_INTERFACE -p $NAT_TYPE \
-d $NAT_INT_IP --dport $NAT_INT_PORT -m state \
--state NEW,ESTABLISHED,RELATED -j ACCEPT


# permite trafego de pacotes da interface interna -> externa
iptables -A FORWARD -i $INTERNAL_INTERFACE -o $EXTERNAL_INTERFACE -p $NAT_TYPE \
-s $NAT_INT_IP --sport $NAT_INT_PORT -m state \
--state NEW,ESTABLISHED,RELATED -j ACCEPT

# regra postrounting snat
iptables -t nat -A POSTROUTING -p $NAT_TYPE -d $EXTERNAL_IP -s $NAT_INT_IP \
--sport $NAT_INT_PORT -j SNAT --to $EXTERNAL_IP:$NAT_EXT_PORT


echo "dnat: $NAT_TYPE:$EXTERNAL_IP:$NAT_EXT_PORT - $NAT_INT_IP:$NAT_INT_PORT"

done < /etc/ports.conf # libera estas variaveis unset IP_PORT unset NAT_TYPE unset NAT_EXT_PORT unset NAT_INT_IP unset NAT_INT_PORT else echo "Port-forwarding desabilitado ! " fi


Executando



Basta salvar como repasse-portas.sh, e setar permissão de execução:

# chmod 755 repasse-portas.sh

e

#./repasse-portas.sh

Blz..