Перейти к содержанию

Fallback Crypto

os-fallbackcrypto · Защита

Выбирает, какой из криптодрайверов ядра шифрует туннели IPsec, которые хост несёт сам, - те, что не берёт сопроцессор Sophos XGS.

В меню

  • С установленным os-xgs-npu: XGS: Fallback Crypto
  • Без os-xgs-npu: VPN: IPsec: Fallback Crypto
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

os-fallbackcrypto Выпуски