Строим свой VPN. Часть вторая

Эта статья является неотъемлемой составляющей обширного информационного материала о построении VPN между двумя роутерами на примере оборудования MikroTik.

Первая часть была опубликована в соседней статье. Там была сформулирована задача построения VPN со всеми техническими подробностями.

Данная статья направлена на реализацию задачи обеспечения прямого соединения между устройствами двух разных физических сетей. Она не описывает способы обхода блокировок интернет-ресурсов, доступ к которым ограничен на территории Российской Федерации по разным причинам. Обсуждаемый способ построения VPN связан исключительно с упрощением доступа из одних сетей в другие. Наша компания не приветствует поиск кем-либо способов обхода блокировок.

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

  1. Есть организация: ООО «Ромашка».
  2. У организации есть домен в интернете: romashka.ru, и им, даже, кто-то управляет. Возможно, даже, на этом домене работает сайт (но к делу это не относится).
  3. Организация занимается оптово-розничной торговлей палочек для мороженого эскимо.
  4. У организации есть офис.
  5. У организации появился (но ещё не открылся) розничный магазин палочек для мороженого.
  6. У организации есть сервер, и на нём, даже, есть .
  7. И офис, и розничный магазин должны работать в одной базе .
  8. Адрес локальной сети для офиса мы выбрали такой: 10.1.1.0/24. У роутера в локальной сети будет IP 10.1.1.254
  9. Для магазина мы выбрали адрес локальной сети такой: 10.1.2.0/24, где IP роутера будет 10.1.2.254.
  10. Между двумя конечными точками через публичные IP-адреса устанавливается шифрованное соединение по протоколу IPSec.
  11. Внутри этого соединения — IPSec-туннеля — оба роутера имеют собственные статические IP-адреса (вообще любые, но в пределах одного адресного пространства).
  12. Поверх установленного IPSec-туннеля мы создадим другой — GRE-туннель, трафик внутри которого шифровать уже не будем, так как он у нас и без этого зашифрован внутри IPSec
  13. Трафик от локальной сети офиса в локальную сеть магазина и обратно будем направлять именно в GRE-туннель.
  14. Способ аутентификации устройств для установки IPSec-соединения выбираем по сертификатам.
  15. Сеть для IKEv2 IPSec-туннеля: 192.168.99.0/24
  16. Адрес сети GRE-туннеля между магазином и офисом 172.16.0.0/30
  17. Наши «лабораторные» роутеры физически находятся в одной локальной сети. Но оба считают её для себя Интернетом.
  18. «Лабораторный» роутер условного офиса у нас аппаратный MikroTik RB951G-2HnD, а для магазина — виртуальный Cloud Hosted Router так же от MikroTik.

Роутер условного офиса в контексте схему VPN мы будем называть сервером, а роутер условного магазина — клиентом.

На момент написания этой части статьи MikroTik выпустил long-term версию RuoterOS 7.21.4. До этой версии были обновлены оба роутера.

Настройка VPN-сервера

Настривать роутеры мы будем посредством Winbox от MikroTik. Но помимо этого будем приводить примеры указания параметров и командами, выполняемыми с помощью терминала.

Способы подключения к роутерам MikroTik с помощью командной строки выходят за рамки этой статьи, и автор не будет описывать как и с помощью чего можно выполнять такие подключения. Читатель либо знает об этом, либо не знает.

Первым делом создаем loopback-интерфейс роутера. Создается он в разделе Bridge.

/interface bridge
add name=ikev2-loopback-iface

Далее, этому интерфейсу мы должны назначить адрес. Мы установили, что адресом сети нашего IPSec-туннеля будет 192.168.99.0/24, в которой у VPN-сервера будет адрес 192.168.99.254. Но здесь же необходимо и не забыть о том, что между роутерами внутри IPSec-туннеля будет устанавливаться GRE-туннель, конечными адресами которого будет адрес VPN-сервера — 192.168.99.254, и адрес VPN-клиента — 192.168.99.1.

В связи с этим, следующим шагом у нас будет создание GRE-интерфейса.

У нас появился официальный канал в мессенджере Макс. Приглашаем всех желающих подписываться и читать.

Сайт принадлежит ООО Группа Ралтэк. 2014 — 2026 гг