Настройка VPN и RADIUS сервера на Windows Server 2008
Сегодня речь пойдет об установке и настройке VPN сервера на Windows Server 2008 в связке с Network Policy Server (NPS), который будет выполнять роль RADIUS сервера, а также будет защищать нашу сеть с помощью сетевых политик.
Для начала определимся для чего нам нужно устанавливать и настраивать VPN? Чаще всего VPN используется для предоставления доступа в свою сеть из вне, по защищенному каналу. Но тут нужно подумать, является это для Вас лучшим решением или можно обойтись и без VPN (например «Удаленный рабочий стол»). Но если у Вас нет другого выхода, кроме как настраивать VPN, то давайте приступим.
Для начала расскажу, в каких условиях мы будем все это дело настраивать.
- Во-первых, на базе службы каталогов Active Directory Windows Server 2008;
- Во-вторых, обычно второй сетевой интерфейс, который слушает входящие звонки, имеет внешний IP адрес, я для тестов буду использовать просто другую локальную сеть. Предполагается, что у нас на сервере имеется два сетевых интерфейса:
Первый (локальный)
10.10.10.3
255.255.255.0
Второй (как бы выход в инет, т.е. этот интерфейс будет принимать входящие подключения)
192.168.1.1
255.255.255.0
Задача. Настроить VPN сервер и NPS сервер. При этом клиенты VPN сервера должны подключаться только в определенное время (с 20:00 до 21:00) в другое время им запрещено входить в сеть.
Для начала создайте группу безопасности в оснастке Active Directory «Пользователи и компьютеры». Для того чтобы в нее помещать пользователей, которые будут иметь возможность подключаться к сети по VPN.
Установка ролей сервера для VPN и NPS
Далее можно переходить к установке необходимых ролей сервера. В качестве VPN сервера у нас будет выступать «Служба маршрутизации и удаленного доступа», а в качестве RADIUS сервера будет выступать «Сервер политики сети». Для установки как обычно зайдите в «Диспетчер сервера» и добавьте роль «Служба политики сети и доступа». На вкладке «Службы ролей» поставьте необходимые галочки (как на картинке).
Настройка службы маршрутизации и удаленного доступа для VPN
После того как все установилось можно переходить к настройке «Службы маршрутизации и удаленного доступа». Для этого запустите соответствующую оснастку в администрирование. Запускайте мастер настройка сервера (правой кнопкой «Настроить и включить маршрутизацию и удаленный доступ»).
Выбирайте «Удаленный доступ (VPN или модем)» как на картинке (мы сейчас будем настраивать только удаленный доступ, NAT настраивать не будем, у нас нет такой задачи, поэтому выбираем самый первый пункт).
Далее выбираем «Доступ к виртуальной частной сети (VPN)».
На следующем этапе выбирайте интерфейс, который будет слушать входящие звонки, т.е. именно по этому адресу клиенты будут к нам подключаться (в настоящих условиях это интерфейс который смотрит в Интернет).
Далее выберете способ раздачи IP адресов клиентам, которые будут подключаться, другими словами, для того чтобы пользователь находился в одной сети, ему необходимо присвоить соответствующий IP адрес. Существует два способа это сделать:
- Раздать через DHCP;
- Задать вручную диапазон.
Первый вариант можно использовать тогда, когда у Вас настроен DHCP сервер в Вашей сети. Весь процесс выглядит так – если Вы выбрали этот вариант «Служба маршрутизации и удаленно доступа» сразу займет на DHCP сервере 10 IP адресов, поэтому не удивляйтесь, почему у Вас на DHCP сервере появились занятые ip-ки с уникальном кодом RAS. Кстати если одновременных подключений будет больше 10, то RAS займет еще 10 и так далее, т.е. занимает сразу по десять штук.
Если Вы не хотите использовать DHCP, то просто на всего выберете соответствующий пункт и задайте диапазон IP адресов.
Примечание! Если Вы решили задать вручную и при этом у Вас работает DHCP сервер, то задавайте тот диапазон, который не будет пересекаться с выдачей DHCP, или просто на DHCP сервере задайте диапазон исключений, IP адреса которого не будут выдаваться, а здесь Вы его укажите для выдачи.
На следующем этапе Вам предложат выбрать способ проверки подлинности запросов на подключение. Здесь у Вас снова два варианта: первый, сама служба будет это делать, а второй RADIUS сервер, как раз второй вариант мы сегодня и рассматриваем.
Далее предстоит выбрать адрес основного RADIUS сервера, так как основным сервером являемся мы сами, то и пишем наш IP адрес: 10.10.10.3
Все жмите готово, у Вас при этом настроится DHCP сервер для совместной работы с данной службой.
Настройка Network Policy Server (NPS)
Теперь переходим к настройке Network Policy Server (NPS) для этого запускайте оснастку «Сервер политики сети». Для начала зарегистрируйте этот сервер в AD, правой кнопкой «Зарегистрировать сервер в AD». Потом можно выключить политики, которые создались по умолчанию (также легко, правой кнопкой выключить). Затем можете запускать мастер настройки сервера.
Сначала выбираете тип подключения и можете задать имя Ваших политик, я например не изменял, а оставил все по умолчанию.
Затем можно указать клиентов RADIUS сервера. Под этим понимается сервера, которым нужны услуги RADIUS сервера, например наш VPN сервер, но так как он находится на нашем локальном компьютере, то здесь можно ничего не заполнять.
На следующем этапе у Вас спросят, какой метод проверки подлинности Вы хотите использовать, выберите вариант MS-CHAPv2.
Далее добавьте группу пользователей, которые имеют право на подключения к VPN серверу. Свою группу я назвал VPN.
Потом Вас попросят настроить ip-фильтры, но мы этого делать не будем, жмем далее и попадаем на этап настройки шифрования, здесь опять ничего не меняем (по умолчанию все галочки включены). Переходим к следующему этапу, где необходимо указать «Имя сферы» мы это тоже пропускаем и жмем далее, где нам уже скажут, что настройка прошла успешно. Жмем «Готово».
Теперь можете раскрыть политики, выберете «Политики запросов на подключение» нажмите правой кнопку на созданную Вами политику и нажмите свойства, перейдите на вкладку условия и нажмите добавить. Найдите там раздел «Ограничение по дням недели и времени суток» и жмите еще раз добавить. Настройте время так, как Вам нужно, для нашей с Вами тестовой задачи это с 20:00 по 21:00.
Теперь можно переходить к тестированию, в настройках подключения клиента указываем адрес 192.168.1.1 (в реальность внешний IP адрес или DNS имя).
Все, на этом наша с Вами тестовая задача выполнена. Но сразу могу сказать, что возможностей у NPS сервера очень много и Вы можете задавать свои сетевые политики для своей локальной сети, при выполнении некоторых условий. Например, компьютеры должны быть в домене и у них должен быть включен NAP агент. Но об этом и многом другом будем разговаривать в следующих статьях.
Windows server dhcp для vpn
VPN L2TP & IKEv2
Настройка для Windows Server 2008, 2012 и 2016 одинакова, по этому я не стал выделять версию OS. Но сразу скажу, что в 2012 R2 и 2016 TP5 не работает VPN IKEv2. После успешной настройки клиент сможет подключится к серверу, но после перезагрузки сервер, которой я проверяю автоматичкий запуск всех необходимых служб, клиент не сможет подключится к серверу VPN. По этому настраивайте IKEv2 на 2008 R2.
Внимание. IKEv2 заработал на Server 2016. Настраивал как всегда, с той лишь разницей, что CN для сертификата написан ЗАГЛАВНЫМИ БУКВАМИ . Спасибо, MS .
Зачем нужен IKEv2. Ещё не скоро компании откажутся от NAT. Если вообще откажутся. Так вот NAT или, что мне ближе, сама Windows является проблемой при подключении по L2TP. И если эта проблема для настрольных OS решается правкой реестра, то для мобильных OS такая возможность отсутсутсвует (я не нашёл, как править реестр в Windows Phone):
У IKEv2 такой проблемы нет, поэтому это единственный вариант подключить Windows Phone к корпоративной сети.
В данной статье я буду рассматривать не самую сложную сетевую инфраструктуру. Все роли можно объеденить на одном сервере, но я отделю роль NPS, для демонстрации настройки RADIUS клиентов. Тестовый стенд:
DC1 — 2016 TP5, контроллер домена, AD CS для сертификатов, RAS для VPN, DHCP
NPS1 — 2016 TP5, сервер сетевый политик для RADIUS сервера
NAT — 2012 R2, для эмуляции роутера
Windows 10 как клиент VPN
Для чего нужен RADIUS сервер. Без него мы можем лишь разрешать или запрещать VPN подключение. С ним мы можем указывать каким группам пользователей можно подключаться, к каким ресурсам в сети они имеют доступ.
Роль AD CS нужна для выдачи сертификата серверу VPN, который будет использоваться для IKEv2. L2TP будет работать по упрощённой схеме с общим секретным ключом. С сертификата и начнём.
Для начала необходимо создать новый шаблон на основании шаблона «Компьютер». Делается это в оснастке Certification Authority:
В который мы вносим два обязательных изменения: Subject Name и IP security IKE intermediate.
Необязательное изменение, необходимое только если VPN сервер установлен на контроллере домена: Право на выдачу сертификата для контроллеров домена.
Выпускаем новый шаблон:
Открываем оснастку Certificates и запрашиваем персональный сертификат для сервера.
В сертификате указываем имя, по которому будет подключаться клиент. Будет проще, если FQDN сервер будет совпадать с общедоступным именем VPN сервера.
В итоге должно выглядеть так:
В свойствах VPN сервера выбираем этот сертификат:
На изображении выше видно, что нельзя выбрать провайдеров аутентификации. Это будет только в том случае, когда NPS роль установлена на тот же сервер, где установлена роль RAS. Теперь перейдём к настройке RADIUS сервера. Для начала надо определить клиентов RADIUS (когда NPS установлен на отдельном сервере):
И указать VPN серверу в оснастке RRAS, что аутентификация будет проходить через RADIUS сервер (когда NPS установлен на отдельном сервере):
Возвращаемся в оснастку NPS и создаём сетевую политику доступа:
Определям на какую группу будет распространятся политика:
Разрешаем подключение:
Определяем методы Аутентификации, в том числе и порядок:
Задаём уровень шифрования. Я выбираю максимальный:
Всё. Политика настроена, теперь лишь нужно в ней включить игнорирование настроек пользоватильской учётной записи.
Закончим настройку VPN сервера, разрешив использование сертификата для IKEv2, а так же задав общий секретный ключ для L2TP:
По умолчанию Клиент VPN получит IP адрес от доменного DHCP сервера.
Если задать выдачу VPN адресов не из DHCP, то тогда на каждом клиенте необходимо будет добавить статические маршруты в другие сети, которые используются в доменной сети. С DHCP это гораздо проще. Нужно лишь заполнить опцию 121 (которая, к сожалению, криво работает c Debian 8):
Теперь настроим NAT на проброс портов для L2TP и IKEv2. На Windows Server это делается так:
Далее необходимо создать VPN подключение на клиенте. Для этого я буду использовать PowerShell:
Каждое подключение создаётся для всех пользователей компьютера. Нужно это для одновременного входа в систему и подключения VPN. Если этого не надо, то удалите ключ -AllUserConnection .
Если нужно, чтобы весь трафик, включая интернет, шёл через VPN сервер, то удалите ключ -SplitTunneling . Для IKEv2 необходимо использование только имени сервера, с IP адресом работать не будет (хотя можно попытаться засунуть IP адрес в CN сертификата). На клиенте задаём вручную общий секретный ключ и перезагружаем клиент, если была произведена правка реестра:
Для работы IKEv2 необходимо импортировать корневой сертификат PKI. Делается это по внутреннему адресу сервера сертификатов http:\\dc1\certsrv :
Для мобильных клиентов корневой сертификат можно отправить по почте. Всё. Можно подключаться:
А вот так выглядят подключения в оснастке RRAS:
Клиент «а» подключился дважды, по этому для подключения по IKEv2 отбражается его IP адрес, полученный с подключением по L2TP.
Тип аунтентификации EAP — это Windows клиенты. MS CHAP V2 — Apple OS X.
Хотите знать кто, когда и откуда подключался к VPN сервера? Тогда вам в эту тему.
Хотите кластер из VPN? Тогда вам в эту тему. С её помощью я настраивал свой первый VPN, а потом всё резюмировал в свой статье.