Поступил заказ на фрилансе - перенести сайты с вебхостинга на VPS, хостер hostland.ru. Ничего не обычного: перенести базы данных и файлы, развернуть веб-сервер, настроить сайты и сертификаты, обеспечить безопасность.
Но когда дело дошло до firewall (ufw), то внезапно получил такой ответ:
ERROR: problem running iptables: modprobe: FATAL: Module ip_tables not found in directory /lib/modules/4.19.0-18-amd64
iptables v1.8.4 (legacy): can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
В ядро 4.19.0-18 не установлены дополнительные модули, среди которых iptables.
Ладно, получим информацию о дистрибутиве:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04 LTS
Release: 20.04
Codename: focal
А теперь узнаем что за ядро:
$ uname -a
Linux hostXXX 4.19.0-18-amd64 #1 SMP Debian 4.19.208-1 (2021-09-29) x86_64 x86_64 x86_64 GNU/Linux
Посмотрим пакеты с упоминанем linux:
$ dpkg -l | grep linux
ii console-setup-linux 1.194ubuntu3 all Linux specific part of console-setup
ii libselinux1:amd64 3.0-1build2 amd64 SELinux runtime shared libraries
ii linux-base 4.5ubuntu3.7 all Linux image base package
ii linux-image-5.4.0-107-generic 5.4.0-107.121 amd64 Signed kernel image generic
ii linux-image-virtual 5.4.0.107.111 amd64 Virtual Linux kernel image
ii linux-modules-5.4.0-107-generic 5.4.0-107.121 amd64 Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
ii util-linux 2.34-0.1ubuntu9 amd64 miscellaneous system utilities
И еще в /lib/modules/
другая версия модулей ядра, отличная от запущенного:
Запущено ядро версии 4.19.0-18-amd64 без модулей, а установлено ядро версии 5.4.0-107.121-amd64.
Установить модули ядра через apt:
$ sudo apt install linux-modules-4.19.0-18-amd64
В моем случае Unable to locate package.
Поискать пакет на www.debian.org или pkgs.org или kernel.ubuntu.com.
Не нашел.
Поискать решение в интернете, например вот.
Не помогло.
Написать хостеру. Техническая поддержка решила проблему (свою) в течении 10 минут:
Получилось!