Смяната на ядрото с 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Ако тунелът все още се проваля, след като ядрото се върне, четете провалилия се етап, а не обобщения ред на клиента. Модул, който никога не се е заредил, сертификат, който партньорът е отхвърлил, и идентификационни данни, които сървърът е отказал, са три отделни проблема и рестарт няма да ги различи вместо вас. Запишете името на етапа в заявката и следващият инженер ще започне оттам, където вие сте спрели.