Как стать автором
Обновить

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

Время на прочтение5 мин
Количество просмотров5.6K
Привет! Как и обещал, в этом посте я расскажу про комбинацию наших сервисов 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.: Первая часть поста вот здесь.
Теги:
Хабы:
Всего голосов 13: ↑13 и ↓0+13
Комментарии7

Публикации

Информация

Сайт
moskva.beeline.ru
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия
Представитель
Bee_brightside

Истории