squid transparente

1. squid transparente

Jesse Arce
nene_guitar

(usa openSUSE)

Enviado em 02/06/2013 - 04:31h

boa noite!

pessoal já li aqui mesmo no fórum sobre squid 3 transparente funcionando somente se setado o proxy nonavegador.

instalei um squid 3 num centos 6.4 ta acontecendo a mesma coisa

o squid instalei dessa forma

http://www.youtube.com/watch?v=XPs_NNljH1g

com eth0 para internet oi
e eth1 para lan 192.168.1.x

usei o squid.conf original só acrescentei as mesmas coisas do vídeo com minhas características de rede

ficou funcionando a internet porem tinha que configurar ip na estação e também no navegador.
o pior foi hoje de pela manha. quando liguei o centos e não navegou mais as estações.

dei uma boa pesquisada hoje porem me deparei com uma duvida cruel...

iptables.

gostaria de saber onde entrariam essas regras

iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 3128 -j ACCEPT

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128

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

uns falaram pra editar rc.d/rc.local...

outro /etc/sysconf/iptables (aqui qualquer alteração depois de chamar service iptables save
e service iptables restart volta como estava antes.

to meio perdido

minha intenção nesse squid é cache e controle de downloads na rede.

obrigado.

desculpe desenterrar um assunto que tem vários aqui mesmo no VOL.






  


2. Re: squid transparente

Perfil removido
removido

(usa Nenhuma)

Enviado em 02/06/2013 - 05:25h

isso aqui me ajudou a resolver um problema parecido. http://www.vivaolinux.com.br/artigo/Squid-3-como-proxy-transparente-+-firewall-Iptables


Talvez te ajude também.


3. Servidor Squid Transparent

Leandro Bueno
allcomp

(usa Outra)

Enviado em 03/06/2013 - 21:56h

Olá Amigo,

Edite o arquivo /etc/rc.local e mantenha conforme abaixo e resolvera seu problema


#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
modprobe ip_tables
modprobe iptable_nat
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F
iptables -t mangle -F
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 443 -j REDIRECT --to-port 3128
touch /var/lock/subsys/local




4. duvidas

Jesse Arce
nene_guitar

(usa openSUSE)

Enviado em 25/06/2013 - 10:19h

duvidas...

no modelo que usei para configuração do squid as interfaces de rede estão configuradas como
eth0 = internet
eth1 = redelocal

me surgiu uma duvida lendo outros posts para tentar resolver o problema que não navega sem ter que setar o proxy no navegador.

no modelo que usei ele manda criar essa regra iptables
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
onde eth0 = internet.

porem nesse link http://www.hardware.com.br/dicas/configurando-proxy-transparente-nas-novas-versoes-squid.html
encontrei a mesma regra porem com eth0 como rede local.

..."Para ativar o proxy transparente, rode o comando abaixo. Ele direciona as requisições recebidas na porta 80 para o Squid:
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
O "ETH0" NO COMANDO indica a placa da REDE LOCAL, onde o proxy recebe as requisições dos outros micros da rede e o "3128" indica a porta usada pelo Squid.

NO EXEMPLO DO LINK ETH0 É REDE LOCAL...

me perdi. alguém pode me dar uma luz...

obrigado


5. Exatamente

Diogo
dmap

(usa Ubuntu)

Enviado em 25/06/2013 - 11:58h

nene_guitar escreveu:

duvidas...

no modelo que usei para configuração do squid as interfaces de rede estão configuradas como
eth0 = internet
eth1 = redelocal

me surgiu uma duvida lendo outros posts para tentar resolver o problema que não navega sem ter que setar o proxy no navegador.

no modelo que usei ele manda criar essa regra iptables
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
onde eth0 = internet.

porem nesse link http://www.hardware.com.br/dicas/configurando-proxy-transparente-nas-novas-versoes-squid.html
encontrei a mesma regra porem com eth0 como rede local.

..."Para ativar o proxy transparente, rode o comando abaixo. Ele direciona as requisições recebidas na porta 80 para o Squid:
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
O "ETH0" NO COMANDO indica a placa da REDE LOCAL, onde o proxy recebe as requisições dos outros micros da rede e o "3128" indica a porta usada pelo Squid.

NO EXEMPLO DO LINK ETH0 É REDE LOCAL...

me perdi. alguém pode me dar uma luz...

obrigado


O redirecionamento tem que ser na porta lan, nesse teu caso a eth1.




6. Re: squid transparente

Estefanio Brunhara
stefaniobrunhara

(usa CentOS)

Enviado em 25/06/2013 - 12:58h

O básico do básico para compartilhar a internet pelo iptables.






vim /usr/sbin/firewall.sh

# Limpar todos as regras
iptables -F
iptables -X
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

# prepara o kernel
echo 0 > /proc/sys/net/ipv4/conf/all/log_martians
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/ip_dynaddr

# Carrega os módulos principais
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_tables

# Faz o redirenciomento da eth1 na porta 80 para a 3128
iptables -t nat -A PREROUTING -p tcp -d IP-eth1 --dport 80 -j REDIRECT --to-ports 3128

# Permite qu a rede todos reenvie pacotes para fora da rede
iptables -A FORWARD -t filter -j ACCEPT
iptables -A FORWARD -t filter -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -s 0/0 -d 0/0 -j ACCEPT

# Mascara o ip interno para o ip externo
iptables -t nat -A POSTROUTING -s 0/0 -d 0/0 -o eth+ -j MASQUERADE


# permissão para executar o script
chmod +x /usr/sbin/firewall.sh

# execute o script
/usr/sbin/firewall.sh


não conheço o opensuse

mas ele deve ter o rc.local, coloque na ultima linha o firewall.sh para ele ser executado no boot

vim /etc/rc.local

/usr/sbin/firewall.sh






7. Re: squid transparente

Jesse Arce
nene_guitar

(usa openSUSE)

Enviado em 25/06/2013 - 14:13h

ok! vou testar...

obrigado por enquanto.

em outro post encontrei para desabilitar o selinux..

procede? ou é só paranoia?


só pra constar estou configurando esse squid num centos 6.4






8. Re: squid transparente

Estefanio Brunhara
stefaniobrunhara

(usa CentOS)

Enviado em 25/06/2013 - 20:14h

nene_guitar escreveu:

ok! vou testar...

obrigado por enquanto.

em outro post encontrei para desabilitar o selinux..

procede? ou é só paranoia?


só pra constar estou configurando esse squid num centos 6.4





melhor desativar até funcionar, depois você ve como melhorar segurança

setenforce 0


9. Re: squid transparente

Jesse Arce
nene_guitar

(usa openSUSE)

Enviado em 08/07/2013 - 20:21h

boa noite

continuo no zero em relação ao proxy transparente...

outro problema que surgiu agora é que as vezes nao carrega as imagens dos sites...

o squid ta basicão sem bloqueios to querendo resolver essa parada do nao ficar transparente...

aguardo orientação.

ta xarope essa empreitada.



10. Re: squid transparente

Jesse Arce
nene_guitar

(usa openSUSE)

Enviado em 14/07/2013 - 20:15h

pessoal mais testes porem sem sucesso..
porem ainda so funcionando setando proxy no navegador cliente

sei que em algum lugar tem erro porem nao estou conseguindo resolver.

obrigado desde ja

lembrando

eth0 (internet ADSL oi 10.1.1.1)
eth1 (rede local 192.168.1.254)
segue arquivos de conf

etc/sysconfig/iptables

# Generated by iptables-save v1.4.7 on Sun Jul 14 06:28:49 2013
*mangle
:PREROUTING ACCEPT [7870:5552182]
:INPUT ACCEPT [7866:5551617]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [9050:4884061]
:POSTROUTING ACCEPT [9050:4884061]
COMMIT
# Completed on Sun Jul 14 06:28:49 2013
# Generated by iptables-save v1.4.7 on Sun Jul 14 06:28:49 2013
*filter
:INPUT DROP [12:594]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [9050:4884061]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 0 -m limit --limit 1/sec -j DROP
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 3128 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 123 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sun Jul 14 06:28:49 2013
# Generated by iptables-save v1.4.7 on Sun Jul 14 06:28:49 2013
*nat
:PREROUTING ACCEPT [184:9987]
:POSTROUTING ACCEPT [2:120]
:OUTPUT ACCEPT [258:15609]
-A PREROUTING -s 10.0.0.0/8 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A POSTROUTING -o eth1 -j MASQUERADE
-A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE
COMMIT
# Completed on Sun Jul 14 06:28:49 2013

obs. nao sei de onde ele tirou essas regras.

##################################################
squid.conf

http_port 3128 transparent (jatentei intercept)
visible_hostname pxy.br
acl lan src 192.168.1.0/24
http_access allow lan

(ja fiz so com essas linhas para testes.
###################################################
etc/rc.local

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
sh /usr/local/bin/squidfw.sh (criei esse arquivo)


chmod +x /usr/local/bin/squidfw.sh
#####################################################
/usr/local/bin/squidfw.sh


# Limite contra ping da morte e DoS
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -m limit --limit 1/s -j DROP

# Liberando portas SSH a partir de qualquer interface
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# Liberando portas squid, http e NTP.
iptables -A INPUT -p tcp --dport 3128 -i eth1 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -i eth1 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -i eth1 -j ACCEPT
iptables -A INPUT -p tcp --dport 123 -i eth1 -j ACCEPT
iptables -A INPUT -p udp --dport 123 -i eth1 -j ACCEPT

# Nat Global
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# NAT Rede
iptables -t nat -A POSTROUTING -s 10.1.1.0/255.0.0.0 -o eth0 -j MASQUERADE

# Jogando tráfego da porta 80 para o SQUID3 TRANSPARENT
iptables -t nat -A PREROUTING -s 10.1.1.0/255.0.0.0 -p tcp --dport 80 -j REDIRECT --to-port 3128






11. Re: squid transparente

Buckminster
Buckminster

(usa Debian)

Enviado em 14/07/2013 - 22:27h

Posta aqui o squid.conf e o script do Iptables.

Executa squid -v e posta aqui a saída desse comando também.


12. Re: squid transparente

Jesse Arce
nene_guitar

(usa openSUSE)

Enviado em 14/07/2013 - 23:50h

o squid.conf esta no post... o squid -z ja posto.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts