Как попасть в IPVPN Билайн через IPSec. Часть 2

    Привет! Как и обещал, в этом посте я расскажу про комбинацию наших сервисов MultiSIM Резервирования и IPVPN через IPSec.



    Сами по себе сервисы по IPSec — это хорошо, сервис работает через кабельный интернет провайдера, но хотелось бы как-то зарезервировать включение или же предоставлять сервис там, где нет кабельного интернета, а есть только по LTE.

    В классическом варианте работы MultiSIM Резервирования при подаче сервисов IPVPN по двум мобильным сетям есть следующие проблемы:

    1. Для каждого клиента нужно создавать свой закрытый APN, настраивать в нем BGP или статическую маршрутизацию, сразу рассчитывать необходимое количество хостов для корректного плана ip-адресации.
    2. Сеть каждого оператора связи на устройстве также нужно настраивать отдельно, с учетом того, что у каждого из операторов есть свои особенности.
    3. Траблшутить такую архитектуру сложнее (намного).
    4. Метки трафика IPVPN на входе в сети LTE обнуляются, то есть, если у вас в сети на всех объектах маркируется трафик телефонии или видео — то при включении IPVPN с чистого LTE метки трафика будут выставляться в «ноль».

    С другой стороны, у нас есть IPSec, в котором все вопросы маршрутизации и клиентских настроек абстрагированы от транспорта, будь то проводной интернет-канал или LTE разных операторов, а ещё метки трафика можно сохранить внутри туннеля, хоть и без обеспечения SLA, так как интернет и особенно LTE/3G это довольно непредсказуемые среды для передачи данных.

    Поэтому у нас и появилась идея — «А почему бы не использовать IPsec еще и поверх LTE?». В роутеры ставить типовые SIM-карты с заранее созданными APN и уже через них строить IPSEC до нашего VPN HUB и выпускать клиента в его VRF. А если есть и проводной канал, то использовать в качестве основного транспорта проводное соединение, а при аварии на нем переключать трафик на LTE.

    Таким образом, схема сети стала выглядеть вот так:


    Кликабельно

    У клиента получается сразу до трёх WAN-каналов, которые будут выполнять роль «underlay» для трафика IPSec:

    1. Проводной канал доступа Интернет.
    2. Первая (Основная) LTE-сеть.
    3. Вторая (Резервная) LTE-сеть (если нужна).

    Теперь осталось выбрать и настроить роутер для такого варианта предоставления сервиса.

    Настраиваем роутер


    При выборе роутера нас заинтересовали две модели от Huawei — это AR161 и AR129. В них есть поддержка IPSec, LTE модем с поддержкой двух SIM-карт, 4 Ethernet порта LAN + 1 Ethernet WAN, а в модели AR129 еще и WiFi, то есть все, что нужно для работы нашей схемы, и даже немного больше.

    А вот с настройкам все оказалось намного сложнее.

    Еще во время настройки роутеров для Multisim Резервирования мы столкнулись с проблемой приоритетов между проводными WAN и двумя LTE-сетями для выбора наилучшего маршрута трафика.

    В Huawei AR161/129 для этого есть два инструмента:

    • Функциональность Network Quality Analysis(aka NQA-test).
      Проводит базовое тестирование icmp-запросами на указываемый хост для определения его доступности.
    • Функциональность Open Programmability System(OPS) + Python.
      Очень мощный инструмент, дает возможность сохранять информацию в логах и проводить «интеллектуальное» переключение, основываясь на статистике icmp, но и сложный для освоения.

    Для решения нашей задачи мы выбрали функциональность OPS+Python для включения только двух SIM LTE-включения, и смешанный режим для Интернет + двух SIM LTE-включения.

    Примерная конфигурация на роутерах получается такая:

    В случае только 2x Sim LTE-включения


    #Настройка динамического IP адреса на проводном WAN интерфейсе (получение по DHCP)
    interface GigabitEthernet0/0/4
    ip address dhcp-alloc
    
    #Настройка APN профилей, Cellular0/0/0 интерфейса
    apn profile [APN #1]
     apn [APN 1 NAME]
    apn profile [APN #2]
     apn [APN 2 NAME]
     sim-id 2
    
    #Настройка Cellular0/0/0 интерфейса
    interface Cellular0/0/0
    dialer enable-circular
     apn-profile [APN #1] priority 120
     apn-profile [APN #2]
     dialer timer autodial 60
     profile create lte-default [APN #1] sim-id 1 
     profile create lte-default [APN #2] sim-id 2
     ip address negotiate
    modem reboot
    
    #Настройка IPSec имени
    ipsec authentication sha2 compatible enable
    ike local-name [IPSEC_LOGIN]
    
    #Настройка параметров шифрования IPSec туннеля
    ipsec proposal ipsec
     esp authentication-algorithm sha2-256
     esp encryption-algorithm aes-256
    ike proposal 1
     encryption-algorithm aes-256
     dh group2
     authentication-algorithm sha2-256
     authentication-method pre-share
     integrity-algorithm hmac-sha2-256
     prf hmac-sha2-256  	                  
    
    #Настройка аутентификации IPSec туннеля
    ike peer ipsec_1
     pre-shared-key simple [IPSEC_PASSWORD]
     ike-proposal 1
     local-id-type fqdn
     remote-id-type ip
     dpd type periodic
     dpd idle-time 10
     dpd retransmit-interval 2
     remote-address 100.64.0.100
     route accept
     config-exchange request
     config-exchange set accept
     config-exchange set send
    ipsec profile ipsecprof_1
     ike-peer ipsec_1
     proposal ipsec 
    
    #Настройка IPSec -туннеля
    interface Tunnel0/0/0
    tunnel-protocol ipsec
     ip address [туннельный IP адрес на марш-ре Huawei]  255.255.255.252
    source Cellular0/0/0
    ipsec profile ipsecprof_1 
    
    #Настройка маршрутов
    ip route-static 0.0.0.0 0.0.0.0 Tunnel0/0/0
    ip route-static [VPN HUB INTERNAL ADDRESS] 255.255.0.0 Cellular0/0/0 

    В случае Интернет + 2x Sim LTE-включения


    #Настройка динамического IP адреса на проводном WAN интерфейсе (получение по DHCP)
    interface GigabitEthernet0/0/4
    ip address dhcp-alloc
    
    #Настройка APN профилей, Cellular0/0/0 интерфейса
    apn profile [APN #1]
     apn [APN 1 NAME]
    apn profile [APN #2]
     apn [APN 2 NAME]
     sim-id 2
    
    #Настройка Cellular0/0/0 интерфейса
    interface Cellular0/0/0
    dialer enable-circular
     apn-profile [APN #1] priority 120
     apn-profile [APN #2]
     dialer timer autodial 60
     profile create lte-default [APN #1] sim-id 1 
     profile create lte-default [APN #2] sim-id 2
     ip address negotiate
    modem reboot
    
    #Настройка IPSec имени
    ipsec authentication sha2 compatible enable
    ike local-name [IPSEC_LOGIN]
    
    #Настройка параметров шифрования IPSec туннеля
    ipsec proposal ipsec
     esp authentication-algorithm sha2-256
     esp encryption-algorithm aes-256
    ike proposal 1
     encryption-algorithm aes-256
     dh group2
     authentication-algorithm sha2-256
     authentication-method pre-share
     integrity-algorithm hmac-sha2-256
     prf hmac-sha2-256  	                  
    
    #Настройка аутентификации IPSec туннеля
    ike peer ipsec_1
     pre-shared-key simple [IPSEC_PASSWORD]
     ike-proposal 1
     local-id-type fqdn
     remote-id-type ip
     dpd type periodic
     dpd idle-time 10
     dpd retransmit-interval 2
     remote-address 81.211.80.50
     route accept
     config-exchange request
     config-exchange set accept
     config-exchange set send
    ipsec profile ipsecprof_1
     ike-peer ipsec_1
     proposal ipsec
     
    ike peer ipsec_2
     pre-shared-key simple [IPSEC_PASSWORD]
     ike-proposal 1
     local-id-type fqdn
     remote-id-type ip
     dpd type periodic
     dpd idle-time 10
     dpd retransmit-interval 2
     remote-address [VPN HUB INTERNAL ADDRESS]
     route accept
     config-exchange request
     config-exchange set accept
     config-exchange set send
    ipsec profile ipsecprof_2
     ike-peer ipsec_2
     proposal ipsec
    
    #Настройка IPSec-туннеля
    interface LoopBack32
     ip address [туннельный IP адрес на марш-ре Huawei]  255.255.255.252
     
    interface Tunnel0/0/0
    ip address unnumbered interface LoopBack32
    tunnel-protocol ipsec
     source GigabitEthernet0/0/1
     ipsec profile ipsecprof_1
    
    interface Tunnel0/0/1
    ip address unnumbered interface LoopBack32
    tunnel-protocol ipsec
     source Cellular0/0/0
     ipsec profile ipsecprof_2
    
    #Настройка статической маршрутизации (в направлении сети Билайн)
    nqa test-instance [username] inet
     test-type icmp
     destination-address ipv4 81.211.80.50
     source-interface GigabitEthernet0/0/4
     frequency 16
     probe-count 2
     start now
    
    #Настройка маршрутов
    ip route-static 81.211.80.50 255.255.255.255 GigabitEthernet 0/0/4 dhcp track nqa [username] inet
    ip route-static [VPN HUB INTERNAL ADDRESS] 255.255.255.255 NULL0 track nqa [username] inet
    ip route-static [VPN HUB INTERNAL ADDRESS] 255.255.0.0 Cellular0/0/0 preference 70
    ip route-static 80.240.216.155 255.255.255.255 GigabitEthernet 0/0/4 dhcp
    ip route-static 194.67.0.206 255.255.255.255 GigabitEthernet 0/0/4 dhcp


    Всё, настроенный роутер можно ставить клиенту.

    Планы


    Из планов по развитию этого решения:

    1. Сделать то же самое, но уже на роутерах от Cisco/Mikrotik.
    2. Перевести всю логику переключения только на OPS + Python

    В следующих статьях расскажем, как мы подружили сервисы Мультисим Резервирования с нашей Облачной АТС, сделали на тех же хуавеях режим L2-over-L3 с помощью x-connect, выложим скрипты переключения SIM-карт на Python и расскажем про USB-Deployment на роутерах.

    Благодарю моих коллег из RnD, особенно Дениса Зинченко (Dzinch) и Андрея Воронова в подготовке этих технических решений и помощи написании статьи!

    P.S.: Первая часть поста вот здесь.

    Comments 7

      +3
      Проводили ли замеры скорости IPsec на такой связке? aes-256 указан, но не указан какой.
        +3
        AES-CBC.
        Тесты по скорости и производительности в разных режимах(Wi-Fi 2,4/5Ghz, SIP PBX и т.д.) еще в процессе, результаты опубликуем в следующей статье.
        –3
        Вы для начала научитесь обрабатывать клиентские заявки вовремя, а не давать через сутки ответ «мы ее еще не смотрели». И держать инженеров в выходные… а не отмазываться что они будут только в понедельник и поэтому заявку в субботу никто не выполнит.
          0
          Если они собираются предоставлять данную услугу как сервис, то тех поддержка должна решать проблему клиента в любое время и в любой день.
          +2
          А почему не рассматривали Mikrotik RBSXTR&R11e-LTE?
            +1
            Mikrotik, как и Cisco в дальнейших планах. Если смотреть конкретно на эту модель от Mikrotik — то пока у нас сложилось противоречивое мнение для устройств в таком форм-факторе(«барабан»).
              +1
              Потому что одновременно работает только 1 SIM, вторая как failover.

            Only users with full accounts can post comments. Log in, please.