Permitir apenas conexões do Squid

1. Permitir apenas conexões do Squid

janael pinheiro
janaelpinheiro

(usa Debian)

Enviado em 13/06/2013 - 11:02h

Tem como definir uma politica padrão para uma interface especifica? tipo só pra eth1, tentei iptables -P INPUT -i eth1 -j DROP, não funciona. O cenário é o seguinte: tenho uma máquina Debian com duas placas de rede, essa máquina faz o roteamento da internet para a rede local, e está com NAT habilitado, na mesma máquina tenho o Squid instalado, preciso bloquear tudo e liberar conexão apenas para o Squid, isso para obrigar as máquinas da rede interna usarem o proxy, não posso fazer um proxy transparente. tentei bloquear tudo com iptables -P INPUT DROP e iptables -P OUTPUT DROP, liberar porta do Squid: iptables -A INPUT -p tcp --dport 3128 -j ACCEPT e iptables -A OUTPUT -p tcp --dport 3128 -j ACCEPT. Com esses comandos a máquina debian que é ligada diretamente a internet fica sem conexão e os cliente da rede interna também, nada funciona.



  


2. Re: Permitir apenas conexões do Squid

Marcelo
hrapytor

(usa Debian)

Enviado em 08/08/2013 - 07:14h

Olá usa essas regras:
#iptables -P INPUT DROP #BLOQUEIA TODA ENTRADA DE PACOTES
#iptables -P FORWARD DROP #BLOQUEIA O FORWARD DE PACOTES DE UMA INTERFACE PARA A OUTRA
#iptables -A INPUT -i eth1 -j ACCEPT # SUPONDO QUE A ETH1 É A PLACA DE REDE INTERNA (COMUNICAÇÃO COM OS USUÁRIOS)

O OUTPUT não precisa definir nada, pode deixa-lo com a regra padrão ACCEPT




3. Re: Permitir apenas conexões do Squid

Buckminster
Buckminster

(usa Debian)

Enviado em 08/08/2013 - 07:45h

janaelpinheiro escreveu:

Tem como definir uma politica padrão para uma interface especifica? tipo só pra eth1, tentei iptables -P INPUT -i eth1 -j DROP, não funciona. O cenário é o seguinte: tenho uma máquina Debian com duas placas de rede, essa máquina faz o roteamento da internet para a rede local, e está com NAT habilitado, na mesma máquina tenho o Squid instalado, preciso bloquear tudo e liberar conexão apenas para o Squid, isso para obrigar as máquinas da rede interna usarem o proxy, não posso fazer um proxy transparente. tentei bloquear tudo com iptables -P INPUT DROP e iptables -P OUTPUT DROP, liberar porta do Squid: iptables -A INPUT -p tcp --dport 3128 -j ACCEPT e iptables -A OUTPUT -p tcp --dport 3128 -j ACCEPT. Com esses comandos a máquina debian que é ligada diretamente a internet fica sem conexão e os cliente da rede interna também, nada funciona.


As políticas padrões deixe assim:
iptables -P INPUT -j DROP
iptables -P FORWARD -j DROP
iptables -P OUTPUT -j ACCEPT

Veja se você tem essas linhas no teu Iptables:
echo 1 > /proc/sys/net/ipv4/ip_forward << esta linha habilita o compartilhamento.
iptables –t nat –A POSTROUTING –o eth0 –j MASQUERADE << esta linha faz o compartilhamento na placa de rede eth0 (PLACA DE REDE DE ENTRADA DA INTERNET).
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 << esta linha redireciona o tráfego da porta 80 para a porta 3128 do Squid, placa da rede interna.
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 443 -j REDIRECT --to-port 3128 << esta linha redireciona o tráfego da porta 443 para a porta 3128 do Squid, placa da rede interna.

Daí é só você setar o IP do proxy nos navegadores das máquinas clientes.