A utilização de um servidor proxy comum é controlada pelas configurações locais na máquina do usuário. Para forçarmos a utilização do servidor proxy, a melhor alternativa é o uso de proxy transparente. Este artigo nos mostra como fazer isso.
Quando configuramos um servidor proxy comum, um usuário mais esperto
pode remover as configurações de proxy do seu browser e passar a
navegar normalmente pela Internet sem a mediação do Squid. Com isso
ele estaria burlando as restrições de acesso e todas as demais
regras gerenciadas pelo proxy. Além disso, sem proxy transparente
você precisa ir de máquina em máquina da rede interna para
configurar as preferências de servidor proxy. Imagina se você tem
uma rede com mais de 100 desktops?
Para solucionar esses tipos de problema surgiu o recurso de proxy
transparente. Enumerando as vantagens do proxy transparente, podemos
citar as seguintes:
ocultar a utilização do proxy aos usuários que acessam internet;
forçar os usuários a utilizarem o proxy, mesmo que eles não queiram;
implementar a política real de acesso a sites proibidos, evitando
os usuários mais "espertos" de desabilitar a utilização do proxy na
navegação.
Com o proxy transparente todas as requisições feitas à porta 80 são
automaticamente redirecionadas para a porta do Squid e assim fica
virtualmente impossível "bypassar" o Squid com as regras de ACLS.
Nota: autenticação não funciona com Proxy Transparente.
Agora é necessário implementar um linha de IPTABLES para que possamos
redirecionar o tráfego da porta 80 para a porta do SQUID. Podemos
colocá-la no próprio /etc/rc.local. A Sintaxe é a seguinte:
Onde 3128 é a porta da qual o Squid está sendo executado. Feito isso, vamos
aos detalhes finais no SQUID. Abra o arquivo squid.conf e descomente
as seguintes linhas:
[2] Comentário enviado por hyperblade em 19/09/2003 - 15:47h
Salve Fabio ;-)
Velho troquei uma ideia com o 1c3_m4n que e fundador do site linuxit com ele acho que ouve varios problemas. Qualquer coisa mande um e-mail para 1c3_m4n@linuxdicas.com.br que e do linuxit, como o e meu amigo liberei uma conta pra ele :p
[3] Comentário enviado por naoexistemais em 19/09/2003 - 21:23h
Caros,
Aqui estou eu vivo, + ou - devido aos problemas profissionais acabei se afastando do meu hobby que e manter o Linuxit (Unico portal que fala de Linux e Tecnologia), e referente ao 1c3_m4n fiquei muito chateado devido sua atitude imatura, o mesmo nao contribui com o site. E apenas queria ganhar dinheiro e retorno imediato. Nao foi um homen suficiente para chegar a conversa comigo e expor os problemas que pode ter ocorrido.
Mais vamos o que interessa o Linuxit vai voltar agora neste final de mes, pq estou com n1nj4 (Rafael) cuidando do site e contribuindo, ao mesmo estou migrando de servidor, nao posso perde minha base de dados que nao tem valor, lembra-se sao 4.500 user em apenas 6 meses.
O Linuxit vai ter mais novidades como artigos que estou estudando em publicar e firewalls desenvolvido por mim.
E uma triste noticia que vou montar um portal sobre Microsoft, Windows 2k, xp e 2003, Isa server, Exchange e etc... (AGUARDEM)
William da Rocha
wrochal@acbr.com.br
wrochal@linuxit.com.br www.linuxit.com.br
[4] Comentário enviado por gregorye em 01/11/2004 - 17:49h
Uhm fiz tudo isso mas não funcionou! e o local "/usr/squid/./RunCache &
" não têm o arquivo ai substitui por "/usr/sbin/squid ./RunCache &
" teria que funcionar neh ?
[11] Comentário enviado por cleytonscherer em 02/03/2006 - 22:26h
Pessoal,
O programa RunCache pode estar em um diretório ligeiramente diferente, dependendo da sua distribuição. Para encontrar o caminho correto no seu sistema, utilize o comando "which" conforme exemplo abaixo:
# which RunCache
/usr/bin/RunCache
[12] Comentário enviado por gvcom em 03/03/2006 - 22:35h
Ok, valeu pelas dicas, deu certo.
O Willian da Rocha cita em seu livro que devemos compilar o Squid para utilizar restrições por mac adress.
Mas, uma pergunta básica de quem está aprendendo: como compilar o squid instalado durante a instalação do FC4, pois quando digito
./configure --enable-arp-acl...
recebo a mensagem "-bash: ./configure: Arquivo ou Diretório nao encontrado"
[14] Comentário enviado por rayfcrols em 21/07/2006 - 13:24h
Pessoal eu estou com uma duvida .. eu possuia e roteador linux em que a internet funcionava via gateway agora eu instalei e configurei o squid, mais a duvida é o sequinte eu quero bloquear o acesso via gateway e "liberar" somente via proxy ou seja internet somente pelo squid para forçar a configuracao de todas as maquinas. Ps : resposta por e-mail please rayfcrols@gmail.com
[16] Comentário enviado por removido em 01/08/2006 - 13:51h
iai galera.... o artigo muito bom, simples. Meu proxy funciono, mas eu tenho q habilitar no browser pra funciona, q q pode ser? teoricamente ele naun pode pedir a opçao "usar server proxy".
abraço
[17] Comentário enviado por douglasbgodoy em 18/08/2006 - 22:05h
tenho um squid rodando mas gostaria de ativar o proxy transparente mas o comando do iptables nao esta dando certo
" iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 "
[19] Comentário enviado por dmmlopes em 31/01/2007 - 17:45h
Estou com o squid e iptables instalados..
Está tudo funcionando perfeitamente com autenticação....criei uma acl badwords, baddomains e inclui vária palavras e varios dominios e neguei o uso, posteriormente criei uma acl valid domains e inclui os nomes de dominios válidos que eu quero que o usuário tenha acesso, na sequencia criei uma outra acl users com os nomes dos usuários permitindo a navegação ... até ai tudo bem, todo o dominio ou palavra que contiver nas acls criadas ele bloqueará, agora as que não estão listadas nos arquivos badwords e baddomains ele navega normal ai está a chave da questão... como faço para esses usuários usarem somente os sites na qual eu liberei na acl validdomains ????
[21] Comentário enviado por vagware em 19/02/2008 - 10:57h
Uma duvida, talvez meio besta, mas que me intrigou
bastante.
Ao compartilhar simplesmente a conexao (via nat), eu
preciso das placas de rede e criar a regra no firewall
para encaminhar os pacotes da placa de rede local para
a outra.
Mas com compartilhamento feito com o Squid, é preciso
compratilhar a conexão (como mostrado acima), ou só
instalando o squid e configurando o squid.conf já esta
td ok?
[23] Comentário enviado por edyfiorese em 26/09/2008 - 21:33h
cara fiz o q vc disse porem nada aconteceu
se alguem poder me ajudar
sera q eh problema com meu firewall????
desde jah agradeço
meu firewall:
#!/bin/bash
/sbin/iptables -F
/sbin/iptables -t nat -F
modprobe ip_tables
modprobe iptable_nat
# Habilitar IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
#Compartilhando a conexão
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
REDE="192.168.0.0/24"
# Porta de SSH
#LOG --> /var/log/messages
/sbin/iptables -A INPUT -p tcp --destination-port 22 -j LOG --log-prefix "FIREWALL - Serviço: SSH -> "
# Porta de SSH para fora
/sbin/iptables -A INPUT -p tcp --destination-port 22 -i eth2 -j DROP
# Porta de SSH local
/sbin/iptables -A INPUT -p tcp --destination-port 22 -i eth1 -j ACCEPT
#printf "."
# Abrindo algumas portinhas !
iptables -A INPUT -p tcp --destination-port 1021 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 1080 -j ACCEPT
# Compartilha a conexão com squid
iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 80 -j REDIRECT --to-port 3128
[24] Comentário enviado por marcelodon20 em 15/04/2009 - 14:24h
Boa tarde estou querendo imigra para sistema Linux com o debian ou ubutu, Atualmente uso o Windows 2003 Server
para gerencia minha rede, e nessa minha rede tenho duas conexão diferentes, estou precisando de um script para rodar no debian ou
no ubutu que possa unir a duas conexão e sair uma única conexão
para todos os usuarios da mesma rede.
[25] Comentário enviado por jonatanpasso em 12/04/2010 - 11:28h
Bom dia, estou procurando ajuda.
Estou estudando Linux, e preciso aprender a configurar um Proxy transparente, achei vários artigos aqui mesmo como fazer isso, já aprendi a configurar um sem ser transparente mais como alguns autores relata, eu não gostei, pois tem que configurar cliente por cliente, por tanto partindo deste principio decidi aprender o transparente, mais veio uma dúvida, todos falam que para configurar o Proxy transparente já é preciso ter uma configuração da internet compartilhada com o servidor por meio de NAT, é ai que mora minha dúvida, como fazer essa configuração de compartilhamento, se algum puder me ajudar onde achar alguma coisa sobre isso ou que ensine a compartilhar agradeço muito.
Minha configuração esta assim no ambiente de teste que estou fazendo.
Tenho 8 Maquinas em rede onde minha internet esta ligada ao switch
[26] Comentário enviado por joabes em 12/04/2010 - 11:38h
Bom dia.
Primeiro - Crie um Firewall ( Iptables )
Nesse você criara sua regras e fara o nat nele liberando internet paraoas computadores, uma vez que isso está feito, redirecione tudo para seu proxy, com isso vai amarrar a navegação ao proxy.
Se bem que sendo transparente não vejo muita vantagem.
[27] Comentário enviado por dogui_bnu em 09/02/2011 - 18:24h
Olá amigos!
sobre: Podemos colocá-la no próprio /etc/rc.local. A Sintaxe é a seguinte:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
Como colocar isso para o opensuse, já que o mesmo não tem /etc/rc.local. Tanto colocando ele transparente na config do squid como a regra não fica transparente. Alguém pode dar uma luz?