pfSense openvpn с аутентификацией в Active Directory

pfSense openvpn с доменной аутентификацией в Active Directory.

В статье я опишу настройку openvpn на pfSense с доступом по учетным записям в домене Active Directory.

Когда возникла необходимость найти альтернативу виндовому vpn, на глаза попался дистрибутив pfSense, который включает в себя несколько вариантов vpn и умеет авторизовывать пользователей домена Active Directory. Выбор пал на openvpn, настройку которого я и опишу. Установку самого pfSense я описывать не буду, там всё довольно просто и понятно.

Настройка openvpn.

Итак, будем считать, что у вас уже есть установленный pfSense с внешним и локальным интерфейсами и настроенными маршрутами. Если нет — настроить маршруты можно на вкладке Система->Маршрутизация. Там же настраиваются и шлюзы.

Для работы openvpn требуются центр сертификации и сертификаты сервера и пользователя. Давайте их создадим.

Переходим в Система->Менеджер сертификатов

pfsense openvpn

На вкладке Центры сертификации жмем Добавить. Заполняем необходимую информацию и сохраняем.

pfsense openvpn

Далее на вкладке Сертификаты добавим сертификат сервера.

pfsense openvpn

Обратите внимание, тип сертификата должен быть Server certificate.

pfsense openvpn

Теперь по аналогии создаем сертификат пользователя.

pfsense openvpn

Теперь тип сертификата должен быть User Certificate.

pfsense openvpn

Настройка аутентификации пользователей.

Давайте настроим аутентификацию наших доменных пользователей Active directory.

Для этого переходим на вкладку Система—Менеджер пользователей. Выбираем Серверы Аутентификации и жмем Добавить. Указываем имя нашей аутентификации, проткол LDAP, адрес контроллера домена. В поле Base DN укажите свой домен.

openvpn pfsense

Далее указываем контейнеры аутентификации, ставим галку Расширенного запроса и указываем группу, членам которой будет разрешено подключаться к впн серверу(эта группа дожна присутствовать в домене). Также снимите галку Привязать анонимно и укажите имя и пароль пользователя домена, от имени которого наш сервер будет подключаться к контроллеру домена. Исходный шаблон укажите Microsoft AD, а атрибут члена группы memberOf.

Читайте также:  Linux. Сочетания клавиш для работы в командной строке.

openvpn pfsense

Сохраните изменения. Проверить правильность настройки можно на вкладке Диагностика—Аутентификация. Если при вводе учетных данных доменного пользователя, состоящего в нужной доменной группе тест пройден успешно, значит всё настроено правильно.

Установка пакета client-export.

Для установки сервера почти всё готово, давайте установим еще пакет для экспорта клиентов openvpn. Для этого переходим на вкладку Система—Менеджер пакетов.

pfsense openvpn

Переходим на вкладку Доступные пакеты.

pfsense openvpn

Находим пакет openvpn-client-export.

pfsense openvpn

Нажимаем install и подтверждаем установку пакета.

pfsense openvpn

Через некоторое время пакет будет установлен.

Создание сервера openvpn.

Пришло время создать наш openvpn сервер. Для этого жмем на VPN и в выпадающем списке выбираем OpenVPN.

pfsense openvpn

В открывшемся окне выберите Мастер установки.

pfsense openvpn

Этот мастер поможет создать openvpn сервер и создаст разрешающее правило в межсетевом экране. На этапе создания пригодятся и созданные нами ранее сертификаты.

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

openvpn pfsense

Можете поставить галки, заставляющие клиентов отправлять весь трафик в туннель, если вам это нужно.

Есть много опций, которые вы можете передать клиентам openvpn. Например, можно сообщить адреса днс-серверов, запретить Windows клиентам использовать внешние ДНС серверы и т.д.

openvpn pfsense

В расширенных настройках можно добавить дополнительные опции, такие как дополнительные сети и домены. Я еще установил галку для использования имени пользователя вместо имени сертификата и установил оповещение подключенных пользователей при выключении или перезагрузке сервера.

Читайте также:  Установка пакетов в Linux.

openvpn pfsense

Со всеми доступными опциями разбираться можно долго. Сделать это можно на странице сообщества OpenVPN.

Подключение клиентов.

После настройки сервера осталось только передать клиентам настройки сервера. Сделать это можно на вкладке OpenVPN—Client Export.

openvpn pfsense

Выберите пакет для нужной операционной системы и кликните по нему для скачивания. Передайте скачанный файл клиенту. Для ОС семейства Linux выбирайте Archive.

Далее на Windows запустите скачанный файл и следуйте подсказкам установщика. После завершения установки на рабочем столе появится ярлык для запуска. После запуска openvpn, он будет доступен в трее.

На линукс системах разархивируйте скачанный файл и при добавлении VPN-подключения выберите вариант Импортировать из файла.

openvpn pfsense

Введите имя пользователя и пароль и сохраните настройки. Подключение готово к использованию.

Еще пару слов о настройке клиентов на Линукс. Мне не удалось заставить NetworkManager использовать туннель openvpn только для маршрутов в сети, предоставляемые сервером. Он ставит шлюз по умолчанию через туннель с меньшей метрикой, чем дефолтный шлюз на клиенте. Единственное, что помогло оставить дефолтный маршрут на клиенте через его собственный шлюз — это установка в свойствах впн подключения галки Использовать это подключение только для ресурсов в этой сети. На Windows клиентах такой проблемы не было.

Если у вас есть дополнения, исправления, пожелания и т.д. — пишите в комментариях.

Поделиться ссылкой:

Обновлено: 15.12.2020 — 13:09

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.