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

openvpn pfsense

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 настройка. server sertificate

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

pfSense openvpn настройка. внутренний сертификат

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

pfSense openvpn настройка. user sertificate

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

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

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

pfSense openvpn настройка. ldap

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

Еще:  Linux. Пользователи и группы.

pfSense openvpn настройка. ldap group

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

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

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

pfSense openvpn настройка. установка пакета

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

pfSense openvpn настройка. openvpn-client-export

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

pfSense openvpn настройка. client export install

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

pfSense openvpn настройка. installation confirm

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

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

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

pfSense openvpn настройка. select OpenVPN

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

pfSense openvpn настройка. мастер установки OpenVPN

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

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

pfSense openvpn настройка. настройки туннеля

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

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

pfSense openvpn настройка. опции

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

Еще:  Установка пакетов в Linux.

pfSense openvpn настройка. опции, особые параметры

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

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

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

pfSense openvpn настройка. Client Export

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

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

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

pfSense openvpn настройка. настройки клиента linux

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

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

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

Комментарии

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

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