Fallback Crypto
os-fallbackcrypto · Защита
Выбирает, какой из криптодрайверов ядра шифрует туннели IPsec, которые хост несёт сам, - те, что не берёт сопроцессор Sophos XGS.
В меню
- С установленным os-xgs-npu: XGS: Fallback Crypto
- Без os-xgs-npu: VPN: IPsec: Fallback Crypto

Три варианта: aesni only - то, что поставляет OPNsense; ossl beside aesni - ossl(4), драйвер ядра на основе OpenSSL, загружается сразу и в начале каждой загрузки, до появления любого туннеля, так что новые SA делятся между ними; или ossl only - aesni отключается в загрузчике через собственные Tunables OPNsense, так что со следующей загрузки все сеансы принадлежат ossl.
ossl несёт собственный AES-GCM из OpenSSL: широкий код при AVX-512 и VAES и совмещённый код AES-NI/GHASH при AVX, PCLMULQDQ и MOVBE. У хоста XGS 3300, AMD Ryzen Embedded V1780B, нет AVX-512, поэтому ossl взял бы второй. Быстрее ли ossl, чем aesni, на этих хостах, ещё не измерено.
На любом XGS сопроцессор шифрует взятые им SA, что бы здесь ни было выбрано; это меняет только те, что остались хосту. На XGS 136, где os-xgs-npu ограничивает IPsec программными провайдерами, они согласуются: ossl - программный провайдер, а ранний хук загрузки этого плагина выполняется раньше хука os-xgs-npu.
Возможности
-
Три варианта
aesni only, ossl beside aesni или ossl only.
-
Загрузка до любого туннеля
ossl загружается сразу и в начале каждой загрузки, до появления любого туннеля.
-
Отключение aesni через Tunables
hint.aesni.0.disabled=1 записывается через собственные Tunables OPNsense, поэтому виден в System: Settings: Tunables.
-
Возможности процессора
Процессор хоста, возможности, от которых зависит AES-GCM, и какой код AES-GCM берёт там ossl.
-
Провайдеры и SA
Имеющиеся криптопровайдеры, ограничен ли IPsec программными провайдерами, и SA в ядре с их алгоритмами.
-
Следующая загрузка
Что запустит следующая загрузка и нужна ли ещё перезагрузка для остального.
Установка и обновление
Начиная с релиза os-xgs-npu, следующего за 0.1.0-alpha.7.1, XGS: Updates показывает его на вкладке Plugins — установленная копия обновляется там вручную, а отсутствующая там же устанавливается, — и готовые образы, собранные из этого релиза, содержат его; до тех пор он устанавливается и обновляется, как описано ниже. Ни одна запись cron не запускает обновление. Установить его на устройстве XGS или на любом другом OPNsense можно от root: из checkout репозитория командой sh install/install.sh, которая помещает страницу под XGS при os-xgs-npu и под VPN: IPsec без него и сохраняет настройки при повторном запуске; или из пакета релиза os-fallbackcrypto-1.0.0.pkg, проверенного по SHA256SUMS и добавленного через pkg. Установленная так копия обновляется собственным self-update.py. Ничего не меняется, пока провайдер не выбран и не применён. Перед удалением верните aesni only и примените или потом удалите hint.aesni.0.disabled из System: Settings: Tunables. В репозитории плагинов OPNsense его нет.
Ограничения и то, что ещё не проверено
- Применение выбора со страницы (apply.php, который загружает ossl и записывает tunable).
- Туннель на ossl и отключённый aesni.
- Пропускная способность обоих провайдеров: быстрее ли ossl, чем aesni, не измерено.
- Пакет, собранный tools/make-package.sh и добавленный через pkg.
- Установка на OPNsense без os-xgs-npu.
- Обновление через вкладку Plugins или self-update.py: 1.0.0 - первый релиз, поэтому ни один ещё не опережал установленную копию.
Репозиторий
Первый выпуск: 2026-10-25