Não funciona como proxy tranparente de forma alguma.

1. Não funciona como proxy tranparente de forma alguma.

Fabiano Duarte Magalhães
fabiano duarte

(usa Debian)

Enviado em 14/10/2010 - 14:42h

Olá pessoal,
estou com difiduldades de fazer rodar o squid como proxy transparente, somente funciona setando o proxy nas propriedades da internet.
Tenho um computador com duas placas de redes, ambas estão espetadas no roteador mas somente a eth0 está configurado o gateway com o ip do roteador, sendo assim, quando eu configuro nos computadores o gateway e o dns buscando o ip da eth1 os computadores só abrem o site se eu colocar o ip exemplo: 64.233.163.104 acessa o site www.google.com
Deve ser problema com dns mas não sei onde.
Os testes que fiz:
Já coloquei o cabo do modem direto na eth0
Inverti a eth0 pela eth1
Coloquei a eth0 como dhcp

O arquivo /etc/network/interfaces :
auto lo
iface lo inet loopback
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.1.252
netmask 255.255.255.0
gateway 192.168.1.254
network 192.168.1.0
broadcast 192.168.1.255

auto eth1
iface eth1 inet static
address 192.168.1.253
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

O meu arquivo resolv.conf está o seguinte:
nameserver 200.150.13.246
nameserver 200.150.4.4

squid.conf :
cache_mem 100 MB
maximum_object_size_in_memory 90 KB
cache_swap_low 90
cache_swap_high 95
minimum_object_size 1 KB
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_swap_log /var/spool/squid/swap.log
cache_dir diskd /var/spool/squid 1024 16 256
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
error_directory /usr/share/squid/errors/Portuguese/
dns_nameservers 200.150.4.4 200.150.13.246
http_port 3128 transparent

visible_hostname Nexo
acl manager proto cache object
acl SSL_ports port 443 563
acl safe_ports port 80 110
acl safe_ports port 21
acl safe_ports port 443 56
acl safe_ports port 70
acl safe_ports port 210
acl safe_ports port 1025-65535 1863
acl safe_ports port 280
acl safe_ports port 488
acl safe_ports port 591
acl safe_ports port 777
acl CONNECT method CONNECT
acl localhost src 127.0.0.1/255.255.255.255
http_access allow manager localhost
http_access deny manager
http_access deny !safe_ports
http_access deny CONNECT !SSL_ports
acl redeinterna src 192.168.1.0/255.255.255.0
acl all src 0.0.0.0/0.0.0.0
#delay_pools 2
#delay_class 1 2
#acl controle_banda src "/etc/squid/controle_banda"
#delay_parameters 1 3000/3000 3000/3000
#delay_access 1 allow controle_banda
acl sites_comuns url_regex -i "/etc/squid/sites_comuns"
acl liberados src "/etc/squid/liberados"
acl controlados src "/etc/squid/controlados"
acl sites_bloq url_regex -i "/etc/squid/sites_bloq"
acl ips_downloads src "/etc/squid/ips_downloads"
acl downloads url_regex -i "/etc/squid/downloads"
acl download_liberados url_regex -i "/etc/squid/download_liberados"
acl srcmsn url_regex -i "/etc/squid/srcmsn"
acl ips_msnbloque src "/etc/squid/ips_msnbloque"
acl grupo1 src "/etc/squid/grupo1"
acl sites_grupo1 url_regex -i "/etc/squid/sites_grupo1"
acl grupo2 src "/etc/squid/grupo2"
acl sites_grupo2 url_regex -i "/etc/squid/sites_grupo2"
#http_access allow redeinterna sites_comuns
http_access deny ips_msnbloque srcmsn
http_access allow !ips_msnbloque srcmsn
http_access allow redeinterna sites_comuns
http_access allow liberados all
http_access allow ips_downloads download_liberados
http_access deny !ips_downloads downloads
http_access allow grupo1 sites_grupo1
http_access allow grupo2 sites_grupo2
http_access allow controlados !sites_bloq
http_access deny all

arquivo /etc/init.d/rc.firewall :
# /bin/sh
iptables -F
iptables -t nat -F
iptables -t mangle -F
rede_interna="eth0"
rede_externa="eth1"

echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

/sbin/modprobe iptable_nat
/sbin/modprobe ip_tables
/sbin/modprobe ipt_state
/sbin/modprobe ip_conntrack
/sbin/modprobe ipt_multiport
/sbin/modprobe iptable_mangle

#iptables -I PREROUTING -t nat -p tcp -s $rede_interna --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i $rede_interna -p tcp --dport 80 -j REDIRECT --to-port 3128

#iptables -t nat -I POSTROUTING -s $rede_externa -j MASQUERADE
iptables -t nat -I POSTROUTING -o $rede_externa -j MASQUERADE

no arquivo rc.firewall onde está comentado é um teste que fiz colocando a variável rede_interna como 192.168.1.0/24, mas tbm não obtive sucesso...

obrigado.


  


2. Re: Não funciona como proxy tranparente de forma alguma.

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 15/10/2010 - 13:51h

qual a mensagem de êrro no navegador?


3. Re: Não funciona como proxy tranparente de forma alguma.

Fabiano Duarte Magalhães
fabiano duarte

(usa Debian)

Enviado em 17/10/2010 - 15:36h

Opa! desculpa a demora...a mensagem no navegador é a seguinte: a pagina não pode ser exibida.
Para dar certo eu tenho que colocar no DNS secundario dos computadores o DNS da internet ou o DNS do roteador. Eu queria deixar sem roteador e o DNS da operadora sempre muda, tem alguma outra solução?


4. recorrente..

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 17/10/2010 - 18:46h

aparentemente as operadoras não sabem como configurar direito um servidor DNS; ora encontramos a mensagem "lame server" (quem trampa com servidores de e-mail conhece a mensagem) ou então isso: não respondem a tempo.

bem, faça o seguinte: acrescente as seguintes diretivas no seu squid.conf:

dns_nameservers 8.8.8.8 8.8.4.4
visible_hostname nome.de.sua.maquina

o /etc/resolv.conf vc deixa com a seguinte informação:

nameserver 8.8.8.8
nameserver 8.8.4.4

em seguida vc ativa a flag "immutable" desse arquivo com o chattr (man chattr) - hehehehe.. ;)

pronto.. o dns da operadora pode mudar a vontade, mas o seu.. não ;)

uma dica, que vc toma como quiser: tive um estagiotário que fazia igualzinho a vc: subindo a montanha com um jipe quando, repentinamente, furava um pneu. Daí êle, com uma chave de fenda desmontava o motor, tirava o tanque de gasolina, jogava fora os bancos, os tapetes, removia os vidros e faróis, arrancava as portas.. Isso só parou quando eu o PROIBI de fazer alguma coisa ANTES de pensar. A idéia é: quando acontecer alguma coisa, enfie as DUAS mãos nos bolsos e NÃO FAÇA NADA. Apenas PENSE. Depois, PENSE DE NOVO. Depois, PENSE DE NOVO.

se o problema é dificuldade de navegação.. não adianta encher o saco da cozinheira.

pegou a imagem?


5. Re: Não funciona como proxy tranparente de forma alguma.

Fabiano Duarte Magalhães
fabiano duarte

(usa Debian)

Enviado em 18/10/2010 - 10:31h

Valeu pela mensagem...
antes eu tinha pesquisado e já tinha feito essa mudança nos arquivos squid.conf e resolv.conf e depois executei o comando chattr +i /etc/resolv.conf para que estes valores não mudem mas não obtive êxito na hora de navegar, continuo tendo que colocar no dns secundario o endereço do roteador ou o dns da operadora ou ainda neste caso o valor 8.8.8.8 ou 8.8.4.4 também funciona. Agradeço pela ajuda...


6. Re: Não funciona como proxy tranparente de forma alguma.

leonardo Souza
lejoso

(usa Debian)

Enviado em 20/10/2010 - 08:50h

Bom dia,

Quem é o dns primáro das estações?
Seu dns primário não está conseguindo resolver nomes, por isso está com problemas de navegação com proxy transparente.
Quando vc seta o proxy no browser funciona, pois o proxy é que fica encarregado da resolver nomes, ao passo que quando utiliza proxy transparente vc necessita resolver nomes 2 vezes, uma é a estação que necessita resolver nomes para enviar os pacotes para o ip do site e o outro é o próprio proxy, que verifica o cabeçalho http e necessita resolver o nome de host inserido nesse cabeçalho.
Verifica se esse servidor dns primário está realmente conseguindo resolver nomes e se tem regra de firewall liberando o forward para port 53 udp para todos os destinos.




7. Re: Não funciona como proxy tranparente de forma alguma.

Fabiano Duarte Magalhães
fabiano duarte

(usa Debian)

Enviado em 20/10/2010 - 10:44h

Olá bom dia,
por enquanto o dns primário está sendo o servidor do squid mesmo, depois quando der certo vou colocar na rede onde o dns primário vai ser o controlador de domínio, será que assim esse problema será resolvido? Obrigado


8. Re: Não funciona como proxy tranparente de forma alguma.

leonardo Souza
lejoso

(usa Debian)

Enviado em 20/10/2010 - 18:07h

Você tem que liberar a porta 53 udp para a rede local para eles conseguirem consultar nomes no seu servidor.

iptables -t filter -I INPUT -s ip_rede_local -p udp --dport 53 -j ACCEPT








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts