К основному контенту

Пример по настройке и конфигурации IPsec-туннеля для безопасного соединения сетей

IPsec (Internet Protocol Security) используется для обеспечения безопасного обмена данными между сетями. В данной инструкции описывается настройка IPsec между двумя криптошлюзами: GW-Alpha (192.168.100.1) и GW-Beta (192.168.200.1). Все параметры вымышленные, но соответствуют типовым настройкам.

Команды, использованные в инструкции, относятся к конфигурации VyOS или EdgeRouter (Ubiquiti). Эти устройства используют синтаксис команд CLI, схожий с Juniper Junos, но ориентированный на программное обеспечение с открытым исходным кодом.

Ниже приведены примеры для Cisco, Mikrotik, Fortinet или pfSense,

1. Фазы работы IPsec

IPsec работает в два основных этапа:

Фаза 1 (IKE – Internet Key Exchange)

Фаза 1 предназначена для установления безопасного канала между двумя узлами. Она включает в себя:

  1. Аутентификацию сторон – используется либо предварительно разделенный ключ (PSK), либо цифровые сертификаты.

  2. Обмен ключами – осуществляется с использованием алгоритма Диффи-Хеллмана (DH), который позволяет установить общий секретный ключ.

  3. Выбор алгоритмов защиты – определяются параметры шифрования и хеширования.

  4. Создание защищенного канала – после успешного обмена ключами стороны устанавливают защищенный канал для дальнейшего взаимодействия.

Фаза 2 (ESP – Encapsulating Security Payload)

Фаза 2 отвечает за установление защищенного туннеля для передачи данных.

  1. Определение политик защиты – выбор алгоритмов шифрования и хеширования.

  2. Создание туннеля ESP – установление безопасного соединения между сетями.

  3. Обмен данными – трафик передается через защищенный канал, шифруется и проверяется на целостность.

2. Исходные данные

ПараметрGW-Alpha (Локальная сторона)GW-Beta (Удаленная сторона)
IP криптошлюза192.168.100.1192.168.200.1
Локальная сеть10.10.10.0/2410.20.20.0/24
Алгоритм шифрования (IKE)AES-256AES-256
Алгоритм хеширования (IKE)SHA-256SHA-256
Протокол обмена ключамиIKEv2IKEv2
Способ аутентификацииPSK (предварительно разделенный ключ)
Алгоритм шифрования (ESP)AES-256AES-256
Алгоритм хеширования (ESP)SHA-256SHA-256
Группы DHGroup 14Group 14
Время жизни SA (секунды)36003600

3. Настройка IPsec на GW-Alpha

  1. Настроить политику IKE (фаза 1):

    set vpn ipsec ike-group IKE-GROUP proposal 1 encryption aes256
    set vpn ipsec ike-group IKE-GROUP proposal 1 hash sha256
    set vpn ipsec ike-group IKE-GROUP dh-group 14
    set vpn ipsec ike-group IKE-GROUP lifetime 3600
  2. Настроить политику ESP (фаза 2):

    set vpn ipsec esp-group ESP-GROUP proposal 1 encryption aes256
    set vpn ipsec esp-group ESP-GROUP proposal 1 hash sha256
    set vpn ipsec esp-group ESP-GROUP pfs disable
    set vpn ipsec esp-group ESP-GROUP lifetime 3600
  3. Настроить туннель IPsec:

    set vpn ipsec site-to-site peer 192.168.200.1 authentication mode pre-shared-secret
    set vpn ipsec site-to-site peer 192.168.200.1 authentication pre-shared-secret "SuperSecretKey"
    set vpn ipsec site-to-site peer 192.168.200.1 ike-group IKE-GROUP
    set vpn ipsec site-to-site peer 192.168.200.1 local-address 192.168.100.1
    set vpn ipsec site-to-site peer 192.168.200.1 tunnel 1 esp-group ESP-GROUP
    set vpn ipsec site-to-site peer 192.168.200.1 tunnel 1 local prefix 10.10.10.0/24
    set vpn ipsec site-to-site peer 192.168.200.1 tunnel 1 remote prefix 10.20.20.0/24
  4. Сохранить и применить настройки:

    commit
    save

4. Примеры настройки IPsec для Windows и Linux

4.1. Настройка IPsec на Windows

  1. Открыть Сетевые подключенияСвойства VPN.

  2. В разделе Безопасность выбрать IPsec.

  3. Выбрать ДополнительноИспользовать предварительно разделенный ключ.

  4. Ввести ключ: SuperSecretKey.

  5. Выбрать Протокол IKEv2.

  6. Сохранить настройки и подключиться к VPN.

4.2. Настройка IPsec на Linux

Для Linux можно использовать strongSwan:

sudo apt install strongswan

Редактируем конфигурацию /etc/ipsec.conf:

config setup
    charondebug="ike 2, net 2"
    uniqueids=no

conn myvpn
    keyexchange=ikev2
    ike=aes256-sha256-modp2048
    esp=aes256-sha256
    left=192.168.100.1
    leftsubnet=10.10.10.0/24
    right=192.168.200.1
    rightsubnet=10.20.20.0/24
    authby=secret
    auto=start

Добавляем ключ в /etc/ipsec.secrets:

192.168.100.1 192.168.200.1 : PSK "SuperSecretKey"

Перезапускаем службу:

sudo systemctl restart strongswan
sudo ipsec status

5. Проверка работоспособности

После настройки IPsec можно проверить его статус следующими командами:

show vpn ipsec sa
show vpn ipsec ike sa

Если туннель работает, должны отображаться активные соединения. В случае проблем можно проверить журналы:

sudo tail -f /var/log/syslog | grep ipsec

6. Настройка IPsec для других вендоров 

6.1. Cisco (IOS)

crypto isakmp policy 10
 encryption aes 256
 hash sha256
 authentication pre-share
 group 14
 lifetime 3600
!
crypto isakmp key SuperSecretKey address 192.168.200.1
!
crypto ipsec transform-set TS esp-aes 256 esp-sha256-hmac
!
crypto map VPN-MAP 10 ipsec-isakmp
 set peer 192.168.200.1
 set transform-set TS
 match address 101
!
interface GigabitEthernet0/0
 crypto map VPN-MAP
!
access-list 101 permit ip 10.10.10.0 0.0.0.255 10.20.20.0 0.0.0.255

6.2. Mikrotik (RouterOS)

/ip ipsec peer add address=192.168.200.1 auth-method=pre-shared-key secret=SuperSecretKey exchange-mode=ike2 \
    enc-algorithm=aes-256 hash-algorithm=sha256 dh-group=modp2048 lifetime=1h
/ip ipsec policy add src-address=10.10.10.0/24 dst-address=10.20.20.0/24 protocol=all action=encrypt \
    level=unique sa-src-address=192.168.100.1 sa-dst-address=192.168.200.1 proposal=default

6.3. Fortinet (FortiGate)

config vpn ipsec phase1-interface
    edit "VPN-TO-GW-BETA"
        set interface "wan1"
        set peertype any
        set proposal aes256-sha256
        set dhgrp 14
        set remote-gw 192.168.200.1
        set psksecret "SuperSecretKey"
    next
end

config vpn ipsec phase2-interface
    edit "VPN-TO-GW-BETA-P2"
        set phase1name "VPN-TO-GW-BETA"
        set proposal aes256-sha256
        set dst-subnet 10.20.20.0 255.255.255.0
    next
end

6.4. pfSense

  1. Перейти в VPNIPsec.

  2. Добавить новую запись Phase 1:

    • Remote Gateway: 192.168.200.1

    • Authentication: Pre-Shared Key (SuperSecretKey)

    • Encryption: AES-256

    • Hash Algorithm: SHA-256

    • DH Group: 14

  3. Добавить Phase 2:

    • Local Network: 10.10.10.0/24

    • Remote Network: 10.20.20.0/24

    • Encryption Algorithm: AES-256

    • Hash Algorithm: SHA-256

  4. Сохранить и применить изменения.

7. Проверка работоспособности

Для каждого вендора используются разные команды:

Cisco:

show crypto ipsec sa
show crypto isakmp sa

Mikrotik:

/ip ipsec active-peers print
/ip ipsec installed-sa print

Fortinet:

diagnose vpn tunnel list

pfSense:

  • Перейти в Status → IPsec


Эта инструкция описывает настройку IPsec между двумя узлами с использованием предварительно разделенного ключа (PSK). При необходимости можно использовать аутентификацию по сертификатам. Правильная настройка IPsec обеспечивает безопасное соединение между удаленными сетями.

Комментарии