これまで使用したことのないプロバイダーで 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 になかったので、どこにあるか疑問に思っています。
サポート チケットを作成しましたが、プロバイダーは、私が求めているサポート レベルには「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