davirodrigues
(usa Debian)
Enviado em 26/02/2010 - 15:42h
aramismelo Vejo que vc esta meio perdido na configuração do squid e do seu firewall, bom quero tentar ajudar e que fazer o seu servidor rodandar perfeito, bom...vamos lá, vou lhe passar uns scritps que são básicos, de firewall e proxy, que com certeza irá funcionar na sua rede... vamos lá o primeiro vamos instalar o sysvconfig:
Executar esse comando como "root":
aptitude -y install sysvconfig
O sysvconfig é um aplicativo que controla os programas e scripts que irão inicializar dentro do init.d, é bem simples de utilizar, com o comando: # sysvconfig executará uma tela azul em modo texto, para habilitar basta ir na primeira opção enable/diseble irá aparecer tudo que estiver dentro do /etc/init.d/ então escolha o seu script e marque com a barra de espaço, irá ficar com um asterisco na frente do script escolhido, clique em aceitar, depois em finished, depois aceitar 2 veses, e pronto script adicionado na inicialização do seu debian.
Agora vamos criar um script de firewall:
Script de FIREWALL
---------------------------------------------------------------
#!/bin/bash
#
# Script para Firewall criado por Davi Rodrigues
#
clear
echo "##################******************##################"
echo "# Iniciando Firewall #"
echo "##################******************##################"
echo "# #"
###########################################
#CARREGANDO CONFIGURACOES
###########################################
echo "# Carregando Configuracoes... #"
##### Habilitando Roteamento de Pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward
##### Definicao de variavel com o caminho completo do iptables
IPT="/sbin/iptables"
##### Definicao das interfaces do firewall
IF_INTERNA="eth0"
IF_EXTERNA="eth1"
##### Checagem para ver se o iptables esta Ok.
if [ -x "$IPT" ] ; then
echo "# Iptables OK #";
else
echo "# Iptables nao encontrado. Abortando #";
exit 0
fi
###########################################
#LIMPANDO REGRAS ANTIGAS
###########################################
echo "# Limpando as regras atuais... #"
##### Zerando as Regras Existentes
$IPT -F
$IPT -t nat -F
echo "# [OK] #"
echo "# #"
###########################################
#CARREGANDO NAT
###########################################
echo "# Carregando NAT... #"
# Mascara para a saida da rede => Compartilhamento
$IPT -t nat -A POSTROUTING -o $IF_EXTERNA -j MASQUERADE
echo "# [OK] #"
echo "# #"
#
#Carregando DNAT para PROXY TRANSPARENTE
#
# Redirecionamento para a porta do SQUID => Transparente
$IPT -t nat -A PREROUTING -i $IF_INTERNA -p tcp --dport 80 -j REDIRECT --to-port 3128
#
#
echo "# [OK] #"
echo "# #"
---------------------------------------------------------------
Pronto, cria o seguinte arquivo /etc/init.d/firewall.sh e coloca o conteudo que foi passado nesse arquivo, aplica a seguinte permissão chmod +x /etc/init.d/firewall.sh, e coloca ele para iniciar usando o comando sysvconfig, como na dica anterior, e pronto um aplicativo de firewall funcionando perfeito.
Vamos para o squid segue abaixo o script: OBS: squid versão 2.7 stable.
squid.conf
--------------------------------------
http_port 3128 transparent
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache_mem 128 MB
maximum_object_size 100 MB
cache_dir ufs /cache/squid 4096 16 256
cache_access_log /var/log/squid/access.log
request_body_max_size 100 MB
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl all src 0.0.0.0/0.0.0.0
acl rede_interna src 192.168.0.0/255.255.255.0
acl manager proto cache_object
acl SSL_ports port 443 # https, snews
acl SSL_ports port 563 # https, snews
acl SSL_ports port 873 # rsync
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 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 Safe_ports port 3456
acl Safe_ports port 7777
acl Safe_ports port 7780
acl purge method PURGE
acl CONNECT method CONNECT
no_cache deny QUERY
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 allow localhost
http_access allow rede_interna
http_access deny all
http_reply_access allow all
icp_access allow all
visible_hostname Proxy/Cache - gateway
store_avg_object_size 100 MB
error_directory /usr/share/squid/errors/Portuguese
coredump_dir /var/spool/squid
-------
Pronto, acredito que com esse configuração funcionará, a sua internet nas máquinas clientes em modo transparente. bantando só acrecentar outras regras de firewall pois esta script de firewall esta sem nem uma proteção somente abrindo passagem para a internet. NOTA[eu aconcelho vc deixar as politicas do firewall DROP, e liberar somente o necessário]