deuz
(usa Debian)
Enviado em 13/01/2012 - 15:47h
Olá, bom, o problema é simples, apesar de nao saber como resolver, e extenso, veja meu squid.conf e script de firewall, ocorre que a rede consegue navegar na net, faz proxy das paginas certinho, bloqueia o q deve bloquear etc.. a unica coisa, nenhuma maquina da rede consegue enviar ou receber e-mail pelo outlook. nao sei se é no squid ou no firewall, se possivel os amigos em ajudarem nisso, fico muito grato.
Squid.conf:
[root@proxy ~]# cat /etc/squid/squid.conf
http_port 3128
visible_hostname proxy
# Configuraçs de cache, dono, logs, errors
cache_effective_user squid
cache_effective_group squid
cache_mem 700 MB
cache_dir diskd /etc/squid/cache/1 1999 128 512 Q1=64 Q2=72
cache_access_log /var/log/squid/access.log
cache_log /etc/squid/logs/cache.log
cache_store_log /etc/squid/logs/store.log
error_directory /usr/share/squid/errors/Portuguese
# Atualizaç do cache
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
auth_param basic children 5
auth_param basic realm Internet Security Pisa
auth_param basic credentialsttl 1 hours
auth_param basic casesensitive off
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
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 21 80 443 563 70 210 280 488 59 777 901 1025-65535
acl purge method PURGE
acl CONNECT method CONNECT
# ---- Cache do Windows Update ----
refresh_pattern windowsupdate.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern
www.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims
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 192.168.1.0/24
acl nodown url_regex -i "/etc/squid/nodown"
http_access deny nodown
#Libera msn para os IP's inseridos no arquivo msn
acl IPLIBERAR src 192.168.1.248 192.168.1.249 192.168.1.253 192.168.1.2
http_access allow IPLIBERAR
acl libera url_regex "/etc/squid/libera"
http_access allow libera all
acl proibidos url_regex -i "/etc/squid/proibidos"
http_access deny proibidos all
http_access allow localhost
http_access allow redelocal
http_access deny all
Firewall
[root@proxy ~]# cat /etc/init.d/firewall
#/bin/sh
firewall_start() {
ipt="/sbin/iptables"
http=80
https=443
### Passo 1: Limpando as regras ###
echo "==============================================="
echo "| :: LIMPANDO REGRAS ANTIGAS :: |"
echo "==============================================="
$ipt -F INPUT
$ipt -F OUTPUT
$ipt -F FORWARD
echo "Limpando todas as regras .................[ OK ]"
# Definindo a Politica Default das Cadeias
#$ipt -P INPUT DROP
#$ipt -P FORWARD DROP
#$ipt -P OUTPUT ACCEPT
echo "Setando as regras padrao .................[ OK ]"
# Passo 2: Desabilitar o trafego IP entre as placas de rede ###
#echo "1" > /proc/sys/net/ipv4/ip_forward
echo "Setando ip_foward ........................[ OK ]"
# Interfaces
IADSL=eth1
ILAN=eth0
ILocal=lo
# Redes Internas
LAN=192.168.1.0/255.255.255.0
#ADSL=10.1.1.5/255.0.0.0
### Passo 3: Carregando os modulos do iptables ###
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_mangle
modprobe iptable_nat
modprobe ipt_MASQUERADE
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
echo "Carregando modulos do iptables ...........[ OK ]"
### Passo 4: Agora, vamos definir o que pode passar e o que nao ###
# Cadeia de Entrada
# LOCALHOST - ACEITA TODOS OS PACOTES
$ipt -A INPUT -i lo -j ACCEPT
#$ipt -A INPUT -i $ILAN -p tcp multiport 1863 -j ACCEPT
# PORTA $http - ACEITA PARA A REDE LOCAL
$ipt -A INPUT -i $ILAN -p tcp --dport $http -j ACCEPT
# PORTA 22 - ACEITA PARA A REDE LOCAL
$ipt -A INPUT -i $ILAN -p tcp --dport 22 -j ACCEPT
$ipt -A INPUT -i $ILAN -p tcp --dport 25 -j ACCEPT
$ipt -A INPUT -i $ILAN -p tcp --dport 110 -j ACCEPT
$ipt -A INPUT -i $ILAN -p tcp --dport 1392 -j ACCEPT
# No $ipt, temos de dizer quais sockets sao validos em uma conexao
$ipt -A INPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
echo "Setando regras para INPUT ................[ OK ]"
# Manter conexoes ja estabelecidas para nao parar
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ipt -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Cadeia de Reenvio (FORWARD).
# Primeiro, ativar o mascaramento (nat).
$ipt -t nat -F POSTROUTING
$ipt -t nat -A POSTROUTING -o $IADSL -j MASQUERADE
echo "Ativando mascaramento de IP ..............[ OK ]"
## Redireciona para SQUID
#iptables -A INPUT -s 192.168.1.0/24 -p tcp -m multiport --dport 80,3128 -m state --state NEW -j ACCEPT
#iptables -A FORWARD -s 192.168.1.0/24 -p tcp -m multiport --dport 80,3128 -m state --state NEW -j ACCEPT
$ipt -t nat -A PREROUTING -i $ILAN -p tcp -m multiport --dport 80,443,1863 -j REDIRECT --to-port 3128
#$ipt -t nat -A PREROUTING -i $ILAN -p tcp --dport $https -j REDIRECT --to-port 3128
# Agora dizemos quem e o que podem acessar externamente
# No $ipt, o controle do acesso a rede externa e feito na cadeia "FORWARD"
# Abre para a interface de loopback.
$ipt -A INPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT
# Abre para uma faixa de enderecos da rede local
$ipt -A INPUT -p tcp --syn -s $LAN -j ACCEPT
# Ignora pings
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
# PORTA 3128 - ACEITA PARA A REDE LOCAL
$ipt -A FORWARD -i $ILAN -p tcp --dport 3128 -j ACCEPT
# PORTA 53 - ACEITA PARA A REDE LOCAL
$ipt -A FORWARD -i $ILAN -p udp --dport 53 -j ACCEPT
# PORTA 110 - ACEITA PARA A REDE LOCAL
$ipt -A FORWARD -i $ILAN -p tcp --dport 110 -j ACCEPT
# PORTA 25 - ACEITA PARA A REDE LOCAL
$ipt -A FORWARD -i $ILAN -p tcp --dport 25 -j ACCEPT
# PORTA 443 - ACEITA PARA A REDE LOCAL
$ipt -A FORWARD -i $ILAN -p tcp --dport $https -j ACCEPT
# PORTA 21 - ACEITA PARA A REDE LOCAL
$ipt -A FORWARD -i $ILAN -p tcp --dport 21 -j ACCEPT
# porta msn
$ipt -A FORWARD -i $ILAN -p tcp --dport 1863 -j ACCEPT
# No $ipt, temos de dizer quais sockets sao validos em uma conexao
$ipt -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
echo "Setando regras para FOWARD ...............[ OK ]"
# Apesar do padrao do forward ser bloqueio. Aqui a regra eh duplicada para gerar log,
# ou seja, tudo o que eh bloqueado por default no forward eh logado aqui
$ipt -A FORWARD -m limit --limit 2/m -j LOG --log-prefix "FORWARD: Bloqueio Padrao "
$ipt -A FORWARD -j DROP
# Finalmente: Habilitando o trafego IP, entre as Interfaces de rede
echo "1" > /proc/sys/net/ipv4/ip_forward
# Ignora qualquer pacote de entrada, vindo de qualquer endereco, a menos
# que especificado o contrario acima, Bloqueia tudo.
$ipt -A INPUT -p tcp --syn -j DROP
echo "Setando ip_foward: ON ....................[ OK ]"
echo "Firewall configurado com sucesso .........[ OK ]"
#iptables -A forward -p tcp -s 192.168.1.0/24 -d 0/0 --dport 110 -j MASQUERADE
}
firewall_restart() {
firewall_start
}
firewall_stop() {
echo "==========================================="
echo "| :: DESLIGANDO FIREWALL :: |"
echo "==========================================="
# Limpa as regras
$ipt -F INPUT
$ipt -F OUTPUT
$ipt -F FORWARD
echo "Limpando todas as regras .................[ OK ]"
}
case "$1" in
'start')
firewall_start
;;
'stop')
firewall_stop
;;
'restart')
firewall_restart
;;
*)
firewall_start
esac
qualquer dica, será valida.
grande abraço.