Постановка задачи: к ЛВС и серверу в главном здании учреждения необходимо подключить ЛВС филиала, расположенного в другом городе.
Схема подключения на рисунке ниже.
В результате настроек между двумя роутерами MikroTik создается туннель, через который передается информация.
В схеме использованы MikroTik с RouterOS v6.49.7: в главном офисе RB3011, в филиале RB750Gr3.
Все настройки выполняются из локальных сетей 1 и 2 через WinBox или командную строку.
Описана реальная ситуация из практики объединения офисов по VPN. Внешние IP-адреса изменены.
Освоить MikroTik Вы можете с помощью онлайн-куса «Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
Краткое описание SSTP.
Secure Socket Tunneling Protocol (SSTP) разработан компанией MicroSoft. SSTP передает трафик по каналу SSL/TLS, что обеспечивает безопасность на транспортном уровне с согласованием ключей, шифрованием и проверкой целостности трафика. Использование SSL/TLS через TCP-порт 443 позволяет SSTP проходить практически через все брандмауэры и прокси-серверы, кроме аутентифицированных веб-прокси. В большинстве случаев SSTP применяется для подключения удаленных клиентов ОС Windows по схеме «клиент-сайт».
Среди основных достоинств SSTP можно отметить надежность, скорость, безопасность, отсутствие проблем с NAT. Возможность проходить там, где другие VPN заблокированы. Из недостатков следует отметить снижение скорости работы при загруженности канала передачи. Небольшое количество поддерживаемых сервисов.
Порядок действий.
Подключение с использованием сертификатов.
Дополнение.
Подключение клиента с ОС Windows.
Роутер-сервер расположен в РШ серверной главного здания. В первый порт подключен патч-корд к оптическому конвертору. Во второй порт подключен патч-корд к ЛВС1.
Подключаемся к роутеру-серверу из локальной сети через WinBox по MAC-адресу т.к. IP-адрес 0.0.0.0.
1.Обозначим название роутера.
System >> Identity >> GW1-SERVER (название латиницей, любое понятное) Через командную строку терминала:
1 |
/system identity set name= GW1-SERVER |
2.Активация сервера SSTP.
Переходим по меню в: PPP >> Interface >> SSTP Server
В открывшемся окне ставим галочку напротив Enable.
Authentication: mschap2, остальные варианты отключаем.Через командную строку терминала:
1 |
/interface sstp-server server set authentication=mschap2 enabled=yes |
3.Создание пользователя.
PPP >> Secrets >> +
Name: Wunderbare-sstp1 – имя пользователя VPN (любое понятное).
Password: Password12345 – сложный пароль из букв разного регистра, цифр и спец.символов.
Service: sstp – тип туннеля (сервиса).
Local Address: 172.16.10.1 – локальный адрес роутера в сети VPN.
Remote Address: 172.16.10.2 – IP-адрес роутера филиала в сети VPN.
Нажимаем кнопку «ОК».Через командную строку терминала:
1 |
/ppp secret add local-address=172.16.10.1 name=Wunderbare-sstp1 password=Password12345 remote-address=172.16.10.2 service=sstp |
4.Создание интерфейса.
PPP >> Interface.
Из выпадающего меню возле синего крестика выбираем: SSTP Server Binding.
На вкладке General указываем:
Name: SSTP-TO-FILIAL1 — любое понятное имя латиницей;
User: Wunderbare-sstp1 — имя пользователя созданное в Secrets.
Через командную строку терминала:
1 |
/interface sstp-server add name=SSTP-TO-FILIAL1 user=Wunderbare-sstp1 |
Практика показывает, что в названии удобно использовать направление данного интерфейса.
Если интерфейс не создавать, то он появится динамически при активации туннеля. Но в таком случае неудобно будет указывать его в других настройках при необходимости.
5.Статический маршрут в направлении LAN2.
Создадим статический маршрут, разрешающий трафик от пользователей LAN1 к пользователям в LAN2.
IP-адреса в LAN1: 192.168.18.0/24
IP-адреса в LAN2: 192.168.19.0/24
В боковом меню переходим в IP >> Routes.
Нажимаем синий плюс, на вкладке General указываем:
Dst. Address: 192.168.19.0/24 – адрес сети назначения.
Gateway: 172.16.10.2 – шлюз в нужную сеть – указываем IP-адрес противоположного роутера в сети VPN или созданный ранее интерфейс (IP надежнее).
Нажимаем ОК для сохранения настроек.Через командную строку терминала:
1 |
/ip route add distance=1 dst-address=192.168.19.0/24 gateway=172.16.10.2 |
6.Правило firewall.
Создадим правило открывающее порт 443 для входящего в роутер трафика. Это порт на котором работает SSTP.
Переходим по меню: IP >> Firewall >> Filter Rules >> +
На вкладке General вводим настройки:
Chain: input – входящий трафик.
Protocol: tcp – протокол.
Dst. Port: 443Переходим на вкладку Action.
Action: accept – разрешающее действие.
Нажимаем ОК для сохранения.Через командную строку терминала:
1 |
/ip firewall filter add action=accept chain=input dst-port=443 protocol=tcp comment="SSTP VPN" |
Расположение.При настроенном firewall без этого правила запуск VPN не происходил.
7.Далее следует выполнить настройку подключения к Интернету.
В разных случаях может быть разный способ. Под спойлером настройка через PPPoE.
Назначим роутеру внешний (WAN) статический IP адрес.
Наш провайдер предоставляет услугу PPPoE с логином и паролем согласно приложению к договору. В разных ситуациях провайдер может предоставлять доступ в Интернет разными способами и сервисами.
Создаем интерфейс PPPoE клиента: PPP >> PPPoE Client.В открывшемся окне:
Переходим на вкладку General.
Name: pppoe-out1 – имя нового интерфейса (можно указать любое латиницей)
Interfaces: ether1 – интерфейс к которому подключен провод от оптического терминала провайдера.
Переходим на вкладку Dial Out.
Service: byfly – понятное название латинскими буквами.
User: 123456789101212@beltel.by – имя пользователя из приложения к договору об оказании услуг от провайдера.
Password: 1234567890 – пароль из приложения к договору об оказании услуг.
Use Peer DNS и Add Default Route отмечены галочками.
Протоколы аутентификации отмечены галочками все 4 (не трогаем их при byfly).
ОК для сохранения настроек.
Через командную строку терминала:
1 |
/interface pppoe-client add name=pppoe-out1 interface=ether1 service-name=byfly user=123456789101212@beltel.by password=1234567890 add-default-route=yes use-peer-dns=yes disabled=no |
Через некоторое время 0,5-1 мин роутер автоматически получит заказанный у провайдера внешний IP-адрес, который будет для него постоянным.
Так же автоматически появятся несколько адресов внешних DNS серверов.
На созданном интерфейсе pppoe-out1 появится статус R (running).
8.Далее следует выполнить настройки локальной сети LAN1: IP, DHCP, DNS, NAT, FIREWALL и прочее.
Для работы VPN действие не обязательное.
Можно воспользоваться базовой настройкой MikroTik.
Филиал подключается в Интернет через ADSL-модем на скорости 10/5 Мбит/с. Статический WAN IP-адрес не требуется. Достаточно чтоб был «белый» внешний статический IP-адрес у сервера.
В локальной сети LAN-19 4 компьютера. Им необходимо иметь прямой доступ к серверу в LAN-18 и общим сетевым папкам.
Сетевое оборудование смонтировано в металлическом ящике ШРН-8.255-10.Подключаемся в роутер через порты 2-5. Входим в меню через WinBox по MAC-адресу т.к. роутер сброшен на пустую (blank) конфигурацию.
1.Обозначение названия роутера.
System >> Identity >> GW2-CLIENT
Через командную строку терминала:
1 |
/system identity set name=GW2-CLIENT |
2.Настройка интерфейса SSTP
Переходим в меню PPP, выбираем SSTP Client.
Выполним настройки интерфейса клиента.
На вкладке General, указываем название интерфейса.
Переходим на вкладку Dial Out.
Connect To: 10.10.10.10 – внешний IP-адрес роутера-сервера.
Отключаем верификацию по сертификатам. Добавим ее, когда VPN заработает.
User: Wunderbare-sstp1– имя пользователя, созданное для клиента на сервере.
Password: Password12345 – пароль, созданный в профиле клиента на сервере.
Allow: mschap2 – оставляем только этот тип.
Нажимаем ОК для сохранения настроек.
Через командную строку терминала:
1 2 |
/interface sstp-client add authentication=mschap2 connect-to=10.10.10.10 disabled=no name=SSTP-TO-MAIN-OFFICE password=Password12345 profile=default-encryption user=Wunderbare-sstp1 verify-server-address-from-certificate=no |
3.Настройка ADSL модема.
Для продолжения настроек VPN туннеля, необходимо перевести модем в режим работы Bridge.
Все модемы разные, но принцип общий. Подключаемся патч-кордом в 1 порт модема. Заходим в интерфейс через браузер по IP-адресу (обычно это 192.168.1.1). Вводим логин-пароль.
Выставляем настройку Bridge Connection.Соединяем патч-кордом первый порт модема с первым портом роутера.
4.Далее следует выполнить настройку подключения к Интернету в роутере-клиенте.
Соединение VPN не произойдет пока роутеру-клиенту не назначен WAN IP-адрес. Сделаем это.
Ситуация аналогична настройке внешнего IP в роутере-сервере. Провайдер предоставляет Интернет через PPPoE.
Создаем интерфейс PPPoE-клиент: PPP >> PPPoE Client.
В открывшемся окне:
Переходим на вкладку General.
Name: pppoe-out1 – имя нового интерфейса.
Interfaces: ether1 – интерфейс к которому подключен провод от ADSL-модема.Переходим на вкладку Dial Out.
Service: byfly – понятное название латинскими буквами.
User: 0987654321111@beltel.by – имя пользователя из приложения к договору об оказании услуг от провайдера.
Password: 1234567890 – пароль из приложения к договору об оказании услуг.
Use Peer DNS и Add Default Route отмечены галочками.
ОК для сохранения настроек.Через командную строку терминала:
1 |
/interface pppoe-client add name=pppoe-out1 interface=ether1 service-name=byfly user=0987654321111@beltel.by password=1234567890 add-default-route=yes use-peer-dns=yes disabled=no |
Через некоторое время роутер автоматически получит заказанный у провайдера внешний IP-адрес, который будет для него постоянным.
После настройки внешнего интерфейса должно установиться VPN соединение. При успешном подключении клиента статус его интерфейса станет R (running).
Дополнительно можно проверить вид шифрования (Encoding).
В интерфейсе на сервере можно убедиться в соответствии назначенных ранее Local и Remote Address.
5.Статический маршрут.
Маршрут направляет трафик из LAN2 в LAN1.
IP-адреса в LAN1: 192.168.18.0/24
IP-адреса в LAN2: 192.168.19.0/24
Переходим в меню маршрутов: IP >> Routes >> +
На вкладке General указываем:
Dst. Address: 192.168.18.0/24 – адрес сети назначения.
Gateway: 172.16.10.1 – VPN IP-адрес роутера-сервера.
Нажимаем ОК для сохранения настроек.Через командную строку терминала:
1 |
/ip route add distance=1 dst-address=192.168.18.0/24 gateway=172.16.10.1 |
Вводить правила Firewall для разрешения VPN на роутере-клиенте не нужно.
6.Настройка локальной сети LAN2 (Bridge, IP, DHCP, NAT, FIREWALL и др.).
Для VPN действие не обязательное.
Можно воспользоваться базовой настройкой MikroTik.
На этом настройка по объединению двух сетей завершена.
Необходимо проверить прохождение пинга и трассировку между компьютерами главного офиса и филиала (из LAN1 в LAN2). Если трассировка идет через VPN IP-адрес, то настройка выполнена верно. Если трафик пойдет через WAN IP-адрес, то настройка сделана не правильно. Нужно смотреть, где IP-адреса расставлены не на своих местах. То же самое нужно сделать из LAN2 в LAN1. Можно выполнить трассировку из роутера (Tools >> Traceroute).
Подключение с использованием сертификатов.
Certificate Authority (CA) — центр сертификации. Это сторона (организация, отдел), которая хранит, подписывает и выдает цифровые сертификаты. (wiki)
Честность CA неоспорима, а открытый ключ широко известен. Задача центра сертификации — подтверждать подлинность ключей шифрования.
Подлинность подтверждается корневым удостоверяющим сертификатом. С его помощью подписываются SSL сертификаты.
1.Создание CA.
Создадим собственный корневой удостоверяющий сертификат CA. Затем создадим SSL сертификат. Подпишем его и установим в роутере-клиенте.
Name: CA-PC360 – любое понятное имя.
Country: BY – страна.
State: MINSK – область (штат).
Locality: MINSK – расположение.
Organization: PC360 – наименование организации.
Unit: 2B – подразделение (отдел).
Common Name: общеизвестное имя.
Дополнительно можно изменить:
Key Size: 2048 – размер ключа шифрования. Чем он длиннее тем надежнее.
Days Valid: 365 – срок действие сертификата в днях.
(для CA лучше указать 3650 — 10 лет, чтоб не пришлось переделывать через год)
На вкладке Key Usage оставляем две галочки. Остальные настройки отключаем.
ctr sign — возможность подписывать другие сертификаты.
key cert. sign – возможность подписывать ключи
Нажимаем Apply.
Через командную строку терминала:
1 |
/certificate add name=CA-PC360 country=BY state=MINSK locality=MINSK organization=PC360 unit=2B common-name=PC360.RU key-size=2048 days-valid=3650 key-usage=key-cert-sign,crl-sign |
Подписываем, нажав кнопку Sign.
Выбираем сертификат CA, нажимаем кнопку «Start».
Progress: done (сделано).
Через командную строку терминала:
1 |
/certificate sign CA-PC360 |
2.Создание сертификата для сервера и клиента SSTP.
Действия такие же, как и в предыдущем пункте.
Дополнительно нужно указать реальный внешний IP-адрес в строке Subject Alt. Name.
Отмечаем tls client и tls server для использования сертификата на сервере и клиенте.
Через командную строку терминала:
1 |
/certificate add name=SSTP-PC360 country=BY state=MINSK locality=MINSK organization=PC360 unit=2B common-name=PC360.RU key-size=2048 days-valid=3650 key-usage=tls-client,tls-server subject-alt-name=IP:10.10.10.10 |
Подписываем ранее созданным сертификатом CA.
Через командную строку терминала:
1 |
/certificate sign SSTP-PC360 ca=CA-PC360 |
Удалить созданные клиентские сертификаты не получится. Их можно только отозвать, нажав кнопку Revoke. Удалятся они вместе с CA если его удалить.
K — private key — частный ключ.
L — crl (Certificate Revocation List) список отозванных сертификатов.
A — authority — корневой (CA).
I — issued — изданный.
T — trusted — доверенный.
R — revoked — отозванный.
E — expired — истекший.
KLAT — корневой удостоверяющий сертификат со списком отозванных и частным ключем на сервере.
KAT – если не используются списки отзыва сертификатов.
LAT — корневой сертификат со списком отозванных на клиенте.
AT — корневой сертификат на клиенте.
KI — сертификат с частным ключом (клиентский), изданный на сервере.
KT — сертификат с частным ключом, импортированный на клиенте.
KR — сертификат с частным ключом, отозванный.
KET — истекший с частным ключом на клиенте.
AET — истекший корневой доверенный на клиенте.
KIE — истекший клиентский сертификат на сервере.
KRE — истекший с частным ключом, отозванный.
После создания сертификатов на сервере должны быть два: KLAT и KI
На клиенте KT и AT
3.Установка сертификата в сервере.
Переходим в настройку сервера PPP >> SSTP.
Выбираем сертификат и отмечаем галочкой «Verify Client Certificate». ОК.
4.Экспорт сертификата для установки в клиента.
System >> Cerrtificates.
Выбираем сертификат для SSTP и нажимаем «Export».
Необходимо указать тип PKCS12 и пароль.
Type: PKCS12 – набор сертификат и ключ.
Export Passphrase: пароль.
File Name: SSL-VPN – любое понятное название для файла.
Если не указать пароль (Passphrase), то при подключении к серверу может возникнуть ошибка terminating… — no key for certificate found (6)
Это не совсем связанная причина-следствие, но практика показывает обратное.
Сертификат появится среди файлов в роутере.
Переносим сертификат на компьютер (перетягиваем мышью), на флэшку и загружаем в клиентский роутер.
5.Импорт сертификата в клиента.
Переносим сертификат в роутер клиента.
Импортируем.
Можно задать понятное имя, поясняющее для чего этот сертификат. Выбираем загруженный файл и вводим пароль.
6.Настройка сертификата в клиенте.
Выбираем сертификат из списка.
Отмечаем галочками
Verify Server Certificate — проверять сертификат сервера.
Verify Server Address From Certificate – проверять адрес сервера в сертификате.
ОК.
Проверка соединения. Соединение установилось – R.Если соединение не установилось, нужно открыть лог и посмотреть в чем ошибка. Устранить ее.
Статус соединения.
Шифрование RC4.
wiki.mikrotik.com сообщает что данный вид шифрования предназначен для работы с клиентами Windows, иначе они не смогут подключится. Так как в нашем случае соединение через роутеры «сайт-сайт», можно применить другой вид шифрования. Настройка выполняется на сервере. Нужно отметить галкой параметр «Force AES».
Так же можно активировать настройку PFS на сервере и клиенте для повышения безопасности. Perfect Forward Secrecy (идеальная прямая секретность) — приватный ключ генерируется для каждой сессии.
Активируем соединение еще раз и проверяем статус. Шифрование AES256-CBC.
Дополнение.
К серверу и ЛВС в главном офисе нужно подключить компьютеры с ОС Windows 10 персонала, который работает из дома дистанционно. Для этой цели использован протокол SSTP по схеме «client to site».
Настройка сервера та же, что и при подключении «site to site».
Перед выполнением настройки следует сделать предупреждение.
Для подключения клиентов с ОС Windows, в сервере VPN необходимо отключить настройку: Verify Client Certificate. Т.е. сервер не будет проверять сертификат клиента при его подключении. С активированной этой настройкой подключение клиента Windows завершается ошибкой: «Нежесткая блокировка, связанная с данным дескриптором, теперь связана с другим дескриптором». В процессе различных тестов подключить клиентский сертификат так и не удалось и похоже это невозможно.
Отключение настройки Verify Client Certificate будет относиться не только к одиночным клиентам с Windows, но так же и для всех роутеров филиалов, которые подключаются к данному серверу. Такое действие снизит уровень информационной безопасности и в каких-то организациях может быть не приемлемо. В этом случае не используйте такую настройку и применяйте другие виды VPN для подключения компьютеров с Windows.
Экспорт сертификата.
Сертификаты созданы при настройке роутера-сервера. См. выше.
Экспортируем из сервера только CA сертификат.
При сохранении выбираем тип PEM.
Если ввести пароль, то экспортируется два файла, .crt и .key (сертификат и приватный ключ). Пароль не вводим. Нам нужен только CA.ctr.
Импорт сертификата.
Копируем экспортированный из сервера CA сертификат на клиентский компьютер с ОС Windows 10.
Выбираем в меню правой кнопкой мыши «Установить сертификат».
Устанавливать нужно только CA сертификат.
Проходим по мастеру импорта сертификата.
Расположение хранилища – Локальный компьютер. На это следует обратить внимание. Если разместить сертификат в другом месте, то соединение с SSTP сервером не произойдет.
Помещаем в доверенные CA. Подтверждаем.
Импорт выполнен.
С помощью этого сертификата клиент будет проверять авторитетность сервера.
В менеджер сертификатов так же можно попасть через Win+R
1 |
certmgr.msc |
Чтоб получить доступ к расположению «Локальный компьютер» нужно активировать настройку «Физические хранилища» в параметрах.
Создание VPN-соединения.
На компьютере клиента VPN переходим в «Центр управления сетями и общим доступом».
Создаем новое подключение.
Подключение к рабочему месту. Далее.
Использовать мое подключение к Интернету.
Вводим IP-адрес сервера и любое понятное имя подключения.Если в SSTP-сервере используется нестандартный порт, например, не 443, а 10443, то его можно записать через двоеточие после IP-адреса.
Нажимаем кнопку «Создать».
Отредактируем некоторые параметры. Выбираем подключение и далее его свойства.
На вкладке «Безопасность» изменяем настройки как на картинке ниже.
Проверяем подключение.
Это можно сделать через иконку сети в трее или через меню Параметры >> Сеть и Интернет >> VPN.
Нажимаем «Подключиться» на созданном VPN-соединении. Появится запрос логина и пароля. Вводим их.
Соединение перейдет в статус «Подключено».
На стороне сервера так же можно проверить статус соединения.
При всех остальных настройках клиента без изменений (дефолтные) связь с сетью за сервером VPN есть сразу. Потому что установлена галка «Использовать основной шлюз в удаленной сети».Если такой вариант не подходит, то необходимо настроить статический маршрут на клиенте, чтоб разделить трафик в Интернет и в сеть за сервером VPN.
Если соединение не происходит, и появляется такая ошибка.
Отключите на сервере VPN настройку Verify Client Certificate, как уже написано выше.
Если ошибка такая.
Это значит на клиенте не импортирован CA сертификат или импортирован в неправильное расположение.
Так же ошибка может возникнуть если при создании сертификата не указано доменное имя или IP-адрес сервера в поле Common Name. Создавайте сертификаты с этими данными.
Освоить MikroTik Вы можете с помощью онлайн-куса «Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
Спасибо что так подробно расписали настройку. Я правда L2tp настраивал. Да и вообще в первые что-то делал сам на mikrotike. В фирме я соединил RB3011UiAS с HAP ac2. В HAP ac2 подключен по USB Huawei 4g модем.
Прошивка на RB3011UiAS v6.49.8 на HAP последняя v7.11.2
На многих сайтах настройку начинают уже с созданным VPN подключением и настроенным firewall-ом. Только тут мне как нубу получилось настроить доступ.
Настройку L2TP можно посмотреть по ссылке https://www.pc360.ru/2021/11/16/mikrotik-l2tp-ipsec-vpn-site-to-site-объединение-двух-офисов/
Я так понял особой разницы нет в настройке SSTP и L2TP. Интересно откуда взяли иконку профиля если я её не указывал. С mail.ru что-ли загрузили?
Принцип настройки примерно одинаковый. В последнее время провайдер блокирует L2TP/IPsec по этому SSTP это как один из вариантов обхода блокировки. Можете его тоже попробовать настроить. Аватар скорее всего подтянулся по e-mail из Gravatar.