В этой статье я опишу настройку роутера MikroTik в качестве SSTP сервера для подключения удаленных сотрудников.

Введение

Я уже писал про SSTP, но в прошлый раз я настраивал SSTP между двумя MikroTik, в этой статье я опишу процесс подключения удаленных сотрудников, с операционными системами Windows, к офисной сети.

Очень часто у сотрудников, которым нужно работать из дома, на домашнем компьютере стоит Windows. Эта система, начиная с версии Vista, поддерживает SSTP без установки дополнительных программ.

Дополнительные преимущества SSTP:

  • Удалённый сотрудник может иметь динамический IP и работать за NAT-ом.
  • SSTP по умолчанию использует 443 порт, а для установки соединения использует протокол HTTPS.
  • SSTP может работать используя протоколы IPv4 и IPv6.
  • Роутеры MikroTik поддерживают SSTP.

Вот хорошие статьи про SSTPздесь и здесь.

Схема сети

Удалённые сотрудники должны иметь доступ в интернет. И им, через интернет, должен быть доступен наш офисный роутер. Поэтому этот роутер должен иметь белый и статичный ip-адрес.

Адрес на sstp интерфейсе роутера будет 10.10.0.1, а клиенты будут получать адреса при подключении к sstp-серверу: 10.10.0.2, 10.10.0.3, 10.10.0.4 и так далее.

При этом локальные адреса клиентов нам не важны, главное чтобы они не пересекались с офисной локальной сетью и с сетью sstp. Обычно дома у сотрудников следующие подсети: 192.168.0.0/24 или 192.168.1.0/24.

Настройка SSTP на MikroTik для удаленных сотрудников

Создание корневого сертификата

Так как протокол SSTP использует TLS сертификаты, то мы должны выпустить корневой сертификат, и с помощью него выпустить сертификат для SSTP сервера. Для этого перейдем в System / Certificate и создадим новый сертификат.

Создание сертификата на MikroTik

При создании корневого сертификата заполняем поля следующем образом:

Создание корневого сертификата на MikroTik

Опишу заполняемые поля:

  • Name — видимое имя сертификата.
  • Common Name — имя субъекта, которому выдан сертификат. Например, если бы мы делали сертификат для домена, то здесь нужно было бы указать имя этого домена. В корневом сертификате можно указать любое имя, например имя сертификата (Name) или имя организации (Organization).
  • Key Size — длина ключа.
  • Days Valid — срок действия сертификата в днях.

Сохраним сертификат нажав кнопку Apply, и подпишем его нажав кнопку Sign. В открывшемся окне следует заполнить поле CA CRL Host, здесь можно указать внешний ip-адрес роутера. Для подписания нажимаем кнопку Start.

Подписание сертификата на MikroTik

Создание сертификата для SSTP сервера

Теперь выпустим сертификат для SSTP сервера:

Создание сертификата для SSTP на MikroTik

Главное здесь заполнить следующие поля:

  • Common name — здесь мы указываем внешний ip-адрес роутера.
  • Subject Alt. Name — здесь тоже самое.

Сохраним сертификат нажав кнопку Apply, и подпишем его нажав кнопку Sign. При подписании нужно указать корневой сертификат, созданный нами ранее:

Подписание сертификата на MikroTik

В итоге получилось два сертификата:

Список сертификатов на MikroTik

Экспорт корневого сертификата

На клиентский компьютер нужно будет установить корневой сертификат, поэтому экспортируем его. Для этого нажимаем на нём правой кнопкой мыши и выбираем Export:

Экспорт сертификата на MikroTik

В открывшемся окне, в поле Type ставим PKCS12 и придумываем пароль:

Экспорт сертификата на MikroTik

Найти и скачать выгруженный сертификат можно в разделе Files.

Скачивание сертификата на MikroTik

Создание сервера SSTP

Переходим в раздел PPP и создаём новый профиль, это делается на вкладке Profiles. При создании нового профиля заполняем поля на вкладках:

  • Вкладка General — укажем имя профиля и локальный адрес для VPN-соединения:
  • Вкладка Protocols — выбираем Use Encription:
  • Вкладка Limits — ограничиваем подключения под одной учётной записью одним подключением:

После создания профиля, нажимаем ОК.

Теперь создаём учетные записи для подключения. Для этого переходим на вкладку Secrets. При создании каждой учетной записи, указываем имя пользователя, его пароль, используемый профиль и удалённый ip-адрес.

Осталось настроить и включить SSTP Server, для этого нажимаем кнопку SSTP Server. В открывшемся окне заполняем следующие поля:

Настройка и включение SSTP сервера

Здесь нужно указать сертификат, подготовленный профиль, и включить сервер (Enable). Дополнительно я указал версию TLS — only-1.2.

Настройка фаервола

Правило для подключения клиентов к серверу SSTP

Если у вас фаервол настроен как нормально-закрытый, то есть, что не разрешено, то запрещено. То вам нужно разрешить входящее подключение к SSTP серверу, который работает на 443 порту. Для этого открываем IP / Firewall и создаём новое правило:

Создание нового правила фаервола

Заполняем следующие поля:

Здесь я разрешил входящий трафик (input) на внешний адрес этого роутера (Dst. Address). Дополнительно, проверяется протокол (Protocol) и порт подключения (Dst. Port) и входящий интерфейс (In. Interface).

Нажимаем OK и поднимаем это разрешающее правило выше ваших запрещающих правил.

Правило для подключения клиентов к офисной сети

Дополнительно нужно разрешить подключения от наших удалённых клиентов к локальной сети. Я это проделал следующим образом. Создадим адрес лист с адресами пользователей, я его назвал sstp:

И создадим правило (Filter Rules). Из адрес листа (Src. Address List) sstp на локальный бридж, в цепочке forward разрешаем подключения:

Так как клиент при подключении получает ip-адрес содержащийся в адрес листе sstp, то мы просто разрешаем таким клиентам подключаться к локальной сети (в данном случае к локальному бриджу) офиса.

Настройка клиента

Импорт корневого сертификата

На клиенте добавляем корневой сертификат, который создавали на сервере SSTP. При импорте придётся ввести пароль:

И помещаем сертификат в «Доверенные корневые центры сертификации»:

Настройка SSTP подключения

Переходим в меню «Пуск / Параметры» и находим там «Сеть и интернет».

Там переходим в меню «VPN» и добавляем новое VPN-подключение.

Указываем данные для подключения:

Сохраняем подключение.

Чтобы подключиться, выбираем это подключение и нажимаем «Подключиться». Но не спешите подключаться, перед этим нужно настроить маршрутизацию на клиенте.

Настройка маршрутизации на клиенте

Выключаем маршрут по умолчанию

По умолчанию VPN подключение даст клиенту новый маршрут по умолчанию. Это значит, что весь трафик пойдет через офис. Но так как на офисном MikroTik мы не настраивали NAT для таких клиентов, то Интернет у удалённого сотрудника пропадёт. Поэтому нужно выключить получение маршрута по умолчанию. Для этого переходим в меню «Ethernet» и там нажимаем на ссылку «Настройка параметров адаптера».

В открывшемся окне находим созданный интерфейс:

Нажимаем по нему правой кнопкой мыши и переходим в «Свойства». Там переходим на вкладку «Сеть». Выбираем настройки «IP версии 4» и нажимаем кнопку «Свойства».

Затем нажимаем на кнопку «Дополнительно».

И там снимаем флаг «Использовать основной шлюз в удалённой сети».

Добавляем маршрут к офисной сети

Маршрут по умолчанию мы убрали, но теперь нам нужно указать системе, что подключаться к офисной сети нужно через интерфейс SSTP. Для этого открываем PowerShell и выполняем:

ROUTE.EXE -p add 10.12.130.0 mask 255.255.255.0 10.10.0.1

Где ip 10.12.130.0 и mask 255.255.255.0 это офисная подсеть, а 10.10.0.1 — это адрес sstp сервера. А ключ -p означает что нужно создать постоянный маршрут, без этого ключа созданный маршрут исчезнет после перезагрузки.

После этого можете подключить VPN соединение и попробовать получить доступ к офисным ресурсам.

Итог

SSTP довольно удобно использовать как VPN для удалённых сотрудников. Он безопасен и хорошо работает, когда клиент находится на NAT. Но, если настраивать по моей статье, вам придётся подключаться к каждому удалённому сотруднику, чтобы настроить VPN. У него нужно будет установить корневой сертификат, выключить маршрут по умолчанию и добавить маршрут в офис. А если в офисе много сетей, то добавить несколько маршрутов.

Если честно, то это теоретический пример. На практике, в продакшене мне не приходилось подключать множество удалённых клиентов к офисной сети по VPN. Если у вас есть такой опыт, поделитесь, какой VPN вы используете, как передаёте маршруты клиентам.

Сводка
SSTP на MikroTik для удалённых сотрудников
Имя статьи
SSTP на MikroTik для удалённых сотрудников
Описание
В этой статье я опишу настройку роутера MikroTik в качестве SSTP сервера для подключения удаленных сотрудников

One Reply to “SSTP на MikroTik для удаленных сотрудников”

  1. Учитывая блокировки VPN со стороны РКН, статья — огонь! Ибо https (443 порт) РКН не заблочат. Если есть желание, можешь добавить поправочку с моей стороны. Не нужно делать постоянного маршрута. В винде есть фича при подключении VPN автоматически добавлять маршрут. Вместо «ROUTE.EXE -p add 10.12.130.0 mask 255.255.255.0 10.10.0.1», я бы использовал «Add-VpnConnectionRoute -ConnectionName «Название VPN соединения» -DestinationPrefix 10.10.0.0/24 –PassThru». Не благодари…=)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *