Iptables 2 redes [RESOLVIDO]

1. Iptables 2 redes [RESOLVIDO]

Tiago Prado
tiago2001

(usa Debian)

Enviado em 26/05/2014 - 11:19h

Seguinte pessoal, tenho duas redes, um servidor faz os roteamentos para ela se enxergarem:
------------
Server Roteador - regras do iptables
eth0: 192.168.1.1/24
eth1: 192.168.4.1/24
-------------------
Server Squid
eth0: 192.168.4.5
-------------------

Utilizo detectação automática do proxy através do wpad (DNS e DHCP). Até aí tudo funcionando.
--------------------------------
O wpad fica no IP 192.168.1.251
--------------------------------

Então bloqueio a porta 80 pra ninguém conseguir navegar fora do proxy:
iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 80 -j DROP
iptables -A FORWARD -p tcp -s 192.168.4.0/24 --dport 80 -j DROP

Na rede 192.168.1.0/24 funciona, porém na 192.168.4.0/24 não funciona utilizando o wpad, tanto automático, quanto digitando o endereço do script no "Usar script de configuração automática".

Se eu marcar usar proxy e colocar 192.168.4.5 funciona.

Estava pensando em alguma coisa a ver porque bloqueia a porta 80 então não consegue baixar o wpad, então tentei:
iptables -A FORWARD -p tcp -s 0/0 -d 192.168.0.0/16 --dport 80 -j ACCEPT
Não tive sucesso.

Alguém tem alguma sugestão?



  


2. MELHOR RESPOSTA

Buckminster
Buckminster

(usa Debian)

Enviado em 26/05/2014 - 12:35h

O problema é que o WPAD está na máquina 192.168.1.251 que fica na rede 192.168.1.0, por isso só as máquinas dessa rede estão baixando o WPAD.

Tente assim:

esta regra

iptables -A FORWARD -p tcp -s 192.168.4.0/24 --dport 80 -j DROP

deixe assim

iptables -A FORWARD -p tcp -i eth1 -s 192.168.4.0/24 --dport 80 -j DROP

daí irá bloquear somente a placa da rede, como tu não está especificando placa nenhuma na regra, o Iptables está bloqueando em todas as placas, inclusive o roteamento.

Teste e me dê um retorno.

3. Re: Iptables 2 redes [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 26/05/2014 - 11:31h

Nessa regra

iptables -A FORWARD -p tcp -s 0/0 -d 192.168.0.0/16 --dport 80 -j ACCEPT

porque tu está usando 192.168.0.0/16 se tu não tem nenhuma rede nesse endereço?


Server Roteador - regras do iptables
eth0: 192.168.1.1/24
eth1: 192.168.4.1/24
-------------------
Server Squid
eth0: 192.168.4.5


4. Re: Iptables 2 redes [RESOLVIDO]

Tiago Prado
tiago2001

(usa Debian)

Enviado em 26/05/2014 - 12:14h

Buckminster escreveu:

Nessa regra

iptables -A FORWARD -p tcp -s 0/0 -d 192.168.0.0/16 --dport 80 -j ACCEPT

porque tu está usando 192.168.0.0/16 se tu não tem nenhuma rede nesse endereço?


Server Roteador - regras do iptables
eth0: 192.168.1.1/24
eth1: 192.168.4.1/24
-------------------
Server Squid
eth0: 192.168.4.5


Estou utilizando um /16 para teste, logo, a rede será 192.168, o restante é host. Correto?


5. Re: Iptables 2 redes [RESOLVIDO]

Tiago Prado
tiago2001

(usa Debian)

Enviado em 26/05/2014 - 13:01h

Buckminster escreveu:

O problema é que o WPAD está na máquina 192.168.1.251 que fica na rede 192.168.1.0, por isso só as máquinas dessa rede estão baixando o WPAD.

Tente assim:

esta regra

iptables -A FORWARD -p tcp -s 192.168.4.0/24 --dport 80 -j DROP

deixe assim

iptables -A FORWARD -p tcp -i eth1 -s 192.168.4.0/24 --dport 80 -j DROP

daí irá bloquear somente a placa da rede, como tu não está especificando placa nenhuma na regra, o Iptables está bloqueando em todas as placas, inclusive o roteamento.

Teste e me dê um retorno.



Já havia testado colocar com a interface, mas mesmo assim não deu certo. E ele baixa o WPAD normalmente.


6. Re: Iptables 2 redes [RESOLVIDO]

Tiago Prado
tiago2001

(usa Debian)

Enviado em 26/05/2014 - 13:36h

tiago2001 escreveu:

Buckminster escreveu:

O problema é que o WPAD está na máquina 192.168.1.251 que fica na rede 192.168.1.0, por isso só as máquinas dessa rede estão baixando o WPAD.

Tente assim:

esta regra

iptables -A FORWARD -p tcp -s 192.168.4.0/24 --dport 80 -j DROP

deixe assim

iptables -A FORWARD -p tcp -i eth1 -s 192.168.4.0/24 --dport 80 -j DROP

daí irá bloquear somente a placa da rede, como tu não está especificando placa nenhuma na regra, o Iptables está bloqueando em todas as placas, inclusive o roteamento.

Teste e me dê um retorno.



Já havia testado colocar com a interface, mas mesmo assim não deu certo. E ele baixa o WPAD normalmente.



Buckminster,

Valeu pela ajuda, liberei a porta 80 no servidor 192.168.4.5, aí rolou

iptables -A FORWARD -p tcp -i eth2 -s 192.168.4.5 --dport 80 -j ACCEPT




7. Re: Iptables 2 redes [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 26/05/2014 - 13:41h

Ok, bom que resolveu.
Eu ía te dar mais uma sugestão... mas vai aí assim mesmo.

Bom, uma vez utilizei variáveis no arquivo wpad e já que está baixando o arquivo tu pode utilizar também.

Para o teu cenário ficaria mais ou menos assim acrescentando no arquivo wpad:

if (isInNet(myIpAddress(), "192.168.1.0", "255.255.255.0")) { return proxy_yes ; }
if (isInNet(myIpAddress(), "192.168.4.0", "255.255.255.0")) { return proxy_yes2 ; }

e depois

var proxy_yes = "PROXY 192.168.4.5:3128";
var proxy_yes2 = "PROXY 192.168.4.5:3128";

Dá uma lida nesse link e adapta para você:

http://tinodiaadia.wordpress.com/2010/11/12/configuracao-de-proxy-automaticamente-parte-2/

Talvez com o bloqueio que tu fez a rede 192.168.4.0 está se perdendo no uso do proxy.

É uma sugestão.


8. Re: Iptables 2 redes [RESOLVIDO]

Tiago Prado
tiago2001

(usa Debian)

Enviado em 26/05/2014 - 14:00h

Buckminster escreveu:

Ok, bom que resolveu.
Eu ía te dar mais uma sugestão... mas vai aí assim mesmo.

Bom, uma vez utilizei variáveis no arquivo wpad e já que está baixando o arquivo tu pode utilizar também.

Para o teu cenário ficaria mais ou menos assim acrescentando no arquivo wpad:

if (isInNet(myIpAddress(), "192.168.1.0", "255.255.255.0")) { return proxy_yes ; }
if (isInNet(myIpAddress(), "192.168.4.0", "255.255.255.0")) { return proxy_yes2 ; }

e depois

var proxy_yes = "PROXY 192.168.4.5:3128";
var proxy_yes2 = "PROXY 192.168.4.5:3128";

Dá uma lida nesse link e adapta para você:

http://tinodiaadia.wordpress.com/2010/11/12/configuracao-de-proxy-automaticamente-parte-2/

Talvez com o bloqueio que tu fez a rede 192.168.4.0 está se perdendo no uso do proxy.

É uma sugestão.


Valeu pela dica, qq coisa é só utilizar outra placa de rede no proxy, configurar como 192.168.1.5 e colocar o proxy da rede 192.168.1.0/24 para o proxy 192.168.1.5.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts