Dúvida para trabalho de curso [RESOLVIDO]

1. Dúvida para trabalho de curso [RESOLVIDO]

Renato Silva
RenatoSilva18

(usa Ubuntu)

Enviado em 15/10/2014 - 19:05h

Boa noite pessoal, procurei em tudo que é forum e nenhuma dica adiantou, li regras e mais regras, então minha dúvida e a seguinte.

Tenho duas máquinas virtuais sendo uma do centos 5.5 com 2 placas de rede eth0 (interface externa) e eth1 ( interface interna), já configurei meu servidor dhcp e meu squid. Na faculdade onde faço o curso toda vez que nos logamos com o usuário precisamos colocar o endereço proxy e gostaria de saber que regra é essa.
Resumindo eu gostaria que quando não estivesse configurado o proxy, fosse como se a internet não estivesse conectada, e quando colocado o endereço nas configurações navegasse normalmente :D

Obs: não quero usar proxy transparent.

Segue abaixo minhas configurações do squid e do iptable

#SQUID

http_port 3128
visible_hostname Escritorio

error_directory /usr/share/squid/errors/Portuguese
cache_mem 64 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
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

acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.0
acl SSL_ports port 443 563
acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901 1025-65535
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
acl rede_local src 192.168.200.1/24
acl sitesproibidos url_regex -i "/etc/squid/sitesproibidos"
acl ipsproibidos url_regex -i "/etc/squid/ipsproibidos"
http_access deny sitesproibidos
http_access deny ipsproibidos
http_access allow rede_local
http_access allow localhost

http_access deny all

______________________________________________

Iptables

#Liberar o roteamento

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

#Habilitar encaminhamento de pacotes

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

#Regras do SQUID
iptables -t nat -A POSTROUTING -s 192.168.200.0 -o eth0 -j MASQUERADE

iptables -A FORWARD -p tcp –dport 80 -j REJECT

iptables -A FORWARD -p tcp –dport 443 -j REJECT


Versão do Squid 2.6

Obrigado :)


  


2. MELHOR RESPOSTA

Alex
alexhctp

(usa Linux Mint)

Enviado em 16/10/2014 - 14:05h

Amigo, você precisa criar regras que force as requisições de internet a usar o proxy, assim, se o cara tiver um proxy configurado no navegador, ele acessa a internet, se não tiver, ele não navega. A seguir a regra que faz isso:

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

Se ainda tu precisar que algum host saia por fora do proxy e não precise configurar proxy, tu usa a regra a seguir ANTES do script acima:

iptables -t nat -A PREROUTING -p tcp -s 192.168.x.xxx --destination-port 80 -j RETURN
iptables -t nat -A PREROUTING -p tcp -s 192.168.x.xxx --destination-port 443 -j RETURN

Acho que é isso meu caro.
Abraço!

3. Re: Dúvida para trabalho de curso [RESOLVIDO]

Renato Silva
RenatoSilva18

(usa Ubuntu)

Enviado em 15/10/2014 - 19:07h

esqueci, e a outra é XP com host only, pegando o dhcp do centos :D


4. Re: Dúvida para trabalho de curso [RESOLVIDO]

Renato Silva
RenatoSilva18

(usa Ubuntu)

Enviado em 16/10/2014 - 12:03h

sei que é um trabalho, mas é importante :/


5. Re: Dúvida para trabalho de curso [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 16/10/2014 - 14:38h

O que precisa é configurar proxy autenticado que pode verificar no howto - http://mundodacomputacaointegral.blogspot.com/2011/12/configurando-servidor-proxy-autenticado.html


6. Re: Dúvida para trabalho de curso [RESOLVIDO]

Renato Silva
RenatoSilva18

(usa Ubuntu)

Enviado em 17/10/2014 - 10:12h

Bom dia amigos, obrigado pelas respostas, porém tive problema com o windows (sim windows é meu sistema principal, tanto por causa da família, quanto dos programas que utilizo) e vou reinstalar minha vm's do centos e do windows xp e retornarei resposta mais tarde, abraço!


7. Re: Dúvida para trabalho de curso [RESOLVIDO]

Renato Silva
RenatoSilva18

(usa Ubuntu)

Enviado em 18/10/2014 - 13:47h

alexhctp escreveu:

Amigo, você precisa criar regras que force as requisições de internet a usar o proxy, assim, se o cara tiver um proxy configurado no navegador, ele acessa a internet, se não tiver, ele não navega. A seguir a regra que faz isso:

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

Se ainda tu precisar que algum host saia por fora do proxy e não precise configurar proxy, tu usa a regra a seguir ANTES do script acima:

iptables -t nat -A PREROUTING -p tcp -s 192.168.x.xxx --destination-port 80 -j RETURN
iptables -t nat -A PREROUTING -p tcp -s 192.168.x.xxx --destination-port 443 -j RETURN

Acho que é isso meu caro.
Abraço!




Cara eu juro que tentei esse codigo quando usava o winxp como cliente, substitui pelo seven e milagrosamente ta funcionando

Com proxy = net
Sem proxy = sem chance

Muito obrigado de verdade cara, sem palavras, espero tirar A no meu trabalho graças a ti (:


8. Re: Dúvida para trabalho de curso [RESOLVIDO]

Alex
alexhctp

(usa Linux Mint)

Enviado em 20/10/2014 - 09:34h

Se funcionou, marca como resolvido e escolhe a melhor resposta.
Abraço!


9. Re: Dúvida para trabalho de curso [RESOLVIDO]

Renato Silva
RenatoSilva18

(usa Ubuntu)

Enviado em 20/10/2014 - 16:20h

Marcada, abraço :D !






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts