カーネルの更新はオプションではなく、iptablesを実行しようとすると、次のメッセージが表示されます。
root@mail:/etc/postfix# iptables -L
libkmod: ERROR ../libkmod/libkmod.c:554 kmod_search_moddep: could not open moddep file '/lib/modules/2.6.32-5-xen-amd64/modules.dep.bin'
iptables v1.4.14: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
修正する:
走った後
root@mail:/home/admin# sudo depmod
わかりました。
ERROR: could not open directory /lib/modules/2.6.32-5-xen-amd64: No such file or directory
FATAL: could not search modules: No such file or directory
〜の後
root@mail:/home/admin# sudo modinfo ip_tables
わかりました。
libkmod: ERROR ../libkmod/libkmod.c:554 kmod_search_moddep: could not open moddep file '/lib/modules/2.6.32-5-xen-amd64/modules.dep.bin'
ERROR: Module alias ip_tables not found.
カーネルの更新が必要なようです。
答え1
最近このインストールのカーネルをアップグレードしましたか?通常、iptablesはカーネルに組み込まれており、デフォルトでは外部モジュールではありません(通常 - 多くの場合そうではないと確信しています)。
depmodコマンドを使用してモジュールのロード順序を再計算すると、問題が解決することがあります。
sudo depmod
適用するには、depmodを実行して再起動する必要があります。エラーが発生した場合は、質問を更新してください。
次に、ip_tables.ko
存在することを確認します。
sudo modinfo ip_tables
ロードされない場合は、以下をロードしてみてください。
sudo modprobe ip_tables
最後に、潜在的に貴重なデータポイントとしてこのコマンドで使用されているiptables関連のカーネルモジュールを確認し、詳細で質問を更新してください。
cat /proc/net/ip_tables_matches
見つからない場合は、ファイルがシステムにあることを確認してください。
find / -name "ip_tables.ko"
そうでない場合は、少なくともカーネルバージョンに合ったカーネルモジュールを再構築(またはパッケージから再インストール)する必要があると思います。