miercuri, 12 decembrie 2012

Static Virtual Tunnel Interface with IPsec and centralized Internet access


De  multe ori incerc sa le spun oamenilor sa accepte si alte metode de configurare a tunelelor IPSec decat metoda clasica (totodata si invechita), cel putin pe routerele Cisco. Iata si problema:

calculatoarele din reteaua 192.168.1/24 trebuie sa comunice cu cele din reteaua 192.168.2/24, dar totodata trebuie sa aibe acces la Internet tot prin routerul de la HQ ( cel in care se conecteaza LAN-ul 192.168.2/24 ) pentru administrarea facila a politicilor de acces (filtrari de pachete, de porturi TCP/UDP etc). Daca routerul de la sediul central se configureaza prin metoda clasica apar problemele, anume pachetele din LAN 192.168.1/24 ajung, dupa ce sunt decapsulate din tunelul IPSec, pe o interfata de tip 'nat outside' in loc de una 'nat inside'. Rezolvarea devine simpla daca in loc de IPSec crypto-map se configureaza un tunel pe care il definim ca 'nat inside'

Am presupus ca routerul Branch nu este in administrarea aceluiasi admin ca cel de la sediul central, de ex. poate fi administrat de un ISP si din diverse motive configuratia este facuta in mod clasic



Configuratia IPSec de pe routerul HQ

interface <intf_wan>
 ip address <ip_public> <sm>
 ip nat outside

interface <intf_lan>
 ip address 192.168.2.1 255.255.255.0
 ip nat inside
 
crypto isakmp key <ceva_strong> address <ip_public_router_Branch>
crypto isakmp policy <index>
 authentication pre-share
  
crypto ipsec transform-set <id_set> esp-aes esp-sha-hmac
crypto ipsec profile <id_profile>
 set transform-set <id_set>

interface Tunnel <index>
 ip unnumbered  <intf_wan>
 tunnel source <intf_wan>
 tunnel destination <ip_public_router_Branch>
 tunnel mode ipsec ipv4
 tunnel protection ipsec profile <id_profile>
 ip nat inside

ip route 192.168.1.0 255.255.255.0 Tunnel <index> name <lan_Branch>
ip route 0.0.0.0 0.0.0.0 <intf_wan> name <toInet>

ip access-list extended NAT
 deny ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
 permit ip 192.168.1.0 0.0.0.255 any
 permit ip 192.168.2.0 0.0.0.255 any
 
ip nat inside source list NAT interface <intf_wan> overload

show crypto isakmp sa
show crypto ipsec sa

Obs: Comanda 'ip unnumbered  ...' se foloseste pentru ca interfata sa imprumute adresa IP a interfetei introdusa ca parametru al comenzii, efectul consta in aparitia in tabela de rutare a unei interfete fara ca aceasta sa aibe adresa IP proprie. In contextul nostru, routerul de la Branch are alt admin si acesta nu configureaza tunele, prin urmare nu poti agrea o adresa IP dedicata pentru tunel.

Configuratia IPSec de pe routerul Branch

interface <intf_wan>
 ip address <ip_public> <sm>
 crypto map <ipsec_map>
 
interface <intf_lan>
 ip address 192.168.1.1 255.255.255.0 

crypto isakmp key <ceva_strong> address <ip_public_router_HQ>
crypto isakmp policy <index>
 authentication pre-share

crypto ipsec transform-set <id_set> esp-aes esp-sha-hmac

ip access-list extended <ipsec_acl>
 permit ip  192.168.1.0 0.0.0.255 any

crypto map <ipsec_map> <index> ipsec-isakmp
 set peer <ip_public_router_HQ>
 set transform-set <id_set>
 match address <ipsec_acl>

ip route 0.0.0.0 0.0.0.0 <intf_wan> name <toInet>

show crypto isakmp sa
show crypto ipsec sa

Niciun comentariu:

Trimiteți un comentariu