iptablesおよびip_tablesモジュールを持たないUbuntu VM

iptablesおよびip_tablesモジュールを持たないUbuntu VM

以前に試したことのないプロバイダの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
    

関連情報