Site-to-Site IPSEC VPN mellem Cisco Routers

Vi har to typer af IPSEC VPN:
Lan-to-Lan (eller site-to-site) krypteret VPN og Remote Access VPN. Den første benyttes flittigt til at forbinde sikkert fjerntliggende kontor netværk og den anden side for at tillade eksterne brugere / telearbejdere at få adgang til ressourcer på et centralt sted i netværk.
I dette indlæg vil jeg kort beskrive en Lan-to-Lan IPSEC VPN og levere en fuldstændig konfigurations eksempel med to Cisco IOS routere hvor jeg bruger IPSEC.

Med IPSEC VPN, kan virksomheder forbinde sammen fjernkontorer LAN over internettet med den stærke kryptering og sikkerhed, der tilbydes af IPSEC protokollen. IPSEC er en IETF sikkerhedsstandard. Det er dybest set en gruppe af flere protokoller, der tilbyder sikker kommunikation over usikre stier (paths). Det er derfor ideel til at forbinde sikkert, fjerne LAN-netværk igennem af det usikre internet. Vi kunne godt bruge et privat WAN netværk med Frame Relay (lidt ældre løsning) eller MPLS-forbindelser, hvilket dog ville bringe omkostningerne meget høje. I stedet for dem, med IPSEC VPN vi kan bruge billigere internetforbindelse (som vil blive sikret ved IPSEC) til kommunikation mellem vores fjerne steder og bringe endelige kobling omkostninger væsentlig ned.

IPsec VPN

Vi vil bruge eksemplet diagrammet ovenfor til vores konfiguration scenario. Generelt er der to faser for IPSEC VPN:

Fase 1:
I denne fase vil vi konfigurere en ISAKMP policy. Denne policy fastsætter en initial sikker kanal, som yderligere kommunikation vil følge. Den definerer, hvordan IPsec peers vil godkende hinanden, og hvilken sikkerhed protokoller vil blive anvendt.

Fase 2:
I denne fase vil vi konfigurere et crypto map og crypto transform sets. Generel fase 2 handler om trafikstyring af den faktiske datakommunikation mellem sites. Transform sets konfigureret her, definere, hvilken godkendelses-og krypteringsprotokoller vil blive brugt på datatrafikken.

For IPSEC site-to-site VPN-konfiguration, et vigtigt punkt at huske på er, NAT konfiguration. I de fleste rigtige net, er grænse router, der forbinder stedet til internettet, også anvendes til afslutning af IPSEC VPN-tunnel. Denne grænse router skal også udføre NAT for at give adgang til det private LAN IP-adresser på internettet. Men IPSEC kan ikke samarbejde med NAT. Derfor er vi nødt til at skabe en NAT undtagelsesregel for trafikken som går fra site1 til Site2 (og Vica versa) for at deaktivere NAT for den trafik, der kommer til at passere gennem IPSEC tunnel.

Lad os se de komplette konfigurationer for ROUTER-HQ og ROUTER-BRANCH nedenfor:

Konfiguration for Cisco ROUTER-HQ:

ROUTER-HQ#show run
Building configuration…
version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname ROUTER-HQ
!
boot-start-marker
boot-end-marker
!
!
!
ip audit po max-events 100
no ip domain lookup
no ftp-server write-enable
!
!— Angiver Internet Key Exchange (IKE) policy.
crypto isakmp policy 10
!— Angiv 256-bit AES som
! — Krypteringsalgoritme i en IKE policy.

encr aes 256
!— Angiv, at pre-shared key authentication bruges.
authentication pre-share
!— Angiv den shared secret.
crypto isakmp key testkey1234 address 200.0.0.1
!
!
!— Angiv IPSec transform set.
crypto ipsec transform-set aes-sha-transform esp-aes 256 esp-sha-hmac
!
!— Angiv crypto map entry navn “aesmap” som vil bruges
!— af IKE at fastlægge security associations (SA).
crypto map aesmap 10 ipsec-isakmp
!— Angiv remote IPSec peer.
set peer 200.0.0.1
!— Angiv, hvilke transforms sets
! — er tilladt for denne crypto map indgang (entry).

set transform-set aes-sha-transform
!— Navngiv access list, der afgør, hvilken trafik
!— Bør beskyttes ved IPSec.
match address acl_vpn
!
interface FastEthernet0/0
ip address 100.0.0.1 255.255.255.0
ip nat outside
!— Anvendelse af crypto map til yderside interface.
crypto map aesmap
!
interface FastEthernet0/1
ip address 192.168.1.254 255.255.255.0
ip nat inside
ip nat inside source list acl_nat interface FastEthernet0/0 overload
ip classless
ip route 0.0.0.0 0.0.0.0 100.0.0.2
no ip http server
no ip http secure-server
!
ip access-list extended acl_nat
!— Ekskluder at beskyttet trafik bliver NAT’ed.
deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
permit ip 192.168.1.0 0.0.0.255 any
!— Access list som angiver hvilken trafik er beskyttet med IPSec.
ip access-list extended acl_vpn
permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
!
!
line con 0
exec-timeout 0 0
line aux 0
line vty 0 4
!
end

Konfiguration for Cisco ROUTER-BRANCH:

ROUTER-BRANCH#show run
Building configuration…
version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname ROUTER-BRANCH
!
boot-start-marker
boot-end-marker
!
ip audit po max-events 100
no ip domain lookup
no ftp-server write-enable
!
!— Angiver Internet Key Exchange (IKE) policy.
crypto isakmp policy 10
!— Angiv 256-bit AES som
! — Krypteringsalgoritme i en IKE policy.
encr aes 256
!— Angiv, at pre-shared key authentication bruges.
authentication pre-share
!— Angiv den shared secret.
crypto isakmp key testkey1234 address 100.0.0.1
!
!
!— Angiv IPSec transform set.
crypto ipsec transform-set aes-sha-transform esp-aes 256 esp-sha-hmac
!
!— Angiv crypto map entry navn “aesmap” som vil bruges
!— af IKE at fastlægge security associations (SA).
crypto map aesmap 10 ipsec-isakmp
!— Angiv remote IPSec peer.
set peer 100.0.0.1
!— Angiv, hvilke transforms sets
! — er tilladt for denne crypto map indgang (entry).
set transform-set aes-sha-transform
!— Navngiv access list, der afgør, hvilken trafik
!— Bør beskyttes ved IPSec.
match address acl_vpn
!
interface FastEthernet0/0
ip address 200.0.0.1 255.255.255.0
ip nat outside
!— Anvendelse af crypto map til yderside interface.
crypto map aesmap
!
interface FastEthernet0/1
ip address 192.168.2.254 255.255.255.0
ip nat inside
ip nat inside source list acl_nat interface FastEthernet0/0 overload
ip classless
ip route 0.0.0.0 0.0.0.0 200.0.0.2
no ip http server
no ip http secure-server
!
ip access-list extended acl_nat
!— Ekskluder at beskyttet trafik bliver NAT’ed.
deny ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
permit ip 192.168.2.0 0.0.0.255 any
!— Access list som angiver hvilken trafik er beskyttet med IPSec
ip access-list extended acl_vpn
permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
!
!
line con 0
exec-timeout 0 0
line aux 0
line vty 0 4
!
end