以前に試したことのないプロバイダのUbuntu 16.04仮想マシンを使用していますが、すぐに新しい問題が発生しました。 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にないので、どこにいるのか疑問に思います。
Aサポートチケットが作成されましたが、プロバイダは私が望むサポートレベルには「SLA契約が必要です」と言いました。
アイデア?
答え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