proxy squid transparente não funciona [RESOLVIDO]

1. proxy squid transparente não funciona [RESOLVIDO]

woshington rodrigues
wos-

(usa Debian)

Enviado em 25/11/2013 - 22:07h

Já tentei resolver lendo os vários tópicos que há aqui no fórum, contudo sem sucesso.
tenho uma conexão adsl e um notebook, utilizo a interface wireless para conexão com a internet em uma estação windows 7, utilizo o virtual box para emular Debian e xubuntu, o Debian seria meu servidor com Squid 2.7 + iptables, e o xubuntu como cliente
o squid funciona perfeitamente fora do modo transparente, mas quando retiro a configuração do navegador o proxy não é acionado, creio que o problema possa estar relacionado com a configuração das interfaces de rede que estão da seguinte maneira:

Debian (Servidor)
iface eth0 inet dhcp (configurado no Virtual box como NAT)
#ip atribuído no dhcp 10.0.2.15

auto eth1 (configurado no virtual box como bridge)
iface eth1 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1

Xubuntu (Cliente)
auto eth0 (configurado no virtual box como bridge)
iface eth0 inet static
address 192.168.1.98
netmask 255.255.255.0
gateway 192.168.1.10

Agora a configuração do arquivo firewall.sh que coloquei na pasta /home

#!/bin/bash
iptables -F
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT

iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward

modprobe ip_tables
modprobe iptable_nat
modprobe iptable_filter
modprobe iptable_mangle
modprobe ipt_REDIRECT
modprobe ipt_LOG
modprobe ip_conntrack

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

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

# Proxy Transparente ******OK eth01 é a placa da rede local
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 3128


já tentei de tudo mas sem sucesso, me ajudem aí e me deem dicas do que precisa e do que não precisa nesse arquivo


  


2. MELHOR RESPOSTA

Adonis Garces
adonisgarces

(usa Debian)

Enviado em 27/11/2013 - 12:42h

wos- escreveu:

Já tentei resolver lendo os vários tópicos que há aqui no fórum, contudo sem sucesso.
tenho uma conexão adsl e um notebook, utilizo a interface wireless para conexão com a internet em uma estação windows 7, utilizo o virtual box para emular Debian e xubuntu, o Debian seria meu servidor com Squid 2.7 + iptables, e o xubuntu como cliente
o squid funciona perfeitamente fora do modo transparente, mas quando retiro a configuração do navegador o proxy não é acionado, creio que o problema possa estar relacionado com a configuração das interfaces de rede que estão da seguinte maneira:

Debian (Servidor)
iface eth0 inet dhcp (configurado no Virtual box como NAT)
#ip atribuído no dhcp 10.0.2.15

auto eth1 (configurado no virtual box como bridge)
iface eth1 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1

Xubuntu (Cliente)
auto eth0 (configurado no virtual box como bridge)
iface eth0 inet static
address 192.168.1.98
netmask 255.255.255.0
gateway 192.168.1.10

Agora a configuração do arquivo firewall.sh que coloquei na pasta /home

#!/bin/bash
iptables -F
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT

iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward

modprobe ip_tables
modprobe iptable_nat
modprobe iptable_filter
modprobe iptable_mangle
modprobe ipt_REDIRECT
modprobe ipt_LOG
modprobe ip_conntrack

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

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

# Proxy Transparente ******OK eth01 é a placa da rede local
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 3128


já tentei de tudo mas sem sucesso, me ajudem aí e me deem dicas do que precisa e do que não precisa nesse arquivo


Amigão, experimenta usar seu servidor com as placas

(NAT) - Internet
(Rede Interna) - Lan

ativa o DHCP para a Lan distribuir e faz a sua estação a mesma coisa, deixa em Rede Interna...comigo nao tem erro.

Debian (Servidor)
auto eth0
iface eth0 inet dhcp (configurado no Virtual box como NAT)


auto eth1 (configurado no virtual box como Rede Interna)
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255


Se estiver usando o Debian 7 Whezzy
use o meu modelo de source.list

o caminho é:

#nano /etc/apt/sources.list

e adicione:

############################# SOURCE LISTA BY ADONIS $$$$$$$$$$$$$$$$$$$$$$$$$$$
deb http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
#
deb http://ftp.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.debian.org/debian/ wheezy main contrib non-free
#
deb http://ftp.br.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.br.debian.org/debian/ wheezy main contrib non-free
#
deb http://ftp.br.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.br.debian.org/debian/ wheezy-updates main contrib non-free
#
deb http://ftp.debian.org/debian/ wheezy-backports main contrib non-free
deb-src http://ftp.debian.org/debian/ wheezy-backports main contrib non-free
#
deb http://www.deb-multimedia.org/wheezy main non-free

Instala o DHCP-Server.

#apt-get install isc-dhcp-server

altere o dhcpd.conf

#nano /etc/dhcp/dhcpd.conf

e use esse modelo:


authoritative;
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8, 8.8.4.4;
option domain-name "dominio.com.br";
subnet 192.168.1.0 netmask 255.255.255.0{
range 192.168.1.10 192.168.1.20;
}


Pra concluir altere a regra:

# Proxy Transparente ******OK eth01 é a placa da rede local
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 3128 #( Essa linha não funciona com proxy transparente)


para:

#iptables -t nat PREROUTING -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128

Testa ai e depois dá um feed back

Abs.

Adonis

3. Re: proxy squid transparente não funciona [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 25/11/2013 - 23:05h

remova o gateway da eth1 do firewall como ja tem 1 que e atribuido na placa nat não precisa (gateway 192.168.1.1)


4. Re: proxy squid transparente não funciona [RESOLVIDO]

woshington rodrigues
wos-

(usa Debian)

Enviado em 25/11/2013 - 23:25h

Obrigado companheiro, fiz o que disse, mas ainda não funciona.


5. Re: proxy squid transparente não funciona [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

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

wos- escreveu:

Obrigado companheiro, fiz o que disse, mas ainda não funciona.


Aparentemente tudo certo com seu firewall era pra funcionar... Como esta o squid.conf ?


6. Re: proxy squid transparente não funciona [RESOLVIDO]

woshington rodrigues
wos-

(usa Debian)

Enviado em 26/11/2013 - 00:02h

Aqui está:

http_port 3128 transparent
visible_hostname wos
error_directory /usr/share/squid/errors/Portuguese
cache_mgr woshington@hotmail.com.br
acl all src all
acl localnet src 192.168.1.0/24
acl proibir_sites dstdomain "/etc/squid/sites"
acl palavras_bloqueadas url_regex -i "/etc/squid/palavras.txt"
acl horario_permitido time 17:00-19:30
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32

acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT

http_access allow palavras_bloqueadas horario_permitido
http_access deny proibir_sites
http_access deny palavras_bloqueadas
http_access allow all

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow purge localhost
http_access deny purge

http_access allow localhost
icp_access allow localnet
icp_access deny all
hierarchy_stoplist cgi-bin ?
cache_mem 256 MB
maximum_object_size_in_memory 512 KB
cache_dir ufs /var/spool/squid 5120 16 256
minimum_object_size 0 KB
maximum_object_size 4 MB
cache_swap_low 90
cache_swap_high 95

cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280



7. Re: proxy squid transparente não funciona [RESOLVIDO]

woshington rodrigues
wos-

(usa Debian)

Enviado em 04/12/2013 - 17:53h

Desculpe a demora em dar o feedback, mas é que meu notebook queimou a vga, e tive que viajar por esses dias. Tentei fazer o que vocÊ disse, mas ao mudar as interfaces bridge para rede local perdi a conexão com a internet.

meu roteador wireless é um dlink 500 que funciona na porta 192.168.1.1
meu resolv.conf do servidor DNS contém o endereço 192.168.1.1 (até tentei colocar outrs dns's válidos)
minhas interfaces de rede do debian estão conforme você sugeriu, e a interface cliente está com dhcp e conforme testei o dhcp funciona perfeitamente, só o que não funciona é a internet na estação cliente.




8. Re: proxy squid transparente não funciona [RESOLVIDO]

woshington rodrigues
wos-

(usa Debian)

Enviado em 18/12/2013 - 22:29h

Consegui fazer funcionar.
acredito que o maior problema era a configuração da minha rede e o DHCP,
o seguinte tutorial foi de muita ajuda: http://www.websolutti.com.br/artigos/fw_debian.pdf

minhas interfaces de rede ficaram da seguinte forma:

Servidor Debian Squeeze 6 (Com duas placas de rede)

Interfaces
auto eth0 (configurada como NAT no virtual box)
iface eth0 inet dhcp

auto eth1
iface eth1 inet static (configurada como bridge no virtual box)
address 192.168.1.10
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

A estação cliente utilizada foi uma máquina virtual xubuntu contendo uma interface de rede configurada em modo bridge no virtual box e utiliza servidor dhcp instalado na máquina virtual debian.

Arquivo firewall.sh (salvo dentro da pasta /etc/squid/)

#!/bin/bash
echo Inicializando o serviço de firewall
//Declaração das variáveis que irão armazenar a interface WAN e a interface LAN
IF_WAN=eth0
LAN=192.168.1.0/24

//definição das regras do firewall e em seguida apago todas.
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
iptables -t nat -F

//Serve para permitir o roteamento
echo 1 > /proc/sys/net/ipv4/ip_forward

//Regra de mascaramento
iptables -t nat -A POSTROUTING -O $IF_WAN -j MASQUERADE
//Redirecionamento do tráfego da tabela nat da porta 80 para a porta 3128
iptables -t nat -A PREROUTING -p tcp -m tcp –dport 80 -s $LAN -j REDIRECT --to 3128


o arquivo de configuração do squid necessita apenas de duas linhas para funcionar

http_port 3128 transparent
acl all src all







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts