×
×

Налаштування IPSec VPN тунелю

Назад

Важливі моменти при налаштуванні VPN тунелю:

1) Обмін ключами у першій фазі тільки IKEv1 (IKEv2 не підтримується [not supported]);

2) DH & PFS groups by default = 14 (2048 bit)

3) Після підняття тунелю, трафік на маршрутизаторі Edge Gateway,

призначений мережі віддаленого офісу автоматично загортається в тунель.

Ніяких додаткових налаштувань для цього робити не потрібно.

4) Основні параметри для підключення:

IKE Phase 1 parameters:

- Exchange mode: main

- Encr.Algorithm: 

   AES (aes-128-cbc)

   AES256 (aes-256-cbc) [Preferred]

   AES-CGM (aes-128-cgm) [not supported]

   TripleDES [not supported]

- Auth.Algorithm: SHA-1

- MODP (DH) group 14 (2048 bits)

  Supported group 2 (1024 bit) and group 5 (1536 bit)

- pre-shared secret [Configurable]

- SA lifetime of 28800 seconds (8 hours)

- ISAKMP aggressive mode disabled

IKE Phase 2 parameters:

- Encr.Algorithm: 

   AES (aes-128-cbc)

   AES256 (aes-256-cbc) [Preferred]

   AES-CGM (aes-128-cgm) [not supported]

   TripleDES [not supported]

- Auth.Algorithm: SHA-1

- tunnel mode: ESP

- MODP (PFS) group 14 (2048 bits)

  Supported group 2 (1024 bit) and group 5 (1536 bit)

- Perfect forward secrecy for rekeying

- SA lifetime of 3600 seconds (1 hour) with no kbytes rekeying

- Selectors for all IP protocols, all ports, between the two networks, using IPv4 subnets

5) Якщо між кінцевими точками тунелю існує firewall, 

Потрібно дозволити в ньому наступні IP протоколи і UDP порти:

IP Protocol ID 50 (ESP)

IP Protocol ID 51 (AH)

UDP Port 500 (IKE)

UDP Port 4500

 

Основні аспекти побудова IPSec VPN зі шлюзом Vmware Edge Gateway:


Офіційна документація по налаштуванню IPSec VPN тунелю, а також доступні параметри шифрування можна дізнатися за посиланням.

Налаштування IPsec тунелю з боку Vmware cloud Director:

1) В панелі управління vCloud Director переходимо в розділ Administration, натискаємо мишкою на віртуальний дата-центр.

 


2) У вкладці Edge Gateway вибираємо потрібний vShield Edge. Натискаємо на нього правою кнопкою миші і вибираємо Edge Gateway Services.

 


3) У новому вікні переходимо у вкладку VPN і ставимо позначку в чекбоксі Enable VPN. Для створення нового тунелю натискаємо кнопку Add.


4) Щоб змінити зовнішній IP, який виділений для пулу за замовчуванням, на інший натискаємо на кнопку Configure Public IP.


5)

  • У вікні Add a Site-to-Site VPN configuration задаємо ім'я (Name) VPN і опис (Description), якщо потрібно.
  • В полі Establish VPN to вибираємо a remote network, оскільки VPN Gateway (другий vShield Edge, Ваший роутер) знаходиться в іншій локальній мережі.
  • В полі Local Networks вказуємо ту локальну мережу, яка буде брати участь в VPN-з'єднанні і яка підключається до Edge.
  • В полі Peer Networks вказуємо в форматі CIDR (наприклад, 10.10.10.0/24) мережу внутрішньої адресації, підключену до точки, до якої ми налаштовуємо VPN.
  • В полі Local Endpoint вибираємо зовнішню мережу (Інтернет), через яку ми будемо підключатися від нашої організації до іншої.
  • В полі Local ID вказуємо зовнішній IP-адресу нашого vShield Edge, який використовується для створення VPN-з'єднання.
  • В полі Peer ID вказуємо зовнішній IP-адреса віддаленого VPN Gateway (шлюзу).


  • В полі Peer IP задаємо зовнішній IP-адреса віддаленого VPN Gateway (шлюзу).
  • У списку Encryption protocol вибираємо протокол шифрування (AES-256, AES, 3 DES).
  • Ставимо галку в чекбоксі Show key. Копіюємо цей ключ: він знадобиться нам для налаштувань на приймаючій стороні VPN-тунелю.
  • В полі MTU при необхідності поміняйте дефолтний значення розміру пакета.


6) Натискаємо OK. Створений VPN-тунель з'явиться в Edge Gateway Services у вкладці VPN.


Після того як натискаємо ОК, необхідно ще раз натиснути ОК, щоб закрити вікно Configure
Services.
Коли зміни в налаштування Edge Gateway внесені, тунель піднімається.

Важливо:

  • Індикація стану тунелю в інтерфейсі Edge Gateway не відображає реальний статус з'єднання, що пов'язано з чинною проблемою в Vmware, тому статус відстежується тільки на клієнтській стороні.
  • pre-Shared key генерується web-інтерфейсом може копіюватися некоректно, тому слід створювати ключ самостійно для виключення неоднозначності;

 

Приклад налаштувань з апаратним клієнтом на прикладі Cisco 7206 і шифруванні AES256:


crypto isakmp policy 10
encr aes 256
authentication pre-share
group 14
lifetime 28800
crypto ipsec transform-set aes256-tunnel esp-aes 256 esp-sha-hmac
mode tunnel
crypto keyring giga-cloud
local-address
pre-shared-key address key
crypto isakmp profile giga-cloud
description giga-cloud ID
keyring giga-cloud
self-identity address
match identity address 255.255.255.255
crypto map giga-cloud isakmp-profile giga-cloud
ip access-list extended giga-cloud
permit ip any
ip access-list extended giga-cloud-in
permit ip any
crypto map giga-cloud 10 ipsec-isakmp
description giga-cloud
set peer default
set ip access-group giga-cloud-in in
set transform-set aes256-tunnel
set pfs group14
match address giga-cloud

Далі crypto map підключається до інтерфейсу і узгоджується роутинг відповідно специфіки майданчика.


Приклад файлу конфігурації для Cisco ISR 2881:

 
router2821#show running-config output
Building configuration...
Current configuration : 1263 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname router2821
!
boot-start-marker
boot-end-marker
!
! card type command needed for slot 0
! card type command needed for slot 1
enable password cisco
!
no aaa new-model
!
resource policy
!
ip subnet-zero
!
ip cef
no ip dhcp use vrf connected
!
!
no ip ips deny-action ips-interface
!
crypto isakmp policy 1
encr 3des
authentication pre-share
group 2
crypto isakmp key vshield address xxx.xxx.xxx.xxx
!
crypto ipsec transform-set myset esp-3des esp-sha-hmac
!
crypto map MYVPN 1 ipsec-isakmp
set peer yyy.yyy.yyy.yyy
set transform-set myset
set pfs group1
match address 101
!
interface GigabitEthernet0/0
ip address xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy
duplex auto
speed auto
crypto map MYVPN
!
interface GigabitEthernet0/1
ip address xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy
duplex auto
speed auto
!
ip classless
ip route xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy
!
ip http server
no ip http secure-server
!
access-list 101 permit ip xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy
!
control-plane
!
line con 0
line aux 0
line vty 0 4
password cisco
login
line vty 5 15
password cisco
login
!
scheduler allocate 20000 1000
!
end


Приклад налаштувань з програмою Strongswan:

etc/ipsec.conf
config setup
strictcrlpolicy=yes
conn cloud
keyingtries=%forever
authby=secret
keyexchange=ikev1
left=
leftsubnet=0.0.0.0/0
right=
rightsubnet=
compress=no
ike=aes256-sha-modp2048
esp=aes256-sha-modp2048
ikelifetime=8h
keylife=1h
type=tunnel
auto=start
etc/ipsec.secrets
: PSK ""

При даній конфігурації втрачається взаємодія зі шлюзом в хмарі (локальна адреса більш не "видно" віртуальним машинам), що не впливає на загальне відпрацювання функції роутера, з огляду на функціонування ARP. Однак, слід врахувати, що шлюз при цьому втрачає можливість участі в pmtu-discovery, тому помилки максимально допустимого розміру пакета слід врегулювати самостійно: коригування TCP mss, або зниження mtu для всіх віртуальних машин в хмарі. У разі організації VPN типу МЕРЕЖА-МЕРЕЖА з непересічними розмірностями, ця обставина не повинна виникати, але варто пам'ятати, що до сих пір зустрічаються конфігурації ОС, які не використовують pmtu.


Приклад налаштувань IPSec тунелю між Edge і Juniper SRX240:

interfaces {
    st0 {
        unit 0 {
            family inet {
                address ;
            }
        }
    }
}

routing-options {
    static {
        route next-hop st0.0;
    }

security {
    ike {
        proposal ike-phase1-proposal {
            authentication-method pre-shared-keys;
            dh-group group14;
            authentication-algorithm sha1;
            encryption-algorithm aes-128-cbc;
            lifetime-seconds 28800;
        }
        proposal ike-phase1-proposal2 {
            authentication-method pre-shared-keys;
            dh-group group14;
            authentication-algorithm sha1;
            encryption-algorithm aes-192-cbc;
            lifetime-seconds 28800;
        }
        policy ike-phase1-policy {
            mode main;
            proposals [ ike-phase1-proposal ike-phase1-proposal2 ];
            pre-shared-key ascii-text "";
        }
        gateway ike-gw {
            ike-policy ike-phase1-policy;
            address ;
            external-interface ;
        }
    }
    ipsec {
        proposal ipsec-phase2-proposal {
            protocol esp;
            authentication-algorithm hmac-sha1-96;
            encryption-algorithm aes-128-cbc;
            lifetime-seconds 3600;
        }
    proposal ipsec-phase2-proposal2 {
            protocol esp;
            authentication-algorithm hmac-sha1-96;
            encryption-algorithm aes-192-cbc;
            lifetime-seconds 3600;
        }
        policy vpn-policy1 {
            perfect-forward-secrecy {
                keys group14;
            }
            proposals [ ipsec-phase2-proposal ipsec-phase2-proposal2 ];
        }
        vpn ike-vpn {
            bind-interface st0.0;
            ike {
                gateway ike-gw;
                ipsec-policy vpn-policy1;
            }
            establish-tunnels immediately;
        }
    }

    # Also make sure IKE is run on the untrusted (outbound) interface
    zones {
        security-zone untrust {
            interfaces {
                ge-x/x/x.0 {
                    host-inbound-traffic {
                        system-services {
                            ping;
                            ike;
                        }
                    }
                }
            }
        }
    }

}


Приклад налаштувань IPSec тунелю між Edge і Mikrotik:


 /ip ipsec proposal add name=VPN_GigaCloud auth-algorithms=sha1 enc-algorithms=aes-256 lifetime=8h pfs-group=none


/ip ipsec policy add dst-address=192.168.0.0/24 proposal=VPN_GigaCloud sa-dst-address=185.168.128.57 sa-src-address=11.22.33.44 src-address=172.10.20.0/24 tunnel=yes protocol=255 action=encrypt level=require ipsec-protocols=esp priority=0


/ip ipsec peer add address=185.168.128.57/32 port=500 enc-algorithm=aes-256 lifetime=8h nat-traversal=yes secret=SecretKeyFromvCloudDirectorVpnIpSecConnect passive=no exchange-mode=main send-initial-contact=yes proposal-check=obey hash-algorithm=sha1 dh-group=modp1024 generate-policy=no dpd-interval=120 dpd-maximum-failures=5


/ip firewall filter
add chain=forward dst-address=192.168.0.0/24 src-address=172.10.20.0/24 action=accept
add chain=forward dst-address=172.10.20.0/24 src-address=192.168.0.0/24 action=accept


/ip firewall nat
add chain=srcnat dst-address=192.168.0.0/24 src-address=172.10.20.0/24 action=accept
add chain=srcnat dst-address=172.10.20.0/24 src-address=192.168.0.0/24 action=accept