[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Fwd: problemas como squid....urgente



Márcio Pedroso escreveu:
(...)

estou usando o debian etch e o squid 2.6.STABLE5, o hardware é um AMD Sempron(tm) Processor 2500+ com 512 de memoria. tem como placa de rede secundaria (eth1) uma D-Link System Inc DGE-530T Gigabit. o que acontece é o seguinte. montei o roteador compilei o kernel pra instalar o layer7, como eu ja tinha feito anteriormente em outras maquinas, seguindo um tutorial. essa maquina ja tinha dado pau em uma memoria que tinha nela anteriormente. mas recentemente passei um memtest e nao acusou erro nessa outra memoria que esta instalada autalmente. o problema agora é que, quando coloco pra rotear la na minha regra de firewall, ele nao roteia a internet. eu nao sei onde estou errando ou se pode ser um pau de hardware.. bom vou postar o meu firewal e o meu squid.conf. e meu messages em anexo.. desculpem o meu pedido de urgencia..

Não entendi o que não está funcionando, o squid não faz roteamento de pacotes e também não utiliza roteamento.

Colando o conteúdo do arquivo email.bin que veio em anexo, agora vai ficar difícil de saber o que é resposta minha ..., vou colocar *** no início.

(...)

*** OK, vamos supor que o script abaixo tenha permissões para ser executado.

/etc/init.d/compartilhamento
#!/bin/bash
echo '1' > /proc/sys/net/ipv4/ip_forward
iptables="/usr/local/sbin/iptables"

*** Ops, tem certeza que o iptables fica lá? Não fica em /sbin/iptables?

chefe="10.1.1.11 "
#limpando as regras de iptables
iptables -F
iptables -t nat -F
iptables -t mangle -F

#firewall

# Contra Syn-flood
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT

*** O kernel tem um opção para isso se você preferir:
*** echo "Habilitando protecao TCP SYN com Cookies (para SYN floods)"
*** echo 1 > /proc/sys/net/ipv4/tcp_syncookies
*** Também não entendi porque você colocou isso na cadeia forward.

# Contra Ping da Morte
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

*** Ping da Morte era um ataque antigo que utilizava pacotes bem grandes com o ping, o Linux não sofre desse problema :), Isso acima é proteção contra ping flood.
*** Também não entendi porque você colocou isso na cadeia forward.


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

#liberar para um ip
#Liberar Ip do chefe:
#$iptables -A FORWARD -s $chefe -m layer 7 --l7proto msnmessenger -j ACCEPT
#iptables -A FORWARD -d ip-do-chefe -m layer 7 --l7proto bittorrent -j ACCEPT


#bloquear msn messenger
$iptables -A FORWARD -m layer7 --l7proto msnmessenger -j DROP
iptables -I FORWARD -s 10.1.1.0/24 -p tcp --dport 1863 -j REJECT
iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 5190 -j REJECT
$iptables -A FORWARD -m layer7 --l7proto edonkey -j DROP
$iptables -A FORWARD -m layer7 --l7proto bittorrent -j DROP
iptables -A FORWARD -p TCP --dport 1214 -j REJECT
iptables -A FORWARD -p TCP --dport 6346 -j REJECT
$iptables -I INPUT -m layer7 --l7proto fasttrack -j DROP
iptables -I FORWARD -s 192.168.1.0/24 -p tcp --dport 4661:4672 -j REJECT

*** Regras com iptables e $iptables provavelmente serão diferentes, metade vai chamar o iptables e metade chamar um comando que não existe, definido anteriormente com um caminho errado?


#squid
#redirecionamento de fluxo para a porta 3128
#iptables -t nat -A POSTROUTING -j MASQUERADE

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

*** Isso faria um proxy transparente. Porém a linha está comentada.

#mascarando conexoes de rede
iptables -t nat -A POSTROUTING -j MASQUERADE

*** Mesmo sem definir a interface de entrada/saída testando aqui isso funciona. Só com isso provavelmente você tem o NAT feito.


*** Outras considerações: O firewall não define uma política padrão, que provavelmente então será ACCEPT, portanto qualquer outra regra com ACCEPT será inútil, regras com DROP ou REJECT até fariam sentido.



/etc/squid/squid.conf

#Porta do Proxy
http_port 192.168.1.1:3128 transparent
#always_direct allow all
visible_hostname Controle_Unimar

access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_log /var/log/squid/store.log
cache_swap_log /var/log/squid/swap.log

hierarchy_stoplist cgi-bin ?

#Memória RAM usada pelo squid
#cache_mem 128 MB
#cache_dir   ufs /var/cache/squid 300 16 256

#Gerenciamento do cache rotate
cache_swap_low 90
cache_swap_high 95
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

#dns_nameserver 201.10.1.2 201.10.120.3
#Mensagens de erro do Squid em Português
error_directory /usr/share/squid/errors/Portuguese

#Arquivo máximo gravado no Cache
maximum_object_size 512 KB

#Diretório do cache
cache_dir ufs /var/spool/squid 4096 16 256

#Diretório de logs
cache_access_log /var/log/squid/access.log

#Comportamento do log
cache_log /var/log/squid/cache.log

#IP's da rede local bloqueados
#acl ip_negado src "/etc/squid/ip_negado
#http_access deny ip_negado

#Bloqueio de downloads por extensão
#acl download url_regex -i .com$ .pif$ .exe$ .avi$ .mp3$ .mpeg$ .mpg$ .rm$ .wma$ .wmv$ .asx$ .cab$ .src$

#Descrição das ACLs
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 rede_local src 10.1.1.0/255.255.255.0
http_access allow rede_local
#acl SSL_ports port port 443 563
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 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

#proibir url orkut
acl proibir_orkut url_regex orkut
http_access deny proibir_orkut

#proibir por dominio
acl proibidos dstdomain -i "/etc/squid/proibidos"
http_access deny proibidos

acl bloquear_msn dstdomain "/etc/squid/msn"
http_access deny bloquear_msn

acl bloquear_googletalk url_regex -i "/etc/squid/talk"
http_access deny bloquear_googletalk

*** Não vejo nada de muito estranho no seu squid.conf.

agora, um detalhe interessante, olhem como fica o meu log do messenges quando aciono o as regras do layer7
tail /var/log/messages
(...)

*** Nunca utilizei o layer7.

estou com uma certa urgencia... é meio chato falar isso, mas é a verdade. pois nao estou conseguindo resolver esse problema.

(...)


***********

Eu não diria que suas configurações são uma maravilha, mas a opções que fazem o NAT e o próprio proxy estão configurados sem nada estar bloqueando.

Ainda não entendi o que não funciona.
O roteamento não funciona? Um ping com o endereço de origem da placa da rede interna não atinge nenhum endereço na internet? ping www.google.com.br -I ethX (rede interna)
O Squid não funciona? Você pode testá-lo no shell com o lynx.
http_proxy="http://192.168.1.1:3128"; lynx -accept_all_cookies http://www.google.com.br
O comando acima não funciona no shell do "roteador"?
Nenhum dos dois funciona?
O próprio servidor acessa a internet? Pinga um endereço externo pela interface de rede externa? (já que ele não precisa nem de roteamento nem do squid). ping www.google.com.br -I ethX2 (rede externa)

Atenciosamente.


Edmundo Valle Neto



Reply to: