VMware NSX для найменших. Частина 6. Налаштування VPN

VMware NSX для найменших. Частина 6. Налаштування VPN

Частина перша. Вступна
Частина друга. Налаштування правил Firewall та NAT
Частина третя. Налаштування DHCP
Частина четверта. Налаштування маршрутизації
Частина п'ята. Налаштування балансувальника навантаження

Сьогодні ми подивимося на можливості налаштування VPN, які пропонує нам NSX Edge.

Загалом ми можемо розділити VPN-технології на два ключові види:

  • VPN типу «сайт-сайт». Найчастіше використовується IPSec для створення захищеного тунелю, наприклад, між мережею головного офісу та мережею на віддаленому майданчику або у хмарі.
  • Віддалений доступ VPN. Використовується для підключення окремих користувачів до приватних мереж організацій за допомогою програмного забезпечення VPN-клієнта.

NSX Edge дозволяє нам використовувати обидва варіанти.
Налаштування будемо проводити за допомогою тестового стенду з двома NSX Edge, Linux-сервера із встановленим демоном єнот та ноутбука з Windows для тестування Remote Access VPN.

IPsec

  1. В інтерфейсі vCloud Director переходимо до розділу Administration і виділяємо vDC. На вкладці Edge Gateways вибираємо потрібний нам Edge, клацаємо правою кнопкою та вибираємо Edge Gateway Services.
    VMware NSX для найменших. Частина 6. Налаштування VPN
  2. В інтерфейсі NSX Edge переходимо у вкладку VPN-IPsec VPN, далі - в розділ IPsec VPN Sites і тиснемо +, щоб додати новий майданчик.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  3. Заповнюємо необхідні поля:
    • включено – активує віддалений майданчик.
    • ПФС – гарантує, що кожен новий криптографічний ключ не пов'язаний із будь-яким попереднім ключем.
    • Local ID та Local Endpoint – зовнішня адреса NSX Edge.
    • Локальна підмережаs – локальні мережі, які використовуватимуть IPsec VPN.
    • Peer ID та Peer Endpoint – адреса віддаленого майданчика.
    • Peer Subnets – мережі, які використовуватимуть IPsec VPN на віддаленій стороні.
    • Алгоритм шифрування - Алгоритм шифрування тунелю.

    VMware NSX для найменших. Частина 6. Налаштування VPN

    • Authentication - Як ми будемо аутентифікувати бенкет. Можна використовувати Pre-Shared Key або сертифікат.
    • Попередньо спільний ключ – вказуємо ключ, який використовуватиметься для аутентифікації та має збігатися з обох сторін.
    • Група Діффі-Хеллмана - Алгоритм обміну ключами.

    Після заповнення необхідних полів натискаємо Keep.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  4. Готово.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  5. Після додавання майданчика переходимо на вкладку Activation Status та активуємо IPsec Service.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  6. Після того як налаштування будуть застосовані, переходимо у вкладку Statistics -> IPsec VPN і перевіряємо статус тунелю. Бачимо, що тунель підвівся.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  7. Перевіримо статус тунелю із консолі Edge gateway:
    • show service ipsec – перевірка стану сервісу.

      VMware NSX для найменших. Частина 6. Налаштування VPN

    • show service ipsec site – інформація про стан сайту та узгоджені параметри.

      VMware NSX для найменших. Частина 6. Налаштування VPN

    • show service ipsec sa – перевірка статусу Security Association (SA).

      VMware NSX для найменших. Частина 6. Налаштування VPN

  8. Перевірка зв'язності з віддаленим майданчиком:
    root@racoon:~# ifconfig eth0:1 | grep inet
            inet 10.255.255.1  netmask 255.255.255.0  broadcast 0.0.0.0
    
    root@racoon:~# ping -c1 -I 10.255.255.1 192.168.0.10 
    PING 192.168.0.10 (192.168.0.10) from 10.255.255.1 : 56(84) bytes of data.
    64 bytes from 192.168.0.10: icmp_seq=1 ttl=63 time=59.9 ms
    
    --- 192.168.0.10 ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 59.941/59.941/59.941/0.000 ms
    

    Конфігураційні файли та додаткові команди для діагностики віддаленого Linux-сервера:

    root@racoon:~# cat /etc/racoon/racoon.conf 
    
    log debug;
    path pre_shared_key "/etc/racoon/psk.txt";
    path certificate "/etc/racoon/certs";
    
    listen {
      isakmp 80.211.43.73 [500];
       strict_address;
    }
    
    remote 185.148.83.16 {
            exchange_mode main,aggressive;
            proposal {
                     encryption_algorithm aes256;
                     hash_algorithm sha1;
                     authentication_method pre_shared_key;
                     dh_group modp1536;
             }
             generate_policy on;
    }
     
    sainfo address 10.255.255.0/24 any address 192.168.0.0/24 any {
             encryption_algorithm aes256;
             authentication_algorithm hmac_sha1;
             compression_algorithm deflate;
    }
    
    ===
    
    root@racoon:~# cat /etc/racoon/psk.txt
    185.148.83.16 testkey
    
    ===
    
    root@racoon:~# cat /etc/ipsec-tools.conf 
    #!/usr/sbin/setkey -f
    
    flush;
    spdflush;
    
    spdadd 192.168.0.0/24 10.255.255.0/24 any -P in ipsec
          esp/tunnel/185.148.83.16-80.211.43.73/require;
    
    spdadd 10.255.255.0/24 192.168.0.0/24 any -P out ipsec
          esp/tunnel/80.211.43.73-185.148.83.16/require;
    
    ===
    
    
    root@racoon:~# racoonctl show-sa isakmp
    Destination            Cookies                           Created
    185.148.83.16.500      2088977aceb1b512:a4c470cb8f9d57e9 2019-05-22 13:46:13 
    
    ===
    
    root@racoon:~# racoonctl show-sa esp
    80.211.43.73 185.148.83.16 
            esp mode=tunnel spi=1646662778(0x6226147a) reqid=0(0x00000000)
            E: aes-cbc  00064df4 454d14bc 9444b428 00e2296e c7bb1e03 06937597 1e522ce0 641e704d
            A: hmac-sha1  aa9e7cd7 51653621 67b3b2e9 64818de5 df848792
            seq=0x00000000 replay=4 flags=0x00000000 state=mature 
            created: May 22 13:46:13 2019   current: May 22 14:07:43 2019
            diff: 1290(s)   hard: 3600(s)   soft: 2880(s)
            last: May 22 13:46:13 2019      hard: 0(s)      soft: 0(s)
            current: 72240(bytes)   hard: 0(bytes)  soft: 0(bytes)
            allocated: 860  hard: 0 soft: 0
            sadb_seq=1 pid=7739 refcnt=0
    185.148.83.16 80.211.43.73 
            esp mode=tunnel spi=88535449(0x0546f199) reqid=0(0x00000000)
            E: aes-cbc  c812505a 9c30515e 9edc8c4a b3393125 ade4c320 9bde04f0 94e7ba9d 28e61044
            A: hmac-sha1  cd9d6f6e 06dbcd6d da4d14f8 6d1a6239 38589878
            seq=0x00000000 replay=4 flags=0x00000000 state=mature 
            created: May 22 13:46:13 2019   current: May 22 14:07:43 2019
            diff: 1290(s)   hard: 3600(s)   soft: 2880(s)
            last: May 22 13:46:13 2019      hard: 0(s)      soft: 0(s)
            current: 72240(bytes)   hard: 0(bytes)  soft: 0(bytes)
            allocated: 860  hard: 0 soft: 0
            sadb_seq=0 pid=7739 refcnt=0

  9. Все готово, site-to-site IPsec VPN налаштований та працює.

    У цьому прикладі ми використовували PSK для автентифікації бенкету, але можливий також варіант з автентифікацією сертифікатів. Для цього потрібно перейти у вкладку Global Configuration, включити автентифікацію сертифікатів і вибрати сам сертифікат.

    Крім того, в налаштуваннях сайту необхідно буде змінити метод автентифікації.

    VMware NSX для найменших. Частина 6. Налаштування VPN

    VMware NSX для найменших. Частина 6. Налаштування VPN

    Зазначу, що кількість IPsec-тунелів залежить від розміру розгорнутого Edge Gateway (про це читайте у нашій першій статті).

    VMware NSX для найменших. Частина 6. Налаштування VPN

SSL VPN

SSL VPN-Plus – один із варіантів Remote Access VPN. Він дозволяє окремим віддаленим користувачам безпечно підключатися до приватних мереж за шлюзом NSX Edge. Зашифрований тунель у разі SSL VPN-plus встановлюється між клієнтом (Windows, Linux, Mac) та NSX Edge.

  1. Приступимо до налаштування. На панелі керування сервісами Edge Gateway переходимо у вкладку SSL VPN-Plus, потім до Server Settings. Вибираємо адресу та порт, на якому сервер слухатиме вхідні з'єднання, включаємо логування та вибираємо необхідні алгоритми шифрування.

    VMware NSX для найменших. Частина 6. Налаштування VPN

    Тут можна змінити сертифікат, який буде використовувати сервер.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  2. Після того як все готове, вмикаємо сервер і не забуваємо зберегти налаштування.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  3. Далі нам необхідно налаштувати пул адрес, які ми видаватимемо клієнтам при підключенні. Ця мережа відокремлена від будь-якої існуючої підмережі у вашому середовищі NSX, її не потрібно налаштовувати на інших пристроях у фізичних мережах, за винятком маршрутів, які на неї вказують.

    Переходимо у вкладку IP Pools і тиснемо +.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  4. Вибираємо адреси, маску підмережі та шлюз. Тут можна змінити налаштування для DNS і WINS серверів.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  5. Пул, що вийшов.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  6. Тепер додамо мережі, доступ до яких буде у користувачів, що підключаються до VPN. Перейдемо у вкладку Private Networks та натиснемо +.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  7. Заповнюємо:
    • Network — це локальна мережа, до якої буде доступ у віддалених користувачів.
    • Send traffic, має два варіанти:
      — over tunnel – надсилати трафік до мережі через тунель,
      - bypass tunnel - відправляти трафік до мережі безпосередньо в обхід тунелю.
    • Enable TCP Optimization – наголошуємо, якщо вибрали варіант over tunnel. Коли оптимізація увімкнена, можна вказати номери портів, для яких потрібно оптимізувати трафік. Трафік для портів цієї конкретної мережі, що залишилися, не буде оптимізований. Якщо номер портів не вказано, трафік для всіх портів оптимізується. Докладніше про цю функцію читайте тут.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  8. Далі переходимо на вкладку Authentication і тиснемо +. Для аутентифікації будемо використовувати локальний сервер на NSX Edge.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  9. Тут ми можемо вибрати політики для генерування нових паролів і налаштувати опції щодо блокування облікових записів користувача (наприклад, кількість повторних спроб при неправильному введенні пароля).

    VMware NSX для найменших. Частина 6. Налаштування VPN

    VMware NSX для найменших. Частина 6. Налаштування VPN

  10. Оскільки ми використовуємо локальну автентифікацію, потрібно створити користувачів.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  11. Крім базових речей на зразок імені та пароля, тут можна, наприклад, заборонити користувачеві змінювати пароль або, навпаки, змусити його змінити пароль під час наступного входу.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  12. Після того, як всі необхідні користувачі додані, перейдемо на вкладку Installation Packages, натиснемо + і створимо сам інсталятор, який завантажить для встановлення дистанційний співробітник.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  13. Натискаємо +. Вибираємо адресу і порт сервера, до якого буде підключатися клієнт, та платформи, для яких потрібно згенерувати інсталяційний пакет.

    VMware NSX для найменших. Частина 6. Налаштування VPN

    Нижче в цьому вікні можна вказати параметри клієнта для Windows. Вибираємо:

    • start client on logon – VPN-клієнт буде додано до автозавантаження на віддаленій машині;
    • create desktop icon – створить іконку VPN-клієнта на робочому столі;
    • server security certificate validation – валідуватиме сертифікат сервера при підключенні.
      Налаштування сервера завершено.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  14. Тепер скачаємо створений нами в останньому кроці інсталяційний пакет на віддалений ПК. При налаштуванні сервера ми вказували його зовнішню адресу (185.148.83.16) та порт (445). Саме на цю адресу нам необхідно перейти у веб-браузері. У моєму випадку це 185.148.83.16: 445.

    У вікні авторизації необхідно ввести облікові дані користувача, якого ми створили раніше.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  15. Після авторизації з'являється список створених інсталяційних пакетів, доступних для завантаження. Ми створили лише один – його та скачаємо.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  16. Клікаємо за посиланням, починається завантаження клієнта.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  17. Розпаковуємо завантажений архів і запускаємо інсталятор.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  18. Після встановлення запускаємо клієнт, у вікні авторизації натискаємо Login.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  19. У вікні перевірки сертифіката вибираємо Yes.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  20. Вводимо облікові дані для раніше створеного користувача та бачимо, що підключення завершено успішно.

    VMware NSX для найменших. Частина 6. Налаштування VPN

    VMware NSX для найменших. Частина 6. Налаштування VPN

  21. Перевіряємо статистику VPN-клієнта на локальному комп'ютері.

    VMware NSX для найменших. Частина 6. Налаштування VPN

    VMware NSX для найменших. Частина 6. Налаштування VPN

  22. У командному рядку Windows (ipconfig /all) бачимо, що з'явився додатковий віртуальний адаптер і зв'язок з віддаленою мережею є, все працює:

    VMware NSX для найменших. Частина 6. Налаштування VPN

    VMware NSX для найменших. Частина 6. Налаштування VPN

  23. І насамкінець – перевірка з консолі Edge Gateway.

    VMware NSX для найменших. Частина 6. Налаштування VPN

L2 VPN

L2VPN знадобиться у тому випадку, коли потрібно об'єднати дещо географічно
розподілених мереж в один broadcast-домен.

Це може бути корисним, наприклад, при міграції віртуальної машини: при переїзді ВМ на інший географічний майданчик машина збереже налаштування IP-адресації і не втратить зв'язок з іншими машинами, що знаходяться в одному домені L2 з нею.

У нашому тестовому середовищі з'єднаємо один з одним два майданчики, назвемо їх, відповідно, A і B. У нас є два NSX і два однаково створені мережі, що маршрутизуються, прив'язані до різних Edge. Машина A має адресу 10.10.10.250/24, машина B – 10.10.10.2/24.

  1. У vCloud Director переходимо на вкладку Administration, заходимо у потрібний нам VDC, переходимо на вкладку Org VDC Networks та додаємо дві нові мережі.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  2. Вибираємо тип мережі routed та прив'язуємо цю мережу до нашого NSX. Ставимо чекбокс Create as subinterface.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  3. У результаті ми маємо вийти дві мережі. У нашому прикладі вони називаються network-a та network-b з однаковими налаштуваннями gateway та однаковою маскою.

    VMware NSX для найменших. Частина 6. Налаштування VPN

    VMware NSX для найменших. Частина 6. Налаштування VPN

  4. Тепер перейдемо в налаштування першого NSX. Це буде NSX, до якого прив'язана мережа A. Він виступатиме як сервер.

    Повертаємося в інтерфейс NSx Edge/ Переходимо на вкладку VPN -> L2VPN. Включаємо L2VPN, вибираємо режим роботи Server, в налаштуваннях Server Global вказуємо зовнішню IP-адресу NSX, на якій слухатиметься порт для тунелю. За умовчанням сокет відкриється на 443 порту, але його можна поміняти. Не забуваймо вибрати налаштування шифрування для майбутнього тунелю.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  5. Переходимо у вкладку Server Sites і додаємо бенкет.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  6. Включаємо бенкет, задаємо ім'я, опис, якщо потрібно, задаємо ім'я користувача та пароль. Ці дані нам знадобляться пізніше при налаштуванні клієнтського сайту.

    В Egress Optimization Gateway Address задаємо адресу шлюзу. Це потрібно для того, щоб не відбувався конфлікт IP-адрес, адже шлюз у наших мереж має одну й ту саму адресу. Після чого натискаємо кнопку SELECT SUB-INTERFACES.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  7. Тут вибираємо необхідний сабінтерфейс. Зберігаємо налаштування.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  8. Бачимо, що у налаштуваннях з'явився щойно створений клієнтський сайт.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  9. Тепер перейдемо до настроювання NSX із боку клієнта.

    Заходимо на NSX сторони B, переходимо у VPN -> L2VPN, включаємо L2VPN, встановлюємо L2VPN mode в режим клієнта роботи. На вкладці Client Global задаємо адресу та порт NSX A, який ми вказували раніше як Listening IP та Port на серверній стороні. Також необхідно виставити однакові налаштування шифрування, щоб вони узгодилися під час підняття тунелю.

    VMware NSX для найменших. Частина 6. Налаштування VPN

    Промотуємо нижче, вибираємо сабінтерфейс, через який будуватиметься тунель для L2VPN.
    В Egress Optimization Gateway Address задаємо адресу шлюзу. Задаємо user-id та пароль. Вибираємо сабінтерфейс і не забуваємо зберегти налаштування.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  10. Власне, це все. Налаштування клієнтської та серверної сторони практично ідентичні, за винятком кількох нюансів.
  11. Тепер можемо подивитися, що наш тунель запрацював, перейшовши в Statistics -> L2VPN на будь-якому NSX.

    VMware NSX для найменших. Частина 6. Налаштування VPN

  12. Якщо зараз зайдемо в консоль будь-якого Edge Gateway, побачимо на кожному з них в arp-таблиці адреси обох VM.

    VMware NSX для найменших. Частина 6. Налаштування VPN

На цьому про VPN на NSX Edge у мене все. Запитуйте, якщо щось залишилося незрозумілим. Також це остання частина серії статей по роботі з NSX Edge. Сподіваємось, вони були корисні 🙂

Джерело: habr.com

Додати коментар або відгук