Liberar VPN com RV042 pelo iptables

1. Liberar VPN com RV042 pelo iptables

CLAUDIO ASSUNÇÃO
assuncao.claudio

(usa Debian)

Enviado em 17/03/2010 - 13:27h

Possuo uma rede com cerca de 35 computadores, e 7 servidores todas rodando Windows. O firewall dessa rede, em Linux é claro, detém os serviços de SQUID, SARG, MRTG e firewall. Esse servidor possui 3 placas de rede, onde a eth0 é a entrada para minha rede interna. Eth1 conecta diretamente num roteador RV042, que faz load balance com 2 links VELOX. Por fim eth2 conecta-se num 3° link VELOX.

O firewall joga todo tráfego de internet para o RV042 que faz o balanceamento de carga, exceto pelos emails e acesso remoto, que trafegam exclusivamente pela eth2.

Num datacenter remoto, possuo 3 servidores que estão ligados também num RV042.

Estamos precisando conectar via VPN esses servidores à nossa rede interna. A VPN está pronta pois é um solução dos próprios roteadores e consegui colocar pra funcionar sem maiores problemas. Conectadas algumas estações fora da minha rede, ou seja, diretamente no RV042, essas conseguem chegar no datacenter e vice versa.

O que preciso agora é liberar acesso para dentro da minha rede. Para liberar o acesso de dentro da minha rede até o datacenter, bastou adicionar uma rota que foi resolvido; a questão agora é que tentei vários FORWARDS para liberar o acesso do datacenter na rede interna e até agora não obtive sucesso.

Gostaria de saber se podem me ajudar, abaixo os IPs utilizados nesse cenário:

REDE INTERNA
192.168.0.0/24
||
FIREWALL LINUX
192.168.0.10
||
RV042 EMPRESA
192.168.1.10
||
VPN (usa DynDNS)
||
VPN (IP público fixo)
||
RV042 DATACENTER
192.168.2.10
||
SERVIDORES DATACENTER
192.168.2.2
192.168.2.3
192.168.2.4

Comando que já utilizei para liberar acesso de dentro da rede para o datacenter:

route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.10

Comandos que já usei e não funcionaram:

iptables -t nat -A POSTROUTING -o eth1 -p udp --dport 500 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -p gre -j MASQUERADE
iptables -t nat -A POSTROUTING -s \! 192.168.2.0/24 -o eth1 -j MASQUERADE
iptables -A FORWARD -s 192.168.0.10 -p all -j ACCEPT
iptables -A FORWARD -d 192.168.0.10 -p all -j ACCEPT
iptables -A OUTPUT -s 192.168.0.0/24 -p all -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 1723 -j DNAT --to 192.168.0.10
iptables -t nat -A PREROUTING -i eth1 -p gre -j DNAT --to 192.168.0.10

Peço desculpas pelo tanto que escrevi, pois não queria deixar dúvidas para quem fosse tentar ajudar.

Grande abraço a todos e desde já agradeço !

Claudio


  


2. Re: Liberar VPN com RV042 pelo iptables

CLAUDIO ASSUNÇÃO
assuncao.claudio

(usa Debian)

Enviado em 17/03/2010 - 14:26h

Dá uma força aí galera, coloquei desde ontem e ninguém viu....podem dar uma força !!!

Abraços !


3. Re: Liberar VPN com RV042 pelo iptables

CLAUDIO ASSUNÇÃO
assuncao.claudio

(usa Debian)

Enviado em 17/03/2010 - 14:39h

Utilizei os comandos abaixo, segundo um tópico que li, onde um colega tem um cenário similar, mas que a VPN roda num servidor Windows fora da rede. Pela que entendi precisaria apenas liberar as portas 1723 e gre:

iptables -A FORWARD -i eth1 -p tcp -d 192.168.0.10 --dport 1723 -j ACCEPT
iptables -A FORWARD -o eth1 -p tcp -s 192.168.0.10 --sport 1723 -j ACCEPT
iptables -A INPUT -i eth1 -p gre -j ACCEPT

Também vi algumas dicas onde dizia que tinha que liberar as pontas da redes:

iptables -A FORWARD -s ip_redeint -d ip_rederemota -j ACCEPT
iptables -A FORWARD -s ip_rederemota -d ip_redeint -j ACCEPT

Até agora nada...não sei se estou errando na ordem onde devo incluir essas regras.


4. UP !

CLAUDIO ASSUNÇÃO
assuncao.claudio

(usa Debian)

Enviado em 22/03/2010 - 09:21h

UP !


5. Re: Liberar VPN com RV042 pelo iptables

Silas
silasevandro

(usa Outra)

Enviado em 07/06/2010 - 11:16h

Tudo bom Claudio.
Fiquei interessado na estrutura que você utilizou com o RV042. Poderia informar as regras do iptables para redirecionar emails para uma rede e o restante para outra. Obrigado.



6. Re: Liberar VPN com RV042 pelo iptables

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 07/06/2010 - 11:22h

vpns NÃO podem ser afetadas por NAT/masquerade; a única coisa que vc pode fazer com pacotes vpn é rotea-los. Qualquer outra ação (nat/masq) altera o pacote e êste é descartado.


7. Aos colegas Irado e Silas Evandro

CLAUDIO ASSUNÇÃO
assuncao.claudio

(usa Debian)

Enviado em 07/06/2010 - 11:32h

Silas Evandro:

Essa dica peguei aqui mesmo, não entendo tanto de iptables para implementar sozinho; consigo entender como funcionam as regras e flexioná-las ao minha estrutura, pois foi o que fiz. Aqui o artigo que usei para fazer o "load balance" dos 2 link de Velox, um para email e outro para navegação:

http://www.vivaolinux.com.br/artigo/Firewall-Linux-Roteamento-avancado-usando-iproute2-e-iptables-%2...

Qualquer dúvida me chama que posso te ajudar com os detalhes.

Irado

Poderia informar como fazer isso ? Se possível fazer um esquema explicando o que rotear e para aonde ? Desde já agradeço pela ajuda !


Grande abraço a todos e obrigado pela ajuda !


8. não garanto nada, mas vamos tentar

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 07/06/2010 - 15:13h

primeiro revisando um que outro conceito de vpn:

a) conecta duas LANs estabelecendo-as como fossem uma só

b) NÃO pode ser NAT'ed/masquer'd porque isso corrompe o encapsulamento do pacote e então êsse é descartado.

suponhamos que suas duas redes sejam: 192.168.1.0/24 e 192.168.2.0/24, uma aqui, outra lá. Suponhamos ainda que o seu dispositivo virtual (tun0) seja 10.1.0.0/8 aqui e 10.2.0.0/8 lá do outro lado. Então:

192.168.1.0/-->/10.1.0.0-->/10.2.0.0/-->/192.168.2.0

nesta máquina (que é o gw de vpn) vc estabelece rota pra lá:

route add -net 192.168.2.0 netmask 255.255.255.0 gw 10.2.0.0

ou seja, vai apontar para o tun0 DO OUTRO LADO. Como é a mesma rede da tun0 DAQUI, os pacotes saberão por onde sair.

CONTUDO.. tchan.. (+ 3x): depende de COMO seu aplicativo de vpn trata dos pacotinhos/encapsula, etc. O que vc está usando? IPSec? OpenVPN

se estiver usando QUALQUER outra coisa que não Linux/BSDs, esqueça, não entendo dos outros.


9. Faltou apenas um detalhe....

CLAUDIO ASSUNÇÃO
assuncao.claudio

(usa Debian)

Enviado em 07/06/2010 - 15:22h

Antes de mais nada obrigado pela resposta....uma coisa apenas: não existe interface "tunX"...como mencionei no primeiro post a VPN é fechada utilizando um roteador RV042 da Linksys. Este se conecta na eth1 do meu firewall, tem o tráfego filtrado e sai pela eth0 que é o gateway da minha rede interna. Fica mais ou menos assim:

INTERNET <=> RV042 <=> ETH1 <=> FIREWALL DEBIAN <=> ETH0 <=> REDE INTERNA MINHA EMPRESA

A vpn por enquanto só trafega do RV042 pra fora; dentro da minha rede obviamente ela não entra e por isso mesmo queria saber o que preciso liberar para que esse tráfego possa entrar, dessa forma posso incluir as estações nesse tunelamento.

Qualquer dúvida é só perguntar.

Abraços e mais uma vez obrigado!


10. aí.. já não sei.

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 07/06/2010 - 16:04h

como isso aí é um "device" a presunção é de que o pacote seja desencapsulado ANTES de adentrar na sua eth; acredito que para se ter certeza absoluta seria apropriado usar tcpdump/wireshark. Sempre como sugestão, estabelecer regras mais simples de iptables, qualquer coisa assim:

aceitar na interface tudo o que venha do seu ip.addr do outro lado

é provável que no manual do device vc tenha as informações completas do que esteja querendo saber.. já olhou lá?

por enquanto, não fazer qualquer redirecionamento, apenas ANALISAR o tráfego.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts