Proxy Transparente não funciona ao ser ativado [RESOLVIDO]

1. Proxy Transparente não funciona ao ser ativado [RESOLVIDO]

Tiago
tiago1

(usa Ubuntu)

Enviado em 20/07/2015 - 21:38h

Boa noite a todos,

Fiz um servidor em casa com Linux Debian 8. Consegui fazer o DHCP e o compartilhamento dele sem problemas, mas na hora de fazer o Squid com proxy transparente tive problemas, a internet parava de funcionar. Isso ocorreu tanto no Proxy Transparente quanto no normal. Já usei esse modelo de arquivo e funcionou várias vezes, agora deu esse problema.
Como o modem está em modo bridge, fiz o comando de compartilhamento usando a interface ppp0 e não a eth0.
A faixa de IP local ficou 192.168.0.1, com máscara 255.255.0.0 desta vez.
Sei que pra transparente tem que usar a palavra "intercept" e fazer o comandinho aquele e deixar no rc.local.

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

http_port 3128 intercept
visible_hostname servidor
error_directory /usr/share/squid3/errors/Portuguese

#Cache feito na memoria RAM
cache_mem 30 MB
#Tamanho máximo dos arquivos guardados na memoria RAM
maximum_object_size_in_memory 64 KB
#Tamanho maximo e minimo dos arquivos que serão guardados no cache de disco
maximum_object_size 512 MB
maximum_object_size 0 KB
#Porcentagem de uso que comecara a descartar arquivos antigos
cache_swap_low 90
cache_swap_high 95
#Diretório dos arquivos do cache, com quantidade de espaço usada em MB, com 16 pastas e 256 subpastas
cache_dir aufs /var/spool/squid3 2048 16 256
#Diretório dos logs de acesso dos usuários da rede
cache_access_log /var/log/squid3/access.log
#Atualização do cache
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

#Regras Gerais
acl all src
acl manager proto cache_object

acl localhost src 127.0.0.1/32
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 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
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

#Regras de acessos permitidos e bloqueados do Squid 3
#
#
#Libera o acesso a uma lista de sites específicos
acl permitidos url_regex -i "/etc/squid3/permitidos"
http_access allow permitidos
#
#
#Bloqueia o acesso a uma lista de sites específicos
acl bloqueados url_regex -i "/etc/squid3/bloqueados"
http_access deny bloqueados
#
#
#Bloqueia o acesso baseado em palavras proibidas dentro da URL
acl palavrasproibidas dstdom_regex "/etc/squid3/palavrasproibidas"
http_access deny palavrasproibidas
#
#
#Bloqueia o download de arquivos com extensões banidas
acl extenban url_regex -i "/etc/squid3/extenban"
http_access deny extenban
#
#
acl redelocal src 192.168.0.0/24
delay_pools 1
delay_class 1 2
delay_parameters 1 114688/114688 16384/16384
delay_access 1 allow redelocal
http_access allow localhost
http_access allow redelocal
http_access deny all

Alguém tem alguma sugestão?

Obrigado!


  


2. MELHOR RESPOSTA

Renato Cesar Ribeiro Bonfim Jr
rbonfim

(usa elementary OS)

Enviado em 21/07/2015 - 10:44h

Tiago qual a versão do Squid?
Você já fez os teste para verificar se o pro não é bridge mode?
__#$
root@human:/#apt-get install -y brain
"Conhecimento é livre"

3. Re: Proxy Transparente não funciona ao ser ativado [RESOLVIDO]

rbz
RBZ

(usa CentOS)

Enviado em 21/07/2015 - 11:36h

Tentou reiniciar o iptables depois da alteração ?

Poste a versão do squid
# squid -v
ou
# squid3 -v




4. Re: Proxy Transparente não funciona ao ser ativado [RESOLVIDO]

Tiago
tiago1

(usa Ubuntu)

Enviado em 21/07/2015 - 13:04h

A versão do Squid é 3, pois instalo o por "aptitude install squid3".

Como se reinicia o iptables?

"/etc/init.d/iptables restart", assim?

Vou testar e posto se deu certo, obrigado!


5. Re: Proxy Transparente não funciona ao ser ativado [RESOLVIDO]

Tiago
tiago1

(usa Ubuntu)

Enviado em 21/07/2015 - 18:39h

RBZ escreveu:

Tentou reiniciar o iptables depois da alteração ?

Poste a versão do squid
# squid -v
ou
# squid3 -v



É a versão 3.4.8


6. Re: Proxy Transparente não funciona ao ser ativado [RESOLVIDO]

Tiago
tiago1

(usa Ubuntu)

Enviado em 21/07/2015 - 18:42h

rbonfim escreveu:

Tiago qual a versão do Squid?
Você já fez os teste para verificar se o pro não é bridge mode?
__#$
root@human:/#apt-get install -y brain
"Conhecimento é livre"



Versão 3.4.8.



7. Minhas Configurações

Tiago
tiago1

(usa Ubuntu)

Enviado em 21/07/2015 - 19:55h

Realmente não sei o que pode ser, pois fiz mesma configuração do Squid e o proxy era o "normal", não o transparente, numa máquina bem mais "humilde" que a minha... e não tinha DHCP pra rede interna...

Dessa vez tentei fazer em casa primeiro, pra depois tentar replicar na escola, pois o modem estragou e vários problemas ocorreram... desde então desativei o servidor. Na época era o Squid 6.
Como vou tentar reativar ele, já coloquei o 8, pra ver se dava certo. E na época nem precisei colocar regra de iptables pro Squid aceitar conexão e funcionava. Dessa vez coloquei e mesmo assim não deu certo...não acessa a internet ao ativar o proxy transparente...


Segue minha configuração:


#######################################################
# Configuração da rede interna e externa
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# Interface de loopback
auto lo
iface lo inet loopback

# Interface primária ligada no Modem
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

# Interface de rede local
auto eth1
allow-hotplug eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.0.0

# Faz a conexão com a Internet
auto dsl-provider
iface dsl-provider inet ppp
pre-up /bin/ip link set eth0 up # line maintained by pppoeconf
provider dsl-provider
------------------------------------------------------------------------------------------------------------------------

# Configuração do DHCP, no dhcpd.conf
#
# Informa ao servidor DNS as informações de todos os hosts da rede local
ddns-update-style none;
# Tempo padrão que o IP fica com um computador
default-lease-time 86400;
# Tempo máximo que o computador fica com o IP
max-lease-time 604800;
# É o servidor DHCP autoritário da rede caso existam outros na rede
authoritative;
log-facility local7;
#
# Rede local, faixa de IPs
subnet 192.168.0.0 netmask 255.255.0.0 {
range 192.168.0.10 192.168.0.20; ----> coloquei uma faixa baixa aqui, só pra testar mesmo.
option subnet-mask 255.255.0.0;
option routers 192.168.0.1;
option domain-name-servers 8.8.8.8, 8.8.4.4;
option broadcast-address 192.168.255.255;
}
######################################
# Configuração do arquivo resolv.conf

nameserver 8.8.8.8
nameserver 8.8.4.4

######################################
# Configuração do arquivo rc.local

# Compartilha a conexão pra rede local
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
# Abrir a porta pra aceitar conexões internas para o Squid ---> Não funcionou este comando.
iptables -A INPUT -i eth1 -p tcp --dport 3128 -j ACCEPT
# Ativar o modo Proxy Transparente
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
# Deixa de responder a pings
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
# Protege contra IP Spoofing
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
# Autoriza pacotes de interface de loopback da rede local
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
# Abre o acesso para a porta 22 do SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Bloqueia tentativa de conexão vinda da Internet
iptables -A INPUT -p tcp --syn -j DROP
exit 0


Grato novamente!


8. Re: Proxy Transparente não funciona ao ser ativado [RESOLVIDO]

rbz
RBZ

(usa CentOS)

Enviado em 22/07/2015 - 09:55h

Você está usando VMs para esses "testes" ?

Você tentou limpar as regras do iptables, navegar para ver se a internet interrompe e aplicá-las novamente e testar ?
Limpar
# iptables -F

Verificou nos arquivos de logs ?
Se você der um ping em um IP externo, está respondendo ?




9. Máquina real

Tiago
tiago1

(usa Ubuntu)

Enviado em 25/07/2015 - 23:57h

Oi,

Estou usando uma máquina real mesmo, sem VM. Vou fazer estas verificações e posto o resultado aqui, obrigado!



10. Opa

Tiago
tiago1

(usa Ubuntu)

Enviado em 03/08/2015 - 15:46h

Olá novamente, demorei pra postar. Estive um pouco ocupado, mas farei mais alguns testes hoje e posto se deu certo ou não.

Andei pensando se talves o firewall do próprio modem não estaria interferindo nisto, mas vou verificar e digo se deu certo ou não.

Desculpem a demora!

Abraços!





11. VMs

Tiago
tiago1

(usa Ubuntu)

Enviado em 04/08/2015 - 16:43h

RBZ escreveu:

Você está usando VMs para esses "testes" ?

Você tentou limpar as regras do iptables, navegar para ver se a internet interrompe e aplicá-las novamente e testar ?
Limpar
# iptables -F

Verificou nos arquivos de logs ?
Se você der um ping em um IP externo, está respondendo ?



Oi, fiz uma VM no Oracle com Linux Debian 8.1 e funcionou mais ou menos. Alguns sites abre, outros não, mas não é aquela tela de acesso negado do Squid tradicional, devido a restrições de acesso. Eu lembro que no Debian 6 funcionou bem. É possível usar essa versão ainda, talvez o 7? Devo insistir nesse novo, 8 ?




12. Bridge mode

Tiago
tiago1

(usa Ubuntu)

Enviado em 04/08/2015 - 16:44h

rbonfim escreveu:

Tiago qual a versão do Squid?
Você já fez os teste para verificar se o pro não é bridge mode?
__#$
root@human:/#apt-get install -y brain
"Conhecimento é livre"



Ah sim, na máquina real diz modo bridge e na máquina virtual também marquei o modo bridge nas opções.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts