Настройка VPN IPSec/L2TP сервера Mikrotik

Dot1x

 Зачем нужен dot1X и как его настроить.. очень много интересных слов можно было бы тут написать, но все сказано до нас. Например на канале одного прекрасного тренера или wiki

Половина смысла с саркальной точки зрения в dot1x в том, что в случае успешной проверки подлинности наше устройство попадет в влан указанный нами в микротике или в влан который мы поличим в качестве атрибута у радиуса. Если проверка подлинности пройдет с отказом или ответ не будет получен от радиуса (например в случае его недоступности), то порт перейдет в изолироованный режим (будет заблокирован любой трафик на порту) или в случае если указан Reject VLAN ID то попадет в влан, для которого мы настроили(я надеюсь все таки настроили) максимально безопасные правила форейвола для чужеродных устройств .

Начнем с микротика:

Настроим политики сети: В условиях необходимо отобрать проводные клиенты

Параметры аутентификации:

В настройках атрибутами выдадим рабочий влан

К примеру вот так выглядит отказ в авторизации:

А вот так успешное подключение:

Firewall

Давайте уж к консоли, что-ли для разнообразия:

/ip firewall filteradd chain=input action=accept protocol=udp port=1701,500,4500add chain=input action=accept protocol=ipsec-esp

Если у вас по-умолчанию политика forward установлена в drop (последнее правило для forward “chain=forward action=drop”), вам может быть необходимым разрешить forward с ip-адресов vpn_pool в локальную сеть:

add chain=forward action=accept src-address=192.168.112.0/24 in-interface=!ether1 out-interface=bridge-local comment=”allow vpn to lan” log=no log-prefix=””

Вот теперь с сервером все.

Vpn pptp/l2tp ipsec | настройка mikrotik

PPTP и L2TP IPsec в плане настройки в RouterOS практически идентичны.
Использовать PPTP или L2TP IPsec выбор каждого. Но PPTP не безопасен (хотя кому нужен наш трафик?), а L2TP IPsec создает значительную нагрузку и 2 клиента за 1 NAT’ом могут не правильно работать. Голый L2TP можно использовать наравне с голым GRE, когда нечего шифровать.

/ip pool
add name=pool_VPN_PPTP ranges=172.16.1.1-172.16.1.100
add name=pool_VPN_L2TP ranges=172.16.2.1-172.16.2.100
/ppp profile
add change-tcp-mss=yes local-address=pool_VPN_L2TP name
    remote-address=pool_VPN_L2TP use-encryption=yes
add change-tcp-mss=yes local-address=pool_VPN_PPTP name
    remote-address=pool_VPN_PPTP use-encryption=yes

Не забываем разрешить в firewall входящие подключения для PPTP (tcp:1723) и L2TP IPsec (udp:1701,500,4500)

/ip firewall filter
add action=accept chain=input comment=PPTP dst-port=1723 protocol=tcp
add action=accept chain=input comment=L2TP dst-port=1701,500,4500 protocol=ud

Будет работать доступ в сеть на основе маршрутизации! Выдавать IP адреса из локальной сети не рекомендуется! PPP это отдельный интерфейс со своей адресацией!

Для корпоративной сети с Active Directory можно настроить:

Для доступа в интернет через VPN нужно:

Если вы используете сеть из 10.0.0.0/8, то можете отключать использование шлюза VPN, маршруты прописывать не придется.

Vpn подключение l2tp между двумя mikrotik-ами, объединение офисов

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

Для объединения двух офисов и работы маршрутизации данную настройку лучше разбить на два блока:

  1. Настройка клиент-серверной части;
  2. Добавление статических маршрутов для прохождения трафика.

Серверная часть была описана ваше, но требует корректировки в виде статических адресов для VPN клиента

Настройка находится PPP→Interface→Secrets

Благодарности:

Спасибо @aslancherkesov за злого редактора и свежий взгляд на буквы.

Диагностика

Не всегда наши настройки сразу работают так как надо, иногда что то идет не так, и очень хочется понять что именно. Для того что бы понять в чем причина у нас есть :

Get-NetFirewallRule -DisplayGroup "Сервер политики сети" | where DisplayName -like "*RADIUS*" | Set-NetFirewallRule -Service Any

или для англоязычной версии:

Get-NetFirewallRule -DisplayGroup "Network Policy Server" | where DisplayName -like "*RADIUS*" | Set-NetFirewallRule -Service Any 
  • radclient из пакета freeradius-utils. Позволяет из командной строки проверить некоторые типы авторизации, к примеру подключение к vpn

Похожее:  Mega billing com крымэнерго личный кабинет

Тест:

Добавление radius клиента

Для того, чтобы сервер знал с какими устройствами налаживать общение нужно добавить их в RADIUS Clients.

Для примера, добавляю свой MikroTik wAP. Friendly name установил как Identity на устройстве и IP заданный на его единственном проводном интерфейсе. Для того, чтобы устройство смогло авторизоваться на сервере нужно ввести ключ. Он создается на сервере либо вручную, либо генерируется автоматически. Я предпочел второй вариант.

New-NpsRadiusClient –Address "10.1.1.21" –Name "router01" –SharedSecret "egEcM4myJCptphGlZ1UymS#qLh^urp@fJ1hF8dE6dwb27NI^oIJtTWKKp^MEsU6p"

image

Vendor name остановим на стандартном RADIUS.

Устройство добавлено.

Добавление сервера авторизации на mikrotik

Первым делом присвоим System/Identity равным router01 и IP с маской для интерфейса.

/system identity set name=router01
/ip address add address=10.1.1.21/24 interface=ether1 network=10.1.1.0

image

Компоненты кейса

  • Суппликант – устройство которое намерено пройти процедуру авторизации и аутентификации.

  • Аутентификатор – устройство к которому подключается суппликант, которое получает у суппликанта данные авторизации и которое проверяет их на RADIUS сервере. NB! Является клиентом для радиус-сервера.

  • RADIUS сервер (он же радиус сервер, он же сервер аутентификации).

Настройка

Установку роли описывать не буду, существует 100500 статей в картинках, например: тыц

  1. Добавление радиус клиента на радиус-сервере Нам нужно заполнить “понятное имя”, IP адрес и придумать пароль (а.к.а. “секрет”), который понадобится при настройке аутентификатора (mikrotik в нашем случае)

    Настройка VPN IPSec/L2TP сервера Mikrotik

Политики  запросов на подключение и Стетевые политики очень похожи при настройке, и нужно понимать разницу между ними. Первые нужны для того что бы  при определенных условиях определить сервер на котором будет проходить проверка аутентификации клиента (к примеру локально или на другом удаленном радиус сервере) а так же для некоторых манипуляций с атрибутами.

    Политики имеют порядок и обрабатываются по нему одна за другой. Если подключение не соответствует условиям политики, то проверяется следущая и так далее. К примеру, это поможет разделить правила обработки для проводныхбеспроводных и впн клиентов. {.is-warning}

  1. Добавление политики запросов на подключение

  2. Добавление сетевой политики

Настройка интернета для vpn клиентов l2tp в mikrotik

Этот вопрос будет вынесен за рамки данной статьи, т.к. относится с дополнительным сервисам для VPN клиентов. Таких сервисов может быть множество и все они имеют индивидуальных характер(для тех кто ищет: нужно настроить и разрешить DNS запросы и Masquerade).

Настройка сервисов на маршрутизаторах MikroTik: подключение интернета, DHCP, brige, VLAN, WiFi, Capsman, VPN, IpSec, PPTP, L2TP, Mangle, NAT, проброс портов, маршрутизация(routing), удаленное подключение и объединение офисов.

Настройка туннелирования (l2tp)

1. IP – Pool / Определям диапазон адресов VPN-пользователей

Name: vpn_poolAddresses: 192.168.112.1-192.168.112.10Next pool: none

Лучше для клиентов vpn использовать отдельную адресацию. Так проще отделять одних от других. И вообще, бест практис.

2. PPP – Profiles / Профиль для нашего конкретного туннеля

General:Name: l2tp_profileLocal address: vpn_pool (а можно указать 192.168.88.1, сами смотрите, как вам больше нравится)Remote address: vpn_poolChange TCP MSS: yes

Похожее:  Как убрать ввод пароля при входе на Windows 10 - обзор вариантов отключения

Protocols:all to default:Use MPLS: defaultUse compression: default (ставил также yes)Use Encryption: default (можно ставить no, т.к. ppp-шифрование мы использовать не будем, на это нам IPSec есть, на незагруженном микротике разницы никакой не заметил)

Если в сети, куда вы подключаетесь, есть ресурсы по внутренним доменным именам, а не только по IP, можете указать DNS Server этой сети, например, 192.168.88.1 (или какой вам нужен).

Limits:Only one: default

3. PPP – Secrets / Готовим пользователя VPN

Настройка шифрования данных в “туннеле” (ipsec)

На предыдущем этапе мы создали туннель для передачи данных и включили IPSec. В этом разделе мы настроим параметры IPSec.

5. IP – IPSec – Groups

Статья эта уже прошла немало редакций с 2022 года, и тогда была велика вероятность появления ошибки соединения с сервером из-за дефолтной группы, что лечилось удалением и пересозданием ее. Например, с именем “policy_group1”. Также можно просто удалить эту группу, но через веб-интерфейс будут показываться ошибки. В последней редакции с дефолтной группой все работает нормально, но все же имейте ввиду.

6. IP – IPSec – Peers

Сейчас пир создается автоматически при включении L2TP-сервера с Use IPSec. А если у вас он был создан ранее, то после обновления прошивки микротика будет два пира – автоматически созданый и ваш старый, над которым будет красная надпись: This entry is unreachable. Так что идем дальше.

7. IP – IPSec – Proposals / “Предложения”.

Что-то вроде “что мы можем вам предложить”. Другими словами, задаем опции подключения, которые смогут пытаться использовать удаленные клиенты.

Name: defaultAuth algorithms: sha1Enrc. algorithms: aes-256 cbc, aes-256 ctrLife time: 00:30:00PFS Group: mod 1024

Этот пункт очень важен, здесь указываются не просто алгоритмы шифрования, но поддерживаемые удаленными клиентами алгоритмы шифрования. Что толку, что вы выставите крутые настройки на сервере, а клиенты их “не умеют”? Задача – выдержать баланс.

Некоторые типовые кейсы применения радиус сервера :

  1. централизованная аутентификация на устройствах поддерживающих aaa

  2. аутентификация для vpn (pptpl2tp)

  3. аутентификация в wifi

  4. аутентификация устройств при подключении к порту rj45 – dot802.1x

 Итак подробнее, некоторые плюшки.   Для всех наших пунктов нам нужно настроить радиус клиента в mikrotik

/radius add address=10.10.11.100 comment="PVE AD" secret=STRONG_SECRET_PASSWORD service=ppp,logi
n,hotspot,wireless,dhcp,ipsec,dot1x timeout=600ms

address –  Адрес радиус сервера secret – пароль, который мы совсем недавно настраивали для радиус клиента service – сервисы в mikrotik, которые могут использовать радиус для аутентификации.

Отдельно стоит отметить пункт timeout=600ms, если вы используете радиус через медленные каналы с большими задержками, стоит увеличить это значение.

Теперь можно начинать настраивать интересные вещи.

Определение, назначение, общие сведения

RADIUS – это протокол, для авторизации, аутентификации и учёта (AAA).

Позволяет повысить безопасность сети и централизованно управлять доступами.

Сервер RADIUS может иметь свою базу данных с учетными данными (например файлы или mysql) или работать в паре с другим сервером, например Active Directory.

Кроме AAA позволяет передать некоторые дополнительные данные (настройки) клиенту прошедшему аутентификацию, в том числе vendor-specific attributes (VSA). У Mikrotik такие тоже есть, позже пройдемся по самым интересным.

Существуют много популярных приложений радиус сервера, самый популярные: freeRADIUS и Служба NPS (Network Policy Server) Windows Server. Более подробно мы рассмотрим второй вариант.

Похожее:  Изменение кода авторизации - StarLine S96v2, E96v2 GSM

Перейдем к впн, и к стразу более интересному сценарию.

Предположим мы хотим отделить админов, от остальных работников. Выдадим админам профиль с подсетью которая будет иметь доступ к management vlan и не только, и выдадим отстальным сотрудникам профиль с подсетью которая будет меть ограниченый доступ только к 1c, RDP, etc.. . Предположим, мы используюем для впн l2tpipsec/ Для этого создадим в микротик два профиля в PPP -> profile

Подключение удаленного клиента

Пробуем подключить Windows 7:

Проверка через ssh и winbox

Проверка подключения через SSH и экспорт конфигурации.

И проверяем авторизацию в Winbox.

Создание vpn подключения l2tp windows

ОС семейства Windows имеют штатный VPN клиент, который отлично подходит под эту роль. Для его настройки нужно перейти

Панель управленияСеть и ИнтернетЦентр управления сетями и общим доступом

создание Windows VPN клиента

выбор нового подключения

использовать текущее подключение к интернету

указать адрес VPN сервера

настройка VPN клиента Windows

указать ключ IpSec

подключение Windows VPN

статус подключения Windows VPN

Создание политики подключения

image

Подбираем подходящее название для политики.

Определяем наше устройство с которым будет работать сервер.

Я выбрал только Client Friendly Name со значением Router01. Это четко привязывает данный пункт политики к устройству через созданного клиента. Можно идентифицировать устройство Mikrotik по Identity выбрав NAS Identifier.

Без предварительной конфигурации устройства Identity = MikroTik.

Дальнейшая настройка политики.

На этапе выбора протокола аутентификации достаточно выбрать нешифрованный (о чем получите предупреждение) PAP для SSH или шифрованный CHAP для WinBox. Я выбрал оба. Если есть необходимость использовать web версию, то достаточно включить MS-CHAPv2, в остальном всё аналогично.

Собственно, предупреждение о выборе небезопасного способа. Предлагают почитать пошаговый справочный материал.

На данном этапе я не стал ничего трогать.

Итоговые установки политики.

У меня не получилось воспроизвести это через PowerShell, даже стандартный example с technet’а. Буду признателен, если подскажете почему.

netsh nps add crp name = "Request Policy Router01" state = "ENABLE" processingorder = "1" policysource = "0" conditionid ="0x1020" conditiondata = "router01" profileid = "0x1025" profiledata = "0x1" profileid = "0x1009" profiledata = "0x1" "0x2" profileid = "0x1fb0" profiledata = "TRUE"

image

Выбираем нужный приоритет двигая выше или ниже пункт политики.

Создание политики сети

image

Назовем её Routers.

Как и прежде, нужно определить условия.

Установка роли nps


Имеем Windows Server 2022 Datacenter с уже установленным доменом.

Выбираем сервер, на котором будет разворачиваться роль. Microsoft не рекомендует делать это на контроллере домена, но в некоторых best practices для уменьшения задержек дают совет ставить именно на него. Добавляем роль Network Policy and Access Server вместе с management tools для настройки.

Install-WindowsFeature NPAS -IncludeManagementTools

image

Запускаем любым удобным способом админку NPS. Например, через менеджер серверов.

Регистрируем сервер NPS в AD.

netsh ras add registeredserver

image

Выводы

RADIUS в сетевой среде очень полезен в плане безопасности и удобен в плане централизованного управления. Настраивать не так уж и сложно, главное читать, понимать документацию и логи.

Если какой то из пунктов непонятен, пишите. попробую показать или помочь разобраться.

Если в статье нашли ошибки, неточности или знаете как сделать лучше тоже пишите.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 4,00 из 5)
Загрузка...

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

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

Adblock
detector