Я использую Ubuntu 16.04 vm у провайдера, которого я раньше не использовал, и сразу же столкнулся с новой проблемой. Я установил пакет iptables, однако при попытке запустить iptables -L
я получил следующее сообщение:
modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-72-generic/modules.dep.bin'
modprobe: FATAL: Module ip_tables not found in directory /lib/modules/4.4.0-72-generic
iptables v1.6.0: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
Моим первым решением было загрузить модуль ip_tables, однако в /lib/modules не оказалось модулей... Мне также интересно, где находится конфигурация ядра, поскольку ее не было в /boot.
Я создал тикет в службу поддержки, но поставщик услуг утверждает, что уровень поддержки, который я ищу, «требует соглашения об уровне обслуживания».
Мысли?
решение1
Мне удалось убедить службу поддержки обратиться к инженеру. На самом деле, это было до смешного просто:
apt-get install -y linux-image-$(uname -r)
решение2
Запустить обновления:
sudo apt-get update && sudo apt-get upgrade
Если произошло обновление ядра, перезагрузите систему, прежде чем повторить попытку
sudo iptables -L
.Проверьте, что
iptables
встроено в ядро:grep -i iptables /boot/config-$(uname -r)
Если вывод ссылается на что-то вроде ,
*IPTABLES=y
то это уже встроено.Убедитесь, что модуль загружен:
sudo modprobe ip_tables
По умолчанию
iptables
служба отключена. Вы можете запустить и включить ее с помощью:sudo systemctl start iptables && sudo systemctl enable iptables