Proxy transparente

1. Proxy transparente

EMERSON SANTOS GUIMARAES
emerson2703

(usa CentOS)

Enviado em 05/01/2009 - 10:48h

Por favor alguem me ajudar com a configuração do proxy transparente com o squid 2.6


Pessoal, ja pesquisei em varios forum mas não consigo nenhuma resposta que funcione, ja tentei de varias maneiras configurar o proxy transparente mas nenhuma funciona, a internet so funciona se configurar o proxy em cada estação, por favor alguem me ajude na resolução deste caso.

squid 2.6 é o que eu utilizo e ja sei que nesta versão precisa adcionar transparent no htttp-port e adcionar esta regra iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 no iptables mas mesmo assim não funciona por que?



http_port 3128 transparent
visible_hostname Firewall-Lauro

cache_mem 8 MB

maximum_object_size_in_memory 1 MB
maximum_object_size 1 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95


acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1
acl ip_liberado src "/etc/squid/ip_liberado.txt"
acl ip_restrito src "/etc/squid/ip_restrito.txt"
acl sites_liberados url_regex -i "/etc/squid/sites_liberados.txt"


http_access allow ip_liberado
http_access deny ip_restrito !sites_liberados
http_access deny all



**********Iptables*******************



iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 3128 -j ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 10000 -j ACCEPT
iptables -A FORWARD -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128




  


2. Re: Proxy transparente

Raul Júnior
rjdiniz

(usa Linux Mint)

Enviado em 06/01/2009 - 22:10h

# /etc/squid.conf
# Este é o principal arquivo de configuração do Squid.
# Inclui apenas as opções mais usadas,
# comentadas de forma a facilitar a configuração.
# Comentários por Raul Júnior

# Porta:
# Esta é a porta tcp onde o squid ficará ativo. O padrão é a porta 3128

http_port 3128 transparent

hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

# Diretorio dos erros do Squid
error_directory /usr/share/squid/errors/Portuguese

# >> Configuração do cache de páginas e arquivos <<
# O squid armazena as páginas e arquivos já acessados, para agilizar o
# acesso.
# Ao ativar o proxy transparente no ícone mágico, o cache passar a
# armazenar também todos os downloads feitos pelos clientes, via
# http, ftp e também através do apt-get, que também usa http.

# >> Quantidade de memória RAM dedicada ao cache <<
# Se estiver usando um servidor com muita RAM, você pode aumentar isso
# para até mais ou menos um terço da memória RAM total.

cache_mem 256 MB


# O tamanho máximo dos arquivos que serão guardados no cache feito
# na memória RAM. O resto vai para o cache feito no HD.
# O cache na memória é muito mais rápido, mas como a quantidade de
# RAM é muito limitada, melhor deixa-la disponível para páginas web,
# figuras e arquivos pequenos em geral.

maximum_object_size_in_memory 4096 KB


# >> Tamanho máximo e mínimo para arquivos serem armazenados no cache <<
# por default, o máximo são downloads de 16 MB e o mínimo é zero, o que
# faz com que mesmo imagens e arquivos pequenos sejam armazenados
# no cache. Sempre é mais rápido ler a partir do cache do que baixar de
# novo da web.
# Se você faz download de arquivos grandes e deseja que eles fiquem
# armazenados no cache, aumente o valor da opção maximum_object_size
# Isto é especialmente útil para quem precisa baixar muitos arquivos
# através do apt-get ou Windows update em muitos micros da rede.

maximum_object_size 512 MB
minimum_object_size 0 KB


# Percentagem de uso do cache que fará o squid começar a descartar os
# arquivos mais antigos. Por padrão isso começa a acontecer quando o
# cache está 90% cheio.

cache_swap_low 90
cache_swap_high 95


# >> Cache em disco <<
# Esta opção é composta por quatro valores. O primeiro, (/var/spool/squid)
# Indica a pasta onde o squid armazena os arquivos do cache. Você pode
# querer alterar para uma pasta em uma partição separada por exemplo.
# O "512" indica a quantidade de espaço no HD (em MB) que será usada para
# o cache. Aumente o valor se você tem muito espaço no HD do servidor e
# quer que o squid guarde os downloads por muito tempo.
# Finalmente, os números 16 256 indicam a quantidade de subpastas que
# serão criadas dentro do diretório. Por padrão temos 16 pastas com 256
# subpastas cada uma.

cache_dir ufs /var/spool/squid 5124 16 256
#512 16 256


# Arquivo onde são guardados os logs de acesso do Squid.

cache_access_log /var/log/squid/access.log
visible_hostname ServNet

# O e-mail que o Squid envia como senha ao acessar um servidor
# FTP anonimo:

ftp_user atendimento@arrobatec.com.br


# >> Padrão de atualização do cache <<
# Estas três linhas precisam sempre ser usadas em conjunto. Ou seja,
# você podde alterá-las, mas sempre as três precisam estar presentes
# no arquivo. Eliminando um, o squid ignora as outras duas e usa o
# default.
# Os números indicam o tempo (em minutos) quando o squid irá verificar
# se um ítem do cache (uma página por exemplo) foi atualizado, para
# cada um dos três protocolos.
# O primeiro número (o 15) indica que o squid verificará se todas as
# páginas e arquivos com mais de 15 minutos foram atualizados. Ele
# só verifica checando o tamanho do arquivo, o que é rápido. Se o
# arquivo não mudou, então ele continua mandando o que não está
# no cache para o cliente.
# O terceiro número (o 2280, equivalente a dois dias) indica o tempo
# máximo, depois disso o objeto é sempre verificado.

refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280


# >> Controle de acesso <<
# Aqui vai vão as regras de quem acessa ou não o proxy. Por default
# o proxy vem configurado de uma forma liberal, para facilitar o uso.
# É recomendável que você ative o firewall (iptables) e o configure
# para permitir apenas acessos a partir da rede local.

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 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 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT

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

# Controle de Banda (Limitando uma velocidade maxima)
delay_pools 1
delay_class 1 2
delay_parameters 1 524288/524288 38400/38400

# Acesso Livre para IP determinado
acl full_access src 192.168.1.200
http_access allow full_access

# Conectividade Social

acl conectividade src "/etc/squid/conectividade"
acl conectividade1 dstdomain "/etc/squid/conectividade1"

http_access allow conectividade
http_access allow conectividade1

# A acl abaixo é para liberar os IP's na rede que tem acesso total
# Ao usar a lista, coloque os sites desejados dentro do arquivo, um por linha

acl acessototal src "/etc/squid/acessototal"
http_access allow acessototal

# A acl abaixo é para liberar os sites que serão permitidos
# Ao usar a lista, coloque os sites desejados dentro do arquivo, um por linha

acl liberados url_regex -i "/etc/squid/liberados"
http_access allow liberados

# A acl "proibidos" é usada para fazer bloqueio de sites (baseado no domínio)
# Ao usar a lista, coloque os sites desejados dentro do arquivo, um por linha

acl bloqueados url_regex -i "/etc/squid/bloqueados"
http_access deny bloqueados

# A acl "proibidos" é usada para fazer bloqueio baseado em palavras
# Ao usar a lista, coloque as palavras desejadas dentro do arquivo, um por linha

acl proibidos dstdom_regex "/etc/squid/proibidos"
http_access deny proibidos

# Bloqueando o MSN

acl msn url_regex -i "/etc/squid/barra_msn"
http_access deny msn

# A acl abaixo e para barrar os IP's na rede que nao tem acesso
# Ao usar a lista, coloque os ip's, um por linha

acl sem_acesso src "/etc/squid/sem_acesso"
http_access deny sem_acesso

# No Caso de ser por MAC
# acl mac arp "/etc/squid/mac"
# http_access deny mac


# >> Bloqueio com base no horário <<
# Esta regra faz com que o proxy recuse conexões feitas dentro de determinados
# horários. Você pode combinar várias das regras abaixo para bloquear todos
# os horários em que você não quer que o proxy seja usado:

acl madrugada time 00:00-06:00
http_access deny madrugada

#acl manha time 06:00-12:00
#http_access deny manha

#acl almoco time 12:00-14:00
#http_access deny almoco

#acl tarde time 14:00-19:00
#http_access deny tarde

acl noite time 20:00-24:00
http_access deny noite

# >> Controle de acesso <<
# Aqui você pode ativar a configuração do Squid que o deixará explicitamente
# disponível apenas para a faixa de endereços da sua rede local, recusando
# acessos provenientes de outras redes, mesmo que o firewall esteja desabilitado.
# Configure a linha abaixo com a faixa de endereços IP e a máscara de
# sub-rede (o 24 equivale à mascara 255.255.255.0) da sua rede local e deixe
# também a linha http_access deny all (mais abaixo) descomentada.

# acl redelocal src 192.168.0.0/24
# http_access allow redelocal

# A acl abaixo é para teste de bloquear a rede geral todos os sites

acl todarede src "/etc/squid/todarede"
http_access deny todarede

# Ao ativar qualquer uma das regras de controle de acesso, você deve
# descomentar tampém a linha abaixo, que vai recusar as conexões que
# não sejam aceitas nas regras acima. Ao alterar a configuração, comente ou apague
# a linha "http_access allow all", que permite que todo mundo utilize o proxy.

http_access deny all
#http_access allow all

#Fim do Arquivo de configuraçao do Squid

Presumindo que você já tenha conhecimento, e lembrando que para cada "acl" existe um arquivo acredito que tenha observado! Maiores Dúvidas entre em contato...
Raul Júnior


3. Re: Proxy transparente

Richard Andrade
richardandrade

(usa Debian)

Enviado em 07/01/2009 - 08:44h

faz o seguinte mata o squid depois da start nele denovo

ps ax | grep squid

kill -9 PID_DO_SQUID

invoke-rc.d squid start

ou

/etc/init.d/squid start

valeu e espero ter ajudado. qualquer coisa estamos ae denovo






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts