Настройка OpenVPN в pfSense

Настройка OpenVPN для доступа к приватной части сети.

  1. В первую очередь необходимо установить пакет openvpn-client-export. Для этого следует открыть веб-интерфейс и выбрать System --> Package Manager --> Available Packages. В строке поиска ввести название пакета openvpn-client-export и нажать “Install”. Окно установки пакета представлено на рисунке 1.

Рисунок 1. Установка openvpn-client-export

Необходимо дождаться завершения установки.

  1. После установки пакета можно перейти к настройкам. Для этого следует перейти VPN --> OpenVPN и выбрать Wizards.

В примере будут использоваться локальные пользователи, как это показано на рисунке 2.

Рис. 2. Настройка openvpn-client-export

Необходимо нажать кнопку “Next” и на следующем экране создать Certification authority. Параметры сертификата приведены в таблице 1.

НазваниеОписание
Descriptive nameЗадаем имя
Common NameВнутреннее имя, если пустое то будет использоваться Descriptive name
Country CodeДвухбуквенный код страны
State or ProvinceПолное название штата/области
CityНазвание города
OrganizationИмя организации
Organizational UnitИмя отдела/департамента

Таблица 1. Параметры CA

После введения всех необходимых данных, следует нажать кнопку “Add new CA” и повторить те же действия для Server Certificate.

  1. После создания сертификатов можно переходить к настройкам OpenVPN сервера.

Первым шагом следует заполнить описание (Description), как это показано на рисунке 2.

Рис. 2. Внесение основной информации о сервере

На следующем этапе требуется выбрать протокол (Protocol), интерфейс (Interface) и порт (Local Port) для будущего сервера, как это представлено на рисунке 3.

Рис. 3. Определение протокола, интерфейса и порта

Настройки Cryptographic Settings выставляются согласно заданным требованиям.

  1. Необходимо настроить туннель. Основные параметры настройки представлены на рисунке 5.

Рис. 5. Настройка туннеля

Необходимо заполнить следующие параметры:

  • IPv4 Tunnel Network - сеть, выделяемая клиентам. Обратите внимание, что она не должна пересекаться с вашими сетями;
  • IPv4 Local Network - сеть или сети, к которым будет предоставлен доступ из сети VPN.

Остальные настройки выставляются по желанию и потребностям. После заполнения всех нужных параметров требуется нажать кнопку Next.

Следующим шагом требуется отметить Firewall Rule и OpenVPN rule, как это показано на рисунке 6.

Рис. 6. Настройка Firewall и OpenVPN

После того, как выставите требуемые параметры, нажмите кнопку “Next”, а затем “Finish” для завершения. После этих действий, новый сервер должен появиться в списке, как это показано на рисунке 7.

Рис. 7. Окно серверов OpenVPN

  1. Следующим шагом требуется создать нового пользователя. Для этого следует выбрать System –> User Manager –> Users и нажать кнопку “Add”. В открывшемся окне необходимо задать имя пользователя (Username) и придумать для него пароль (Password). Пример заполнения полей показан на рисунке 8.

Рис. 8. Добавление нового пользователя

  1. Необходимо настроить сертификат. Для этого в окне Create Certificate for Users требуется заполнить все поля и выбрать сертификат, который был создан во время настройки OpenVPN сервера, как это показано на рисунке 9.

Рис. 9. Настройка сертификата

После заполнения всех полей требуется нажать кнопку “Save”.

Для дальнейшей настройки требуется перейти VPN --> OpenVPN и открыть вкладку “Client Export”. В разделе “Client Connection Behavior” нужно выбрать “Other” и прописать Public IP или доменное имя при наличии. Внешний вид окна показан на рисунке 10.

Рис. 10. Настройка Connection Behavior для клиентов

  1. В окне OpenVPN Clients требуется выбрать только что созданного пользователя, а затем экспортировать конфигурацию, как это представлено на рисунке 11.

Рис. 11. Окно клиентов OpenVPN

ННастройка клиента производится в соответствии с ОС пользователя.

В рамках данного руководства проверка будет осуществляться на тестовой виртуальной машине без публичного IP-адреса. После настройки она должна быть доступна с подключенным VPN.

 ssh ubuntu@10.128.0.26
Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-79-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Wed Aug 30 08:59:32 AM UTC 2023

  System load:  0.0                Processes:             131
  Usage of /:   23.5% of 17.63GB   Users logged in:       0
  Memory usage: 16%                IPv4 address for eth0: 10.128.0.26
  Swap usage:   0%

 * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
   just raised the bar for easy, resilient and secure K8s cluster deployment.

   https://ubuntu.com/engage/secure-kubernetes-at-the-edge

Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status


*** System restart required ***
Last login: Wed Aug 30 08:59:33 2023 from 10.0.8.2
ubuntu@test-vm:~$ 

Также необходимо удостовериться, что pfSense начал отслеживать пакеты. Для это следует выполнить следующие команды:

Проверка внешнего IP:

ubuntu@test-vm:~$ curl -4 icanhazip.com
51.250.89.142
ubuntu@test-vm:~$ 

Проверка, что pfSense стал шлюзом для виртуальной машины:

ubuntu@test-vm:~$ traceroute google.com
traceroute to google.com (64.233.165.102), 30 hops max, 60 byte packets
 1  _gateway (10.128.0.1)  0.821 ms  0.801 ms  0.792 ms
 2  * * *
 3  pfsense.ru-central1.internal (10.128.0.11)  1.161 ms  1.151 ms  1.142 ms

Как можно увидеть, после шлюза 10.128.0.1 идет LAN интерфейс pfSense.

На этом настройка закончена.