Subrede não passar pelo Squid

1. Subrede não passar pelo Squid

Ricardo Neto
newtuxfan

(usa Fedora)

Enviado em 23/11/2009 - 10:39h

Tenho 1 servidor proxy controlando a minha rede interna, sem problemas.

Mas surgiu uma nova necessidade. Preciso liberar o acesso a web por uma nova subrede.

Tenho o acesso à internet via Net Virtua na eth0, ip por DHCP do próprio Virtua;
Minha rede interna está na eth1, rede 192.168.0.0/24

Terei de acrescentar uma segunda subrede com uma nova nic, eth2 rede 172.16.0.0/24.

O objetivo desta nova interface de rede e subrede é proporcionar acesso wireless aos clientes que chegam com seus notebooks na recepção de nossa empresa. Não queremos que esta nova subrede da eth2 passe pelo squid, e nem enxergue nossa rede interna, mas dê acesso direto à web, sem limites, nesta rede wireless, diferente de nossa subrede interna que deve obrigatoriamente passar pelo squid.

Como eu poderia configurar o iptables para me proporcionar isso? É possivel realizar tal tarefa apenas com o uso de regras no iptables?


Grato,

Ricardo.


  


2. Re: Subrede não passar pelo Squid

Daniel Fernandes
volcom

(usa Debian)

Enviado em 23/11/2009 - 10:44h

Usa Iptables?

Se sim, deve ter uma regra parecida com isso:

iptables -A INPUT -d 192.168.1.0/24 -p tcp --dport 3128 -j ACCEPT

Use assim:

iptables -A INPUT -d 192.168.1.0/24 !REDE_LIBERADA_DO_PROXY -p tcp --dport 3128 -j ACCEPT

Explicando, você diz para direcionar os pacotes da rede 192.168.1.0/24 para a porta 3128 menos (!) REDE_LIBERADA_DO_PROXY

Ou que seja isso que procura.

Espero que ajude


3. Re: Subrede não passar pelo Squid

Marcelo Ricardo Vitti
mrvitti

(usa Debian)

Enviado em 23/11/2009 - 10:45h

vc redireciona a porta 80 p 3128 no firewall ou conf o browser para usar proxy?

se vc usar no squid o "tcp_outgoing_address"?


4. Re: Subrede não passar pelo Squid

Magno Lima
magnolinux

(usa Debian)

Enviado em 23/11/2009 - 11:36h

sim é possivel vai isso somente com regras de iptables. Mais o seu firewall deve estar com o policiamento todo como DROP.

Uma observação muito interresante é que, quando ativado o roteamento de pacote, o linux passa a fazer a comunicação de redes diferentes automaticamente. È necessario criar regras de firewall bloqueando a comunicação das redes distintas, depois excluir o range de endereço IP, fora do redirecionamento do proxy.

Posta as as conf de firewall.??

FLW>>>


5. Re: Subrede não passar pelo Squid

Ricardo Neto
newtuxfan

(usa Fedora)

Enviado em 23/11/2009 - 12:23h

Seria assim ?

Qual regra faltaria para o que eu tenciono fazer ? Isolar as duas subredes (eth1 e eth2) eu já consegui.

#!/bin/sh

iptables -P FORWARD DROP
iptables -F FORWARD

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

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j MASQUERADE

echo 1 > /proc/sys/net/ipv4/conf/eth1/arp_filter
echo 1 > /proc/sys/net/ipv4/conf/eth2/arp_filter
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

#As 2 subredes podem se enxergar
#iptables -A FORWARD -i eth1 -s 192.168.0.0/24 -j ACCEPT
#iptables -A FORWARD -i eth2 -s 172.16.0.0/24 -j ACCEPT

#As 2 subredes *não* podem se enxergar
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -s 172.16.0.0/24 -j ACCEPT

#bloqueia acesso direto, por fora do Squid.
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -p tcp --dport 81 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 3128

#BLOQUEANDO RELAY SQUID CONTRA SPAMMERS

#iptables -A INPUT -p tcp -s ! 192.168.0.0/24 --dport 3128 -j LOG --log-level 1 --log-prefix "@TCP->SQUID RELAY DENIED "
#iptables -A INPUT -p tcp -s ! 192.168.0.0/24 --dport 3128 -j DROP
#iptables -A INPUT -p udp -s ! 192.168.0.0/24 --dport 3128 -j LOG --log-level 1 --log-prefix "@UDP->SQUID RELAY DENIED "
#iptables -A INPUT -p udp -s ! 192.168.0.0/24 --dport 3128 -j DROP

#BLOQUEANDO ACESSO EXTERNO AOS SERVIÇOS ESSENCIAIS

iptables -A INPUT -s 0/0 -p tcp -i eth0 --dport 21 -j LOG --log-level 1 --log-prefix "@TCP->FTP ACCESS DENIED "
iptables -A INPUT -s 0/0 -p tcp -i eth0 --dport 21 -j DROP

iptables -A INPUT -s 0/0 -p tcp -i eth0 --dport 22 -j LOG --log-level 1 --log-prefix "@TCP->SSH ACCESS DENIED "
iptables -A INPUT -s 0/0 -p tcp -i eth0 --dport 22 -j DROP

iptables -A INPUT -s 0/0 -p tcp -i eth0 --dport 23 -j LOG --log-level 1 --log-prefix "@TCP->TELNET ACCESS DENIED "
iptables -A INPUT -s 0/0 -p tcp -i eth0 --dport 23 -j DROP

iptables -A INPUT -s 0/0 -p tcp -i eth0 --dport 25 -j LOG --log-level 1 --log-prefix "@TCP->SMTP ACCESS DENIED "
iptables -A INPUT -s 0/0 -p tcp -i eth0 --dport 25 -j DROP

iptables -A INPUT -s 0/0 -p tcp -i eth0 --dport 110 -j LOG --log-level 1 --log-prefix "@TCP->POP ACCESS DENIED "
iptables -A INPUT -s 0/0 -p tcp -i eth0 --dport 110 -j DROP

iptables -A INPUT -s 0/0 -p tcp -i eth0 --dport 10000 -j LOG --log-level 1 --log-prefix "@TCP->WEBMIN ACCESS DENIED "
iptables -A INPUT -s 0/0 -p tcp -i eth0 --dport 10000 -j DROP


6. Re: Subrede não passar pelo Squid

Marcelo Ricardo Vitti
mrvitti

(usa Debian)

Enviado em 23/11/2009 - 13:16h

fala Ricardo,

ainda naum precisei fazer esta conf, porem acho q se vc add a rede local no redirec das portas p o squid jah dah certo... testa ae:

#bloqueia acesso direto, por fora do Squid.
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 81 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 443 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 8080 -j REDIRECT --to-port 3128



7. Re: Subrede não passar pelo Squid

Magno Lima
magnolinux

(usa Debian)

Enviado em 23/11/2009 - 13:28h

Otimo..

Como vc esta bloqueando todo forward da rede interna, automaticamente, vc esta bloqueando a comunicação de uma rede com
a outra. o que vc deve fazer agora é colocar na regra do proxy, para nao redirecionar o acesso da rede wifi para o squid.
A regra ficaria assim..

iptables -t nat -A PREROUTING -p tcp --dport 80 -s ! 172.16.0.0/24 -j REDIRECT --to-port 3128


Pronto!!!!







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts