Konfiguracja połączenia VPN między dwoma ruterami Cisco c7200 algorytmem PSK wirtualnej sieci prywatnej opartej na protokole IPsec
Autor: Paweł Jaroszewicz, publikacja: 2013-01-22
Artykuł poświęcony zostanie tematyce związanej z bezpiecznym przesyłaniem danych wewnątrz firmy oraz z innych lokalizacji. Mobilność współcześnie jest ważnym czynnikiem warunkującym rozwój firm. Opisane rozwiązanie znacznie wpływa na możliwości komunikacji oraz jej jakość i bezpieczeństwo.
W celu tworzenia szyfrowanej wirtualnej sieci prywatnej należy wykonać następujące kroki:
- Uwierzytelnienie obu stron komunikacji wobec siebie za pomocą jednej z poniższych metod:
- Hasło znane obu stronom (shared secret) – użyte w konfiguracji,
- Podpisy RSA (ręcznie wymieniamy klucze publiczne)
- Certyfikaty X.509 (najbardziej uniwersalna),
- Nawiązanie bezpiecznego kanału dla potrzeb IKE nazywanego ISAKMP SA (Security Associacion),
- Bezpieczne uzgodnienie kluczy kryptograficznych oraz parametrów tuneli IPsec,
- Ewentualna ich renegocjacja, co określony czas.
Konfiguracja Ruterów R1 i R2 na rysunku nr 1 wygląda następująco:
- W ruterze R1:
- R1>enable
- R1#configure terminal
- Enter configuration commands, one per line. End with CNTL/Z
- R1(config)#crypto isakmp policy 1
R1(config-isakmp)#hash md5 - R1(config-isakmp)#authentication pre-share
R1(config-isakmp)#exit - R1(config)#crypto isakmp key zaq12wsx address 192.168.1.20
- R1(config)#crypto ipsec transform-set transform esp-des esp-md5-hmac
- R1(cfg-crypto-trans)#exit
- R1(config)#crypto map mapa 1 ipsec-isakmp
- % NOTE: This new crypto map will remain disabled until a peer
and a valid access list have been configured. - R1(config-crypto-map)#set peer 192.168.1.20
- R1(config-crypto-map)#set transform-set transform
- R1(config-crypto-map)#match address 100
- R1(config-crypto-map)#exit
- R1(config)#access-list 100 permit ip 10.1.0.0 0.0.255.255 10.2.0.0 0.0.255.255
- R1(config)#interface f2/0
- R1(config-if)#crypto map mapa
- R1(config-if)#
- *Jun 12 16:47:33.719: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
- R1(config-if)#exit
- W ruterze R2:
- R2>enabl
- R2#configure terminal
- Enter configuration commands, one per line. End with CNTL/Z
- R2(config)#crypto isakmp policy 1
- R2(config-isakmp)#hash md5
- R2(config-isakmp)#authentication pre-share
- R2(config-isakmp)#exit
- R2(config)#crypto isakmp key zaq12wsx address 192.168.1.10
- R2(config)#crypto ipsec transform-set transform esp-des esp-md5-hmac
- R2(cfg-crypto-trans)#exit
R2(config)#crypto map mapa 1 ipsec-isakmp - % NOTE: This new crypto map will remain disabled until a peer
and a valid access list have been configured. - R2(config-crypto-map)#set peer 192.168.1.10
- R2(config-crypto-map)#set transform-set transform
- R2(config-crypto-map)#match address 100
- R2(config-crypto-map)#exit
- R2(config)#access-list 100 permit ip 10.2.0.0 0.0.255.255 10.1.0.0 0.0.255.255
- R2(config)#interface f2/0
R2(config-if)#crypto map mapa - R2(config-if)#
- *Jun 12 16:47:33.719: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
- R2(config-if)#exit
W konfiguracji acces-list 100 były podawane adresy IP sieci, które będą się łączyć przez tunel stworzony za pomocą R1 i R2. Dla hostów ustawiono więc odpowiednio adresy:
- C1: 10.1.0.11 z maską 255.255.0.0 i bramą 10.1.0.10, adresu interfejsu FastEthernet R1, do którego był podłączony C1.
- C2: 10.2.0.21 z maską 255.255.0.0 i bramą 10.2.0.20, adresu interfejsu FastEthernet R2, do którego był podłączony C2.
Tak skonfigurowane urządzenia i komputery nawiązują łączność tworząc wirtualną sieć prywatną:
R1#show crypto isakmp sa
dst src state conn-id slot
192.168.1.20 192.168.1.10 QM_IDLE 1 0
Zestawiona powyżej sieć może być odpowiednio filtrowana, można nadawać priorytety za pomocą access list. Stosując np. polecenie na obu ruterach:
access-list 100 deny tcp any any eq ftp
access-list 100 deny tcp any eq ftp-data any
ccess-list 100 permit tcp 10.1.0.0 0.0.255.255 10.2.0.0 0.0.255.255
apriority-list 10 protocol ip high udp 53
Dzięki takiemu ustaleniu priorytetu przesyłanie danych protokołu UDP ma w sieci najwyższy priorytet i dane są przesyłane w pierwszej kolejności. Przekłada się to na wydajność sieci. Przesyłane dane, które nie zawierają się w liście priorytetu są kolejkowane dopóki najwyższy priorytet przesyła dane co może być również szkodliwe dla sieci. Pakiety, które mają niższy priorytet są kolejkowane i dopóki przesyłane są dane o najwyższym priorytecie pozostałe czekają.
Sposobów priorytetyzowania jest wiele m.in. CQ, czyli Custom Queueing i CBWFQ, czyli Class-Based WFQ (najbardziej wydajny, jednak potrzebuje znacznie większej mocy obliczeniowej).
Opracowano:
Paweł Jaroszewicz
Support Online Sp. z o.o.