Переход на ядро FIPS забрал модули Wi-Fi и VPN
Включение fips-updates загружает сертифицированное ядро, которое никогда не собиралось с вашими беспроводными модулями или модулями туннеля. Проверьте ядро, прежде чем что-либо переустанавливать.
Включите fips-updates, перезагрузитесь, и машина возвращается без беспроводного интерфейса, а клиент VPN отказывается запускаться, потому что нет его модуля ядра. Ничего не было удалено в обычном смысле пакетов, и именно поэтому переустановка клиента не меняет ровным счётом ничего. Машина работает на ядре, для которого её драйверы никогда не собирались. Два симптома, одна причина, и причина видна в одной команде.
Что на самом деле переключила перезагрузка
Обновления FIPS в Ubuntu Pro устанавливают сертифицированный вариант ядра и делают его записью загрузки по умолчанию. Этот вариант — настоящее ядро: оно загружается, работает и запускает службы, которые у вас уже были. Чего в нём нет, так это всех модулей, собранных для обычного ядра, включая беспроводной драйвер, скомпилированный вне дерева, и модуль туннеля, поставляемый через DKMS. Набор драйверов движется вместе с ядром, а не с менеджером пакетов. Так что оборудование на месте, а программное обеспечение, которое с ним говорит, нет.
Сравните работающее ядро с установленными пакетами, прежде чем открывать любые сетевые настройки. Строка версии несёт метку, которой у обычного ядра нет, и эта одна деталь объясняет обе недостающие части.
Прочитайте и запись загрузки, потому что машина может иметь сертифицированное ядро установленным, но не запускать его. В этом случае история с модулями совсем другая, и порты и драйверы, которые вы собирались переустановить, в порядке.
Прочитайте состояние модулей до настройки клиента
Модуль, который не удаётся найти, и модуль, который существует, но отказывается загружаться, — две разные неисправности с разными исправлениями. modinfo сообщает, какая из них у вас, а lsmod сообщает, что загружено прямо сейчас. Сделайте и то и другое, прежде чем трогать настройки клиента VPN, потому что собственная ошибка клиента редко их различает.
Беспроводной части нужно то же разделение. Интерфейс, который никогда не появляется, указывает на драйвер, а тот, что существует, но остаётся заблокированным, указывает на rfkill или на менеджер сети. Оба выглядят одинаково в апплете на рабочем столе и не имеют под собой ничего общего.
Выполняйте проверки на самой машине, пока неисправность ещё воспроизводится. Вывод, вставленный с другого хоста, не заменяет этот.
uname -r
pro status --all | grep -E 'fips|kernel'
modinfo wireguard 2>&1 | head -3
rfkill listКогда modinfo вообще не находит модуль, переустановка пакета пространства пользователя не поможет, потому что пространство пользователя никогда не было недостающей частью. Это наблюдение экономит час возни с пакетами и указывает прямо на ядро.
Откатывайтесь в порядке, который оставляет вам ядро
Если FIPS был включён по ошибке, документированный путь восстановления отключает службу, удаляет её пакеты и затем восстанавливает обычное ядро. Порядок не косметический. Удаление отказывается продолжаться, когда не находит другое ядро Ubuntu, потому что удаление единственного оставило бы машину, которая не загрузится. Эта проверка и есть разница между откатом и пересборкой. Она же причина, по которой последовательность не срабатывает, если обычное ядро уже было удалено.
Выполните это, пока обычное ядро ещё установлено, примите предупреждение об удалении ядра и затем перезагрузитесь. После этого убедитесь, что в установленном состоянии не осталось ни одного пакета FIPS и что работающее ядро — то, которое вы ожидали.
На удалённом хосте сначала организуйте консольный или внеполосный доступ. Удалять ядро через SSH нормально ровно до той перезагрузки, которая не возвращается.
dpkg -l | grep -E 'linux-image|fips'
sudo pro disable fips-updates --purge
sudo apt install --reinstall linux-generic
sudo rebootКогда сертификация и есть требование
Откат — неверный шаг, когда сертификация договорная, потому что тогда машина выходит из конфигурации, которую описывает аудит. В этом случае разрыв в драйверах — вопрос выбора оборудования: возьмите беспроводной адаптер, драйвер которого поставляется с сертифицированным ядром, примите машину только с кабелем или перенесите туннель на компонент, который сертифицированное ядро уже поддерживает.
Сборка модуля вне дерева в сертифицированное ядро — не нейтральное обходное решение. Она меняет то, что исполняет ядро, и именно это свойство описывает сертификация.
Запишите решение вместе с именем владельца рядом, потому что просьба просто заставить Wi-Fi работать вернётся через несколько месяцев с меньшим контекстом. Короткая заметка сейчас предотвратит тот же спор позже.
Проверяйте стек по слоям после изменения
После отката или замены оборудования проверяйте снизу вверх, а не от клиента VPN вниз. Интерфейс должен существовать, канал должен быть поднят, резолвер должен работать, и только тогда туннель имеет значение. Каждый слой падает со своим сообщением, и чтение их по порядку держит диагностику честной.
Остаточное состояние DNS от предыдущей загрузки — частая ложная тревога, поэтому прочитайте резолвер, прежде чем заключать, что туннель сломался.
nmcli device status
ip -brief link
resolvectl status | head -12
systemctl --failedЕсли туннель всё ещё не работает после возвращения ядра, читайте не строку сводки клиента, а тот этап, который падает. Модуль, который так и не загрузился, сертификат, который отвергла другая сторона, и учётные данные, которые отверг сервер, — три отдельные проблемы, и перезагрузка не различит их за вас. Запишите имя этапа в заявке, и следующий инженер начнёт с того места, где вы остановились.