Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.
Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

segunda-feira, 1 de setembro de 2008

Mascaramento IPSEC

Hoje na lsita de discussão a qual sou criador (Openswan-BR), houve um questionamento quanto a mascaramento de ipsec, se era necessário criar um mascaramento para que as estações se comunicassem pela VPN, o post de hoje é a resposta desse e-mail que acei legal explicar o motivo e quando é utilizado um mascaramento + IPSEC sem causar problemas nem precisar de NAT-T

Na verdade não se deve fazer isso... se o mascaramento for efetuado após a encriptação, creio eu que o unico
caso de ser necessário um mascaramento que conheço é quando ambas subnets são
iguais, ou por questões gerenciais (algumas empresas solicitam um range
específico para se fechar a vpn para evitar duplicidade), então devido
a isso se faz necessário fechar o túnel com a rede estipulada e criar
mascaramentos e Dnat para os acessos necessários.


Ex.:

Rede A = 192.168.0.0/24
ips de acesso rede B = 172.16.0.1 (outra ponta estipulou apenas um ip para conexão)

a conf do túnel fica:


leftsubnet=172.16.0.1/32
rigthsubnet=192.168.0.0/24

além disso é necessário criar uma interface que responda por esse ip e suas respectivas regras de mascaramento e DNAT


ifconf eth0:0 172.16.0.1

iptables -t nat -I PREROUTING -d 172.16.0.1 -p tcp --dport 80 -l DNAT --to 10.0.0.1 - Dnat para o servidor real


iptables -t nat -I POSTROUTING -s 10.0.0.1 -j SNAT --to 172.16.0.1 - Snat para o ip permitido no túnel.


(Detalhe,
note que todo o mascaramento foi efetuado antes de passar pelo ipsec,
sendo assim o pacote so é criptografado após o mascaramento, caso seja
efetuado o contrário, mascarar a saida do ipsec, o resultado não terá
sucesso, pois o dado ja estará encriptado e com um novo cabeçalho
criado para o túnel)


ex.:

Cabeçalho antes do IPSEC:

+----------------------------------------------+
| Cabeçalho IP | Cabeçalho TCP | Dados |
+-----------------------
-----------------------+


Cabeçalho apos o IPSEC em modo transport: Cabeçalho IPSEC apenas é
adicionado para protoger os cabeçalhos de camadas superiores (
Transporte até Aplicação) devido a isso so pode ser utilizado no
Gateway IPSEC

+-------------------------------------
-------------------------------------------+
| Cabeçalho IP | Cabeçalho IPSEC | Cabeçalho TCP | Dados |
+-------------------------------------
---------------------------------+

Cabeçalho após IPSEC em modo túnel: Cabeçalho IPSEC protege todo o pacote
anterior e adiciona um novo cabeçalho IP (Encapsula) dessa forma
podendo ser utilizado em um Lan-To-Lan


+---------------------------------------
-----------------------------------------------------------+
| Cabeçalho IP | Cabeçalho IPSEC | Cabeçalho IP | Cabeçalho TCP | Dados |
+---------------------------------------
-------------------------------------------------+


Devido a isso caso seja alterado o pacote após o encapsulamento do ipsec o
pacote como um todo será alterado, impossibilitando a comunicação da
VPN, ja com o mascaramento antes do pacote ser encapsulado e possivel
pois um novo cabeçalho IP é criado no Modo Tunnel.

Nenhum comentário: