Duvida sobre Servidor proxy transparent [RESOLVIDO]

1. Duvida sobre Servidor proxy transparent [RESOLVIDO]

Tiago Silva
thiagoradical

(usa Debian)

Enviado em 30/11/2011 - 11:13h

Boa tarde a todos, como mencionei sou novo no linux, tem uns 6 meses que migrei para o linux, de agora em diante uso servidores linux. Enfim...
Instalei squid 2.7 stable 9 no Debian 6 pra roda em modo transparent, o squid esta operando, ja adicionei as regras do iptables, eu nao consigo fazer nat, abaixo segue as configurações da rede, squid.conf e rc.local:
Minhas configurações de rede são as seguintes, uso classe para ip tipo C, 192.168.0.0, GW 192.168.0.1
etho entra a internet
eth1 rede externa #eu necessito da nat para uma classe ip diferente#
Haveria possibilidade de roda um servidor proxy enviando endereçamento IP por DHCP.
Desculpe os possiveis erros, estou aprendendo e fazendo um cursinho ja.

http_port 3128 transparent
visible_hostname servidorsquid
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 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 110 25 # pop-smtp
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

acl bloqueados url_regex -i "/etc/squid/bloqueados"
http_access deny bloqueados
acl palavrasproibidas dstdom_regex "etc/squid/palavrasproibidas"
http_access deny palavrasproibidas

acl redelocal src 192.168.0.0/255.255.255.0
http_access allow localhost
http_access allow redelocal
http_access deny all

##############################################################################
rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/usr/local/bin/firewall
exit 0

#############################################################################

firewall

#!/bin/bash
#
# Script criado por Office

echo "Ativando compartilhamento"

#Ativando Roteamento de pacote
echo1 > /proc/sys/net/ipv4/ip_forward

#NAT
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

echo "Compartinhamento ativado"

iptables -t nat -A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128

#################################################################################################
interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.0.35
netmask 255.255.255.0
gateway 192.168.0.1
network 192.168.0.0
broadcast 192.168.0.255

auto eth1
iface eth1 inet static
address 192.168.1.40
netmask 255.255.255.0
broadcast 192.168.1.255


#######################################################################################################
erro quando restarto as interfaces

Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces ... (warning).
Reconfiguring network interfaces...done.





  


2. Proxy

Márcio Carolino G. de Brito
marciocarolino

(usa Debian)

Enviado em 01/12/2011 - 08:11h

Bom dia!.

E qual é a versão do seu Squid?



Cara se não estou errado a placa eth1 deve pegar o IP do servidor DHCP



auto eth1 dhcp



Depois você deve restartar o servidor DHCP.
o mais commum quando se cria um servidor DHCP e que, a faixa de IP's sempre e diferente.
Ex.:

Seu modem libera o IP 192.168.0.1 para sua Placa --> eth0
A Placa que irá distribuir " eth1 ", libera o IP 10.1.1.1


Abraços!!






3. Re: Duvida sobre Servidor proxy transparent [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 01/12/2011 - 11:08h

deixe a interface eth0 como dhcp que receberá conexão, e a interface eth1 define como fixo.

PS:Considerando que eth0=internet e eth1=rede(intranet)
Caso seja diferente, inverta.

O erro é que não pode usar ip da mesma faixa nas interfaces eth0 e eth1.


4. Re: Duvida sobre Servidor proxy transparent [RESOLVIDO]

Tiago Silva
thiagoradical

(usa Debian)

Enviado em 01/12/2011 - 15:01h

Então fiz as mudanças propostas pelo amigo, Coloquei minha eth0 recebendo internet do modem com ip 192.168.0.0/24 em modo DHCP, coloquei minha eth1 com ip fixo 10.1.1.0/24.

Na configuração da rede da eth1, basta eu colocar apenas o IP e Mask?
Seria bom eu nao precisa coloca ip fixo nos terminais clientes, seria de grande valia , pois pelos estudo que fiz, eu nao deveria colocar o ip do meu servidor proxy como gatway pra poder roda em modo Transparent?
Amigos agradeço a atenção de todos !
Por favor analizem minha situação.


5. Re: Duvida sobre Servidor proxy transparent [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 01/12/2011 - 18:55h

se esta configurando o gw da rede então:
eth0 deixa como dhcp receberá da conexão
eth1 deixa como fixo o gw o ip da eth0

na estação configure o ip fixo na mesma faixa da interface eth1 apontando como gw o ip da eth1 e o dns use de terceiros (ex: Google).

Se quiser deixar automático a definição de ip na estação, então configure um servidor DHCP no seu gw.

Na máquina gw terá firewall+squid+dhcp

como configurar servidor dhcp?
http://mundodacomputacaointegral.blogspot.com/2011/09/configurando-servidor-dhcp-no-linux.html

como configurar servidor proxy squid?
http://mundodacomputacaointegral.blogspot.com/2011/11/configurando-servidor-proxy-com-squid.html

Espero que ajude!


6. Re: Duvida sobre Servidor proxy transparent [RESOLVIDO]

Luiz Eduardo Dias Ribeiro
luizedr

(usa CentOS)

Enviado em 01/12/2011 - 19:30h

meu camarada, primeiramente não há a necessidade de fixar o IP na interface, faça uma reserva de um IP no seu servidor dhcp para a sua interface que esta sendo utilizada pelo proxy, feito isso restarte as interfaces no seu servidor de proxy /etc/init.d/network restart, ou apenas ifdown eth0, ifup eth0, veja se vai pegar o IP que foi reservado.

Lembre-se de verificar as rotas, tudo tem que estar exatamente igual ao que configurou no squid.conf


faça o seguinte, execute os comandos ifconfig e o route -nv e poste o resultado aqui ok.


7. Re: Duvida sobre Servidor proxy transparent [RESOLVIDO]

Tiago Silva
thiagoradical

(usa Debian)

Enviado em 02/12/2011 - 10:14h

Saitam:

Minha conexão agora depois das mudanças surtiram efeito, eu consigo fazer um ping no terminal cliente em modo transparente pela internet , so que nao acesso internet pelo browser, com certeza é um problema no squid.conf.A baixo segue meu squid.conf.
Eu observei muito bem as suas dicas em relação ao arquivo squid.conf, fiz as mudanças, mas nao surtiram efeito, como disse, consigo ping em sites, mas nao navego pelo browser.
OBS: Eu tenho que envia DHCP atraves da placa de rede eth1, a um metodo?
Agradeço sempre a ajuda companheiros.

Lembrando que a eth0 rede externa (internet) ip 192.168.0.0 DHCP
rede interna eth1 com ip 10.1.1.0 (intranet)

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 10.1.1.11
netmask 255.255.255.0
gateway 192.168.0.10

http_port 3128 transparent
visible_hostname servidorsquid

cache_mem 2048 MB
maximum_object_size 500 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 10000 16 256
cache_access_log /var/log/cache.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object
acl localhost src 127.0.0.1
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 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 110 25 # pop-smtp
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

acl bloqueados url_regex -i "/etc/squid/bloqueados"
http_access deny bloqueados
acl palavrasproibidas dstdom_regex "etc/squid/palavrasproibidas"
http_access deny palavrasproibidas

acl redelocal src 10.1.1.0/24
http_access allow localhost
http_access allow redelocal
http_access deny all


8. Re: Duvida sobre Servidor proxy transparent [RESOLVIDO]

Luiz Eduardo Dias Ribeiro
luizedr

(usa CentOS)

Enviado em 02/12/2011 - 12:47h

Você consegue acessar algum site pelo IP, tente pingar para um site e coloque o IP do resultado do ping no browser, caso abra trata-se de DNS, verifique seu /etc/resolv.conf.

Outra dica, ponha seu http_access allow redelocal no topo da lista http_access, se você conseguir navegar, algumas das regras que estavam acima dela estava te impedindo.

E claro, estou supondo que você não tenha se esquecido de configurar o proxy no seu navegador é claro.


9. Re: Duvida sobre Servidor proxy transparent [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 02/12/2011 - 13:07h

verifica o arquivo /etc/resolv.conf se tem os endereços DNS de terceiros ou seu próprio (caso tenha configurado no BIND).

se estiver vazio, coloque
/etc/resolv.conf

nameserver 8.8.8.8
nameserver 8.8.4.4


Esses são o DNS do Google.

Verifique agora se na estação consegue navegar, mas antes deve verificar se o servidor esta pingando normal
Faça os testes no servidor

$ping www.vivaolinux.com.br
$ping www.google.com.br

Se obter resposta esta OK o servidor

Depois faça o teste na estação (mesmo procedimento feito no servidor ou abra o navegador e acessa algum site).

Se obter resposta de ambos esta OK o cliente

Por último teste algum site que esta bloqueado no squid para ver se esta fazendo o bloqueio como deveria fazer.

PS: considerando que já tenha adicionado a regra iptables que faz NAT e proxy transparente no script firewall.

Retorne com os resultados dos testes



10. Re: Duvida sobre Servidor proxy transparent [RESOLVIDO]

Tiago Silva
thiagoradical

(usa Debian)

Enviado em 02/12/2011 - 13:21h

Pois bem;
no meu arquivo resolv.conf estava somente com o gatway do modem, mudei para os citados.
Eu consigo ping no servidor para ambos o sites citados, e tenho internet normalmente no servidor

Na estação eu consigo ping no sites e quando vo acessar pelo browser, mesmo com sites liberados nas acl, nao navega, e nao aparece mais aquelas palavras que o squid versao tal fez o bloqueio site, porfavor procure o ADm da rede.

Agradeço a atenção:
Aguardo a analise.


11. Re: Duvida sobre Servidor proxy transparent [RESOLVIDO]

Tiago Silva
thiagoradical

(usa Debian)

Enviado em 02/12/2011 - 13:38h

Segue as regras do firewall caro colega. E nao incrementei mais nada do firewall
Obs: placa eth0 recebe internet, placa eth1 intranet
echo "Ativando compartilhamento"

#Ativando Roteamento de pacote
echo 1 > /proc/sys/net/ipv4/ip_forward

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

echo "Compartinhamento ativado"

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


12. Re: Duvida sobre Servidor proxy transparent [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 02/12/2011 - 13:40h

as regras abaixo estão no script firewall?


echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128


PS: considerando que eth0=internet e eth1=intranet




01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts