このルール
-A INPUT -i eth0 -p tcp -s 10.0.0.6/24 -m state --state NEW,ESTABLISHED --dport 17828 -j ACCEPT
以前はiptablesで正常に動作していましたが、今は次のメッセージで失敗するようです。
iptables-restore v1.8.2 (nf_tables): Couldn't load match `state':No such file or directory
システムアップデートによるものかもしれませんか?ここでは問題を特定できません。ありがとうございます!
答え1
はい、これはシステム更新によるものです。 iptablesはnftablesに置き換えられており、iptables-restore
実行中のバージョンはnftablesを使用しています。あなたは走らなければなりませんiptables-レガシー-復元代わりに。
長期的には、iptablesは廃止され、ある時点でディストリビューションから削除されるため、nftablesに移行することをお勧めします。一度試してくださいiptables-translate
。ほとんどの移行に役立ちます。
答え2
state
廃止予定です。
-m conntrack --ctstate ESTABLISHED,RELATED
変える
-m state --state ESTABLISHED,RELATED
答え3
私はこの問題をで解決しましたsudo modprobe ipt_owner
。
答え4
カーネルモジュールをブラックリストに追加した後も、x_tables
まだ使用しています。カーネルモジュールだけが必要だとiptables-nft
思いましたが、一致する名前(たとえば)を識別するのにも依存しているようです。ブラックリストに登録されていない場合:iptables-nft
nf_tables
x_tables
-m state
-m limit
lsmod
Module Size Used by
x_tables 53248 4 xt_conntrack,nft_compat,xt_state,ip_tables
x_tables
したがって、たとえば、ファイルの1つにカーネルモジュールがブラックリストに含まれていないことを確認してください。/etc/modprobe.d/
逆にブラックリストに乗っても問題ありませんip_tables
。
バージョン: Debian 11.5、Linux 5.10.149-2、iptables 1.8.7-1、nftables 0.9.8-3.1+deb11u1。