Dead Packets

03/05/2010

VPN Site-to-Site – Route mode

Filed under: juniper,ScreenOs — drak @ 7:54 PM

Uma das tecnologias que mais demandam tempo de configuração e testes em conjunto é a VPN, no ScreenOS existem duas metodologias de criação de VPN site-to-site, por rota e por policy. Basicamente por policy a configuração é mais simples e não demanda criação de interfaces de túnel ou roteamento, por rota a VPN e a regra de acesso são independentes, o que permite mais flexibilidade em alguns cenários.

Abaixo segue um procedimento completo de criação de VPN site-to-site por rota, onde a rede local é 172.30.0.0/16 e as redes remotas são 192.168.0.0/24 e 10.0.0.0/16, nota-se que é necessário criar apenas um gateway porém dois túneis VPN, isso ocorre porque até a versão 6.2 não é possível colocar múltiplos proxy-id na mesma configuração de VPN, uma característica implementada a partir da versão 6.3.

É esperado um conhecimento teórico das VPNs para entender a configuração abaixo, nela deixei explícito os proposals utilizados na fase 1 (isakmp) e fase 2 (ipsec).

# Criação das interfaces tunel
set interface "tunnel.1" zone "Untrust"
set interface tunnel.1 ip unnumbered interface ethernet0/0
set interface "tunnel.2" zone "Untrust"
set interface tunnel.2 ip unnumbered interface ethernet0/0

# Fase 1
set ike p1-proposal "pre-g2-3des-sha-86400" preshare group2 esp 3des sha-1 second 86400
set ike gateway "gw_IP_PEER_REMOTO" address 200.200.200.200 Main outgoing-interface "ethernet0/0" preshare shared_secret_muito_complexo! proposal "pre-g2-3des-sha-86400"

# Fase 2
set ike p2-proposal "g2-esp-3des-md5-28800" group2 esp 3des md5 second 28800

set vpn "vpn_10.0.0.0/16" gateway "gw_IP_PEER_REMOTO" replay tunnel idletime 0 proposal "g2-esp-3des-md5-28800"
set vpn "vpn_10.0.0.0/16" id 0x1 bind interface tunnel.1
set vpn "vpn_10.0.0.0/16" proxy-id local-ip 172.30.0.0/16 remote-ip 10.0.0.0/16 "ANY"

set vpn "vpn_192.168.0.0/24" gateway "gw_IP_PEER_REMOTO" replay tunnel idletime 0 proposal "g2-esp-3des-md5-28800"
set vpn "vpn_192.168.0.0/24" id 0x2 bind interface tunnel.2
set vpn "vpn_192.168.0.0/24" proxy-id local-ip 172.30.0.0/16 remote-ip 192.168.0.0/24 "ANY"

# Definição de rotas e policy
set route 10.0.0.0/16 interface tun.1
set route 192.168.0.0/24 interface tun.2

set address "Trust" "172.30.0.0/16" 172.30.0.0/16
set address "Untrust" "10.0.0.0/16" 10.0.0.0/16
set address "Untrust" "192.168.0.0/24" 192.168.0.0/24

# Note que a policy não precisa estar com os mesmos objetos que o proxy-id, ou seja, na policy você pode realizar o controle de acesso e liberar somente alguns serviços, mesmo que a VPN esteja fechando com a permissão de trafegar ANY por ela.

set policy id 40 from "Trust" to "Untrust" "172.30.0.0/16" "10.0.0.0/16" "ANY" permit log
set policy id 40
set dst-address "192.168.0.0/24"
exit

set policy id 41 from "Untrust" to "Trust" "10.0.0.0/16" "172.30.00.0/16" "ANY" permit log
set policy id 41
set src-address "192.168.0.0/24"
exit

# Comandos para diagnóstico
# Verificação de Fase 1
get ike cookie

# Verificação de Fase 2
get sa

Referências
Juniper Forum
Configuring or Troubleshooting a Juniper Firewall VPN – NetScreen devices

Anúncios

Deixe um comentário »

Nenhum comentário ainda.

RSS feed for comments on this post. TrackBack URI

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Blog no WordPress.com.

%d blogueiros gostam disto: