![](https://habrastorage.org/getpro/habr/upload_files/a6f/b3b/762/a6fb3b762c955e2d0ee7b02dccda4130.png)
Давно не было на Хабре новостей про новые версии pfSense - последняя новость датируется 2014 годом и рассказывает ещё о pfSense 2.1.5. Последняя стабильная Community Edition версия pfSense на сегодня - 2.5.2 (вышла в июле 2021). О ней и пойдёт речь, точнее о доступном функционале и полезных фишках. Так как нового накопилось довольно много, будет цикл статей по разным сервисам файрвола (уведомления в Telegram!) и его пакетам (Squid, pfBlockerNG, Snort/Suricata). А сейчас VPN.
IPsec
К одним из наиболее важных изменений стоит отнести поддержку аппаратного ускорения AES-NI, что позволяется заметно ускорить криптографические операции на современных процессорах. Активизируется на вкладке System → Advanced / Miscellaneous. См. про оптимизацию VPN в официальных доках.
IPsec демон strongswan обновлён до версии 5.9.2_2.
Поддержка сертификатов на эллиптических кривых (ECDSA),- возможно использовать не только в IPsec, но и в OpenVPN, пакетах Squid, HAProxy и пр. Несмотря на обилие разных алгоритмов, современное ПО работает только с тремя из них - secp384r1, secp521r1 и prime256v1.
Возможность выбора PRF (Pseudo-Randon Functions) при настройке первой фазы - не настолько часто используемая функция, обычно нужна если на удалённой стороне решили помудрить с данным параметром.
Ручная настройка таймаутов Rekey и Reauth, а также Child SA Start/Close action. Бывает необходимо для корректной переинициализации SA. Подробнее.
Gateway duplicates - позволяет создать несколько IPsec конфигураций к одному удалённому хосту. Нужно если на pfSense несколько внешних сетевых интерфейсов + динамическая маршрутизация на них (BGP, OSPF).
PKCS#11 - использование ключа с PKCS#11 токена. Можно использовать Yubikey, Rutoken и пр. токены поддерживаемые opensc.
Maximum IKEv1 Phase 2 Exchanges - как понятно из название это максимальное кол-во IKEv1 Phase 2 Exchanges. Если вам всё ещё непонятно, то данная опция пригодится только если у вас IKEv1 с большим количеством Phase 2 туннелей (чтобы не отваливались при rekeying).
Custom IKE/NAT-T Ports - возможность использования нестандартных портов для IKE (500 порт по дефолту) и NAT-T (4500 порт). Может использоваться для обхода блокировки IPsec и в некоторых экзотических случаях.
Что касается remote access IPsec (правильно IPsec Mobile), то тут два небольших дополнения:
RADIUS IP address priority - при использовании RADIUS сервера для аутентификации, назначать клиенту IP адрес получаемый в RADIUS ответе,- если его там нет, то динамически назначать адрес из пула.
RADIUS Advanced Parameters - тюнинг таймаутов, нужен в основном при использовании 2FA аутентификации (внешний DUO сервер, к примеру)
IPsec Filter Mode - важная опция, позволяющая переключать режим пакетного фильтра для IPsec, в связи с особенностями его работы на FreeBSD. Так, по-умолчанию возможно настраивать фильтр пакетов для всего IPsec трафика на одной вкладке, т.е. Tunnel, Transport и VTI трафик весь фильтруется в одном месте (псевдо-интерфес enc0). Если же переключить режим в Filter IPsec VTI and Transport on assigned interfaces, то можно создавать отдельные правила файрвола на каждом VTI или Transport интерфейсе, но Tunnel режим работать не будет.
OpenVPN
Главным образом багфиксы, вышеупомянутая поддержка ECDSA сертификатов, обновление OpenVPN до версии 2.5.2, а также:
Username as Common Name - позволяет использовать Client Specific Overrides (персональные настройки для нужных пользователей) в Remote Access (User Auth) режиме.
Регистрация DNS имён клиентов при подключении - IPv4, IPv6 и обратные зоны. Опция Services > DNS Resolver / OpenVPN Clients.
OCSP Check - проверка валидности сертификатов с помощью OCSP сервера.
Многочисленные улучшение в парсере Cisco-AVPair правил прилетающих с RADIUS сервера - поддержка IPv6, протоколов icmp, udp, tcp, опций для указания диапазонов портов (gt, lt, range, eq, ne). Пример:
Cisco-AVPair = "ip:inacl#1=permit tcp host 192.168.5.10 host 192.168.6.3 eq 80",
Cisco-AVPair += "ip:inacl#2=permit udp host {clientip} host 192.168.33.4 eq 53",
Cisco-AVPair += "ipv6:inacl#1=permit icmp host {clientipv6} host 2001:DB8::10",
Cisco-AVPair += "ipv6:inacl#2=permit udp host 2001:DB8::4444 host 2001:DB8::7 range 1024 65535"
Pull DNS - теперь pfSense может использовать DNS сервер получаемый при подключении к удёлённому OpenVPN серверу. Необходимо если ваш VPN-провайдер выдаёт параметры DNS сервера при каждом подключении (например ExpressVPN).
Remove Server Routes - новая опция при настройке Client Specific Override, предотвращающая добавление маршрутов в таблицу маршрутизации клиента.
OpenVPN Client Export теперь может создавать "silent installer" - неинтерактивный установщик который можно использовать для деплоя.
В новой версии pfSense ожидается поддержка алиасов в OpenVPN и вам больше не придётся писать через запятую перечень всех local/remote сетей)
L2TP
Из нового только возможность указать VPN MTU, а в целом это небольшие багфиксы. К примеру теперь сервис не будет рестартовать при каждом добавлении/удалении/изменении пользователей.
WireGuard
Новый тип VPN в pfSense - поставляется в виде отдельного пакета и настраивается в несколько кликов. Будет отдельная статья про эти самые клики)
на сегодня всё о новинках pfSense - это моя первая статья на хабре, буду рад ответить на вопросы и исправить замечания
Полезные статьи по pfSense: