В этой статье описывается процесс объединения двух офисов с помощью VPN протокола SSTP на базе двух роутеров MikroTik.
Схема сети
Будем реализовывать следующую схему:
В каждом офисе есть роутер MikroTik, дающий доступ в интернет.
- Первый роутер:
- внутренний IP — 192.168.0.1
- обслуживает локальную сеть 192.168.0.0/24
- внешний IP — 91.205.152.36
- Второй роутер:
- внутренний IP — 192.168.1.1
- обслуживает локальную сеть 192.168.1.0/24
- внешний IP — 93.203.117.48
Нам нужно соединить оба роутера MikroTik с помощью VPN соединения SSTP. Дополнительно нужно настроить маршрутизацию и фаервол, чтобы компьютеры из одного офиса могли достучаться до компьютеров в другом офисе.
Настройка первого роутера
Создание корневого сертификата
Так как протокол SSTP использует TLS сертификаты, то мы должны выпустить корневой сертификат, и с помощью него выпустить сертификат для SSTP сервера. Для этого перейдем в System / Certificate и создадим новый сертификат.
При создании корневого сертификата заполняем поля следующем образом:
Опишу заполняемые поля:
- Name — видимое имя сертификата.
- Common Name — имя субъекта, которому выдан сертификат. Например, если бы мы делали сертификат для домена, то здесь нужно было бы указать имя этого домена. В корневом сертификате можно указать любое имя, например имя сертификата (Name) или имя организации (Organization).
- Key Size — длина ключа.
- Days Valid — срок действия сертификата в днях.
Сохраним сертификат нажав кнопку Apply, и подпишем его нажав кнопку Sign. В открывшемся окне следует заполнить поле CA CRL Host, здесь можно указать внешний IP роутера, к которому будет подключаться другой роутер. Для подписания нажимаем кнопку Start.
Создание сертификата для SSTP
Теперь выпустим сертификат для SSTP сервера:
Главное здесь заполнить следующие поля:
- Common name — так как мы выпускаем сертификат для SSTP сервера, то нужно указать его IP адрес, то есть внешний адрес роутера.
- Subject Alt. Name — здесь тоже вписываем внешний адрес роутера.
Сохраним сертификат нажав кнопку Apply, и подпишем его нажав кнопку Sign. При подписании нужно указать корневой сертификат, созданный нами ранее:
В итоге получилось два сертификата:
Экспорт корневого сертификата
На второй роутер нужно будет установить корневой сертификат, поэтому экспортируем его. Для этого нажимаем на нём правой кнопкой мыши и выбираем Export:
В открывшемся окне, в поле Type ставим PKCS12 и придумываем пароль:
Найти и скачать выгруженный сертификат можно в разделе Files.
Создание сервера SSTP
Переходим в раздел PPP и для начала создадим новый профиль, это делается на вкладке Profiles. При создании нового профиля заполняем поля на вкладках:
- General — укажем имя профиля, локальный и удалённый адрес для VPN-соединения;
- Protocols — выбираем Use Encription;
- Limits — я указываю, что к серверу с таким профилем может подключиться только 1 клиент:
Теперь создаем секрет (логин и пароль для подключения). Для этого переходим на вкладку Secrets и создаём новый секрет. При создании секрета укажем имя, пароль, сервис и используемый профиль:
Теперь добавляем интерфейс сервера SSTP, для этого переходим на вкладку Interface. И добавляем SSTP Server Binding:
Заполняем поля (в поле User нужно указать имя придуманное в секрете):
Получился такой интерфейс сервера SSTP к которому можно подключаться:
Осталось настроить и включить SSTP Server, для этого нажимаем кнопку SSTP Server:
В открывшемся окне заполняем следующие поля:
Здесь нужно указать сертификат, подготовленный профиль, и включить сервер (Enable). Дополнительно я указал версию TLS — only-1.2.
Настройка фаервола
Если у вас фаервол настроен как нормально-закрытый, то есть, что не разрешено, то запрещено. То вам нужно разрешить входящее подключение к SSTP серверу, который работает на 443 порту. Для этого открываем IP / Firewall и создаём новое правило:
Заполняем следующие поля:
Здесь я разрешил входящий трафик (input) с внешнего адреса второго роутера (Src. Address) на внешний адрес этого роутера (Dst. Address). Дополнительно, проверяется протокол (Protocol) и порт подключения (Dst. Port) и входящий интерфейс (In. Interface).
Нажимаем OK и поднимаем это разрешающее правило выше ваших запрещающих правил.
Настройка второго роутера
Загрузка и импорт сертификата
Для начала загрузим на второй роутер корневой сертификат подготовленный на первом. Для этого открываем File и кидаем туда сертификат:
Импортируем сертификат, для этого открываем System / Certificates и нажимаем кнопку Import. Выбираем файл и вводим пароль:
В списке сертификатов появится наш сертификат:
Создание исходящего SSTP интерфейса
Дальше переходим в раздел PPP и создаём исходящий SSTP интерфейс (SSTP Client) на вкладке Interface:
И заполняем следующие поля:
Здесь нужно указать:
- Внешний IP-адрес первого роутера (к которому мы подключаемся);
- Сертификат, которой мы только что импортировали;
- TLS Version — only-1.2;
- Поставим галочку «Verify Server Certificate«;
- Логин и пароль;
- В Allow разрешаем только mschap2.
И нажимаем OK. После этого VPN должен подняться:
Настройка маршрутизации на обоих роутерах
Если помните, когда мы настраивали сервер SSTP, то мы создали профиль:
Здесь мы указали, что IP адрес на первом роутере будет 10.10.0.1, а на втором 10.10.0.2. То есть нам нужно создать два маршрута:
- На первом роутере — если мы идём в локальную сеть второго офиса (192.168.1.0/24), то нужно идти на 10.10.0.2;
- На втором роутере — если мы идём в локальную сеть первого офиса (192.168.0.0/24), то нужно идти на 10.10.0.1.
Переходим в IP / Routes и создаём новый маршрут.
На первом роутере:
На втором роутере:
Настройка фаервола на обоих роутерах
Осталось настроить фаервол, чтобы компьютеры из первого офиса могли достучаться до компьютеров из второго офиса и наоборот. На обоих роутерах нужно сделать по два одинаковых правила.
Первое правило разрешает подключаться из первой сети во вторую:
Второе правило разрешает подключаться из второй сети в первую:
Итог
После проделанных манипуляций компьютеры в обоих офисах смогут достучаться друг до друга по протоколу IP. То есть они смогут пинговать друг друга, подключаться по RDP, открывать веб странички (если в каком-то из офисов есть WEB-сервер) и выполнять другие подобные действия.