
Ich verwende eine Ubuntu 16.04-VM bei einem Anbieter, den ich noch nie zuvor verwendet habe, und bin sofort auf ein neues Problem gestoßen. Ich habe das iptables-Paket installiert, aber als ich versuchte, es auszuführen iptables -L
, erhielt ich diese Meldung:
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.
Meine erste Reaktion bestand darin, das Modul „ip_tables“ zu laden, es befanden sich jedoch keine Module in „/lib/modules“ … Ich frage mich auch, wo die Kernelkonfiguration ist, da sie nicht in „/boot“ war.
Ich habe ein Supportticket erstellt, aber der Anbieter sagt, dass für den von mir gewünschten Supportgrad „eine SLA-Vereinbarung erforderlich ist“.
Gedanken?
Antwort1
Ich konnte den Support davon überzeugen, einen Ingenieur zu fragen. Es war eigentlich kinderleicht:
apt-get install -y linux-image-$(uname -r)
Antwort2
Updates ausführen:
sudo apt-get update && sudo apt-get upgrade
Wenn ein Kernel-Update verfügbar ist, starten Sie Ihr System neu, bevor Sie es
sudo iptables -L
erneut versuchen.Überprüfen Sie, ob es
iptables
im Kernel integriert ist:grep -i iptables /boot/config-$(uname -r)
Wenn die Ausgabe auf etwas wie verweist,
*IPTABLES=y
ist es bereits integriert.Stellen Sie sicher, dass das Modul geladen ist:
sudo modprobe ip_tables
Standardmäßig
iptables
ist der Dienst deaktiviert. Sie können ihn starten und aktivieren mit:sudo systemctl start iptables && sudo systemctl enable iptables