Site-to-Site IPsec VPN конфигурация с CLI

от БАРЗИКТ Wiki
Направо към: навигация, търсене

[[Category::Cisco]] Примерна топология: IPSec Site to Site Topology.png

Етапи

Конфигурирането на Site-to-Site IPSec VPN на устройства на Cisco с CLI се състои от следните етапи:

  1. Проверка за съвместимост на филтрирането на трафика (ACL) с необходимите протоколи за IPSec.
  2. Конфигуриране на ISAKMP (IKE) политика.
  3. Конфигуриране на т.нар. "transform set".
  4. Дефиниране на ALC (crypto ACL), описваща кой трафик да преминава през тунела.
  5. Поставяне на "crypto map", обобщаващ параметрите на тунела на съответен интерфейс.

Първоначална конфигурация на устройствата от топологията

Маршрутизатор R1

Router>
Router>enable
Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#hostname R1
R1(config)#interface fa0/0
R1(config-if)#ip address 11.0.0.1 255.255.0.0
R1(config-if)#no shutdown
R1(config-if)#int s0/0/0
R1(config-if)#ip address 81.0.0.1 255.0.0.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#router eigrp 101
R1(config-router)#network 81.0.0.0
R1(config-router)#network 11.0.0.0
R1(config-router)#no auto-summary
R1(config-router)#end
R1#

Маршрутизатор R2

Router>
Router>enable
Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#hostname R2
R2(config)#interface s0/0/0
R2(config-if)#ip address 81.0.0.2 255.0.0.0
R2(config-if)#clock rate 4000000
R2(config-if)#no shutdown
R2(config-if)#interface s0/0/1
R2(config-if)#ip address 194.141.69.2 255.255.255.0
R2(config-if)#clock rate 4000000
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#router eigrp 101
R2(config-router)#network 81.0.0.0
R2(config-router)#network 194.141.69.0
R2(config-router)#no auto-summary
R2(config-router)#end
R2#

Маршрутизатор R3

Router>
Router>enable
Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#hostname R3
R3(config)#interface fa0/0
R3(config-if)#ip address 12.0.0.1 255.255.0.0
R3(config-if)#no shutdown
R3(config-if)#int s0/0/0
R3(config-if)#ip address 194.141.69.1 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#router eigrp 101
R3(config-router)#network 194.141.69.0
R3(config-router)#network 12.0.0.0
R3(config-router)#no auto-summary
R3(config-router)#end
R3#

Етап 1 - Проверка за филтриране на трафика

Препоръчително е да се провери дали между двете мрежи, които трябва да комуникират през IPSec VPN не са филтрирани AH, ESP и UDP порт 500.

Примерни ACE, разрешаващи необходимия трафик са:

access-list 101 permit ahp host 81.0.0.1 host 194.141.69.2
access-list 101 permit esp host 81.0.0.1 host 194.141.69.2
access-list 101 permit udp host 81.0.0.1 host 194.141.69.2 eq isakmp 

Етап 2 - Конфигуриране на ISAKMP политика

За да се опише ISAKMP политиката се използват следните команди:

  • crypto isakmp policy # - създава политика със зададения номер
  • authentication - дефинира метода за автенитфикация
  • encryption - посочва криптографски алгоритъм за криптиране (шифриране)
  • group - посочва група DH функции
  • hash - задава криптографска хеш функция
  • lifetime - посочва времето на живот на политиката в секунди, след което трябва параметрите да се предоговорят
  • crypto isakmp key парола address IP адрес - при автентификация със споделени пароли (preshared keys) командата посочва за отдалечената система (peer) съответна парола

Етап 3 - Дефиниране на Transform set

Дефинирането на "transform set" се извършва с командата crypto ipsec transform-set име трансформации, например:

crypto ipsec transform-set TESTVPN esp-aes 256 esp-sha-hmac 

В примера "transform set" има име TESTVPN, криптирането на трафика ще бъде с алгоритъм AES256, а HMAC се базира на SHA.

Етап 4 - Създаване на ACL за трафика през тунела

Crypto ACL се използва за да филтрира трафика, който преминава през тунела. Разрешените пакети се криптират, а останалите преминават в чест оригинален вид през изходящия интерфейс. За примерната топология crypto ACL могат да бъдат:

  • Маршрутизатор R1
access-list 102 permit ip 11.0.0.0 0.255.255.255 12.0.0.0 0.255.255.255
  • Маршрутизатор R3
access-list 102 permit ip 12.0.0.0 0.255.255.255 11.0.0.0 0.255.255.255

Етап 5 - Обединяване на настройките "crypto map"

Обединяването на настройките за тунела и поставянето им на определен интерфейс е чрез т.нар. "crypto map".

  • crypto map име приоритет протокол - командата създава "crypto map" с посоченото име, приоритет и протокол.
  • match address ACL - определя, коя ACL ще се използва за определяне кои пакети да преминават през тунела и кои не.
  • set peer IP адрес - IP адрес на отдалечената система.
  • set pfs - конфигуриране на Perfect Forward Secrecy.
  • set transform-set име - име на "transform set".
  • set security-association lifetime - интервал на валидност на SA.

Поставянето на "crypto map" на определен интерфейс е чрез командата crypto map.

Примерна конфигурация за "crypto map" на маршрутизатор R3 е:

R3#
R3#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config)#crypto map MAPR1 1 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
        and a valid access list have been configured.
R3(config-crypto-map)#match address 102
R3(config-crypto-map)#set peer 194.141.69.1
R3(config-crypto-map)#set pfs group5
R3(config-crypto-map)#set transform-set TESTVPN
ERROR: transform set with tag TESTVPN does not exist.
R3(config-crypto-map)#set security-association lifetime seconds 86400
R3(config-crypto-map)#exit
R3(config)#int s0/0/0
R3(config-if)#crypto map MAPR1
*Jan  3 07:16:26.785: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
R3(config-if)#end
R3#

Примерна конфигурация

Маршрутизатор R1

enable configure terminal hostname R1 interface fa0/0 ip address 11.0.0.1 255.255.0.0 no shutdown int s0/0/0 ip address 81.0.0.1 255.0.0.0 no shutdown exit router eigrp 101 network 81.0.0.0 network 11.0.0.0 no auto-summary

crypto isakmp policy 1 authentication pre-share encryption aes group 5 hash sha lifetime 86400 exit crypto isakmp key cisco12345 address 194.141.69.1

crypto ipsec transform-set TESTVPN esp-aes 256 esp-sha-hmac

access-list 102 permit ip 11.0.0.0 0.255.255.255 12.0.0.0 0.255.255.255

crypto map MAPR1 1 ipsec-isakmp match address 102 set peer 194.141.69.1 set pfs group5 set transform-set TESTVPN set security-association lifetime seconds 86400 exit int s0/0/0 crypto map MAPR1

end

Маршрутизатор R3

Router>enable
Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#hostname R3
R3(config)#interface fa0/0
R3(config-if)#ip address 12.0.0.1 255.255.0.0
R3(config-if)#no shutdown

R3(config-if)#int s0/0/0
R3(config-if)#ip address 194.141.69.1 255.255.255.0
R3(config-if)#no shutdown

R3(config-if)#exit
R3(config)#router eigrp 101
R3(config-router)#network 194.141.69.0
R3(config-router)#network 12.0.0.0
R3(config-router)#no auto-summary
R3(config-router)#
R3(config-router)#crypto isakmp policy 1
R3(config-isakmp)#authentication pre-share
R3(config-isakmp)#encryption aes
R3(config-isakmp)#group 5
R3(config-isakmp)#hash sha
R3(config-isakmp)#lifetime 86400
R3(config-isakmp)#exit
R3(config)#crypto isakmp key cisco12345 address 81.0.0.1
R3(config)#
R3(config)#crypto ipsec transform-set TESTVPN esp-aes 256 esp-sha-hmac 
R3(config)#
R3(config)#access-list 102 permit ip 12.0.0.0 0.255.255.255 11.0.0.0 0.255.255.255
R3(config)#
R3(config)#crypto map MAPR3 1 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
        and a valid access list have been configured.
R3(config-crypto-map)#match address 102
R3(config-crypto-map)#set peer 81.0.0.1
R3(config-crypto-map)#set pfs group5
R3(config-crypto-map)#set transform-set TESTVPN
R3(config-crypto-map)#set security-association lifetime seconds 86400
R3(config-crypto-map)#exit
R3(config)#int s0/0/0
R3(config-if)#crypto map MAPR3
*Jan  3 07:16:26.785: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
R3(config-if)#
R3(config-if)#end
R3#

Ctrl+C/Ctrl+V

Маршрутизатор R1

enable
configure terminal
hostname R1
interface fa0/0
ip address 11.0.0.1 255.255.0.0
no shutdown
int s0/0/0
ip address 81.0.0.1 255.0.0.0
no shutdown
exit
router eigrp 101
network 81.0.0.0
network 11.0.0.0
no auto-summary

crypto isakmp policy 1
authentication pre-share
encryption aes
group 5
hash sha
lifetime 86400
exit
crypto isakmp key cisco12345 address 194.141.69.1

crypto ipsec transform-set TESTVPN esp-aes 256 esp-sha-hmac 

access-list 102 permit ip 11.0.0.0 0.255.255.255 12.0.0.0 0.255.255.255

crypto map MAPR1 1 ipsec-isakmp
match address 102
set peer 194.141.69.1
set pfs group5
set transform-set TESTVPN
set security-association lifetime seconds 86400
exit
int s0/0/0
crypto map MAPR1

end

Маршрутизатор R2

enable
configure terminal
hostname R2
interface s0/0/0
ip address 81.0.0.2 255.0.0.0
clock rate 4000000
no shutdown
interface s0/0/1
ip address 194.141.69.2 255.255.255.0
clock rate 4000000
no shutdown
exit
router eigrp 101
network 81.0.0.0
network 194.141.69.0
no auto-summary
end

Маршрутизатор R3

enable
configure terminal
hostname R3
interface fa0/0
ip address 12.0.0.1 255.255.0.0
no shutdown
int s0/0/0
ip address 194.141.69.1 255.255.255.0
no shutdown
exit
router eigrp 101
network 194.141.69.0
network 12.0.0.0
no auto-summary

crypto isakmp policy 1
authentication pre-share
encryption aes
group 5
hash sha
lifetime 86400
exit
crypto isakmp key cisco12345 address 81.0.0.1

crypto ipsec transform-set TESTVPN esp-aes 256 esp-sha-hmac 

access-list 102 permit ip 12.0.0.0 0.255.255.255 11.0.0.0 0.255.255.255

crypto map MAPR3 1 ipsec-isakmp
match address 102
set peer 81.0.0.1
set pfs group5
set transform-set TESTVPN
set security-association lifetime seconds 86400
exit
int s0/0/0
crypto map MAPR3

end