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

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

Для начала необходимо установить пакет openvpn-client-export, для этого переходим в веб интерфейсе System --> Package Manager --> Available Packages в строке поиска набираем openvpn-client-export и нажимаем install.

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

После установки приступаем к настройкам.

Переходим VPN --> OpenVPN и выбираем Wizards

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

Нажимаем Next

На следующем экране создаем CA

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

После заполнения нажимаем Add new CA и повторяем действия для Server Certificate

После создания сертификатов, приступаем к настройкам OpenVPN сервера.

Заполняем описание

Выбираем интерфейс, порт и протокол для будущего сервера

Настройки Cryptographic Settings по вашему желанию и потребностям.

Приступаем к настройке Туннеля

Необходимо заполнить

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

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

Выбираем Firewall Rule и OpenVPN rule

Нажимаем Next и Finish для завершения

После завершения новый сервер должен появиться в списке

Следующим шагом создаем пользователя, переходим System --> User Manager --> Users и нажимаем Add Заполняем имя пользователя, пароль

Далее выбираем Certificate заполняем поля и выбираем сертификат, который создавали во время настройки OpenVPN сервера

Нажимаем Save

Теперь переходим VPN --> OpenVPN и переходим на вкладку Client Export

Для Client Connection Behavior выбираем Other и прописываем Public IP или доменное имя при наличии

Далее выбираем нашего пользователя и экспортируем конфигурацию

Настройте клиент в соответствии с вашей ОС

Для проверки у меня есть виртуальная машина без публичного 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