Постановка задачи: к ЛВС и серверу в главном здании учреждения необходимо подключить ЛВС филиала, расположенного в другом городе.
Схема подключения на рисунке ниже.
В результате настроек между двумя роутерами 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 заблокированы. Из недостатков следует отметить снижение скорости работы при загруженности канала передачи. Небольшое количество поддерживаемых сервисов.
Порядок действий.
Подключение с использованием сертификатов.
Роутер-сервер расположен в РШ серверной главного здания. В первый порт подключен патч-корд к оптическому конвертору. Во второй порт подключен патч-корд к ЛВС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 – срок действие сертификата в днях.
На вкладке Key Usage оставляем две галочки. Остальные настройки отключаем.
ctr sign — возможность подписывать другие сертификаты.
key cert. sign – возможность подписывать ключи
Нажимаем Apply.
Подписываем, нажав кнопку Sign.
Выбираем сертификат CA, нажимаем кнопку «Start».
Progress: done (сделано).
2.Создание SSL сертификата для сервера и клиента SSTP.
Действия такие же, как и в предыдущем пункте.
Дополнительно нужно указать реальный внешний IP-адрес в строке Subject Alt. Name.
Отмечаем tls client и tls server для использования сертификата на сервере и клиенте.
Подписываем ранее созданным сертификатом CA.
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.
Освоить MikroTik Вы можете с помощью онлайн-куса
«Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.