Netfilterチェーンにカウンタキューを追加すると、仮想マシンがハングするのはなぜですか?

Netfilterチェーンにカウンタキューを追加すると、仮想マシンがハングするのはなぜですか?

ユーザー空間の内外でパケットをキューに入れるようにNetfilterテーブルを設定しています。これまでのテーブル構成は次のとおりです。

table inet filter {

        # protocols to allow
        set allowed_protocols {
                type inet_proto
                elements = { icmp, icmpv6 }
        }

        # interfaces to accept any traffic on
        set allowed_interfaces {
                type ifname
                elements = { "lo" }
        }

        # services to allow
        set allowed_tcp_dports {
                type inet_service
                elements = { ssh, 9090 }
        }

        # this chain gathers all accept conditions
        chain allow {
                ct state established,related accept

                meta l4proto @allowed_protocols accept
                iifname @allowed_interfaces accept
                tcp dport @allowed_tcp_dports accept
        }

        # base-chain for traffic to this host
        chain INPUT {
                type filter hook input priority filter + 20
                policy accept

                jump allow
                reject with icmpx type port-unreachable
        }

        chain input {
                type filter hook input priority 0;
        }

        chain forward {
                type filter hook forward priority 0;
        }

        chain output {
                type filter hook output priority 0;
        }
}

これまではよくロードされているようですnft -f

しかし、これらのコマンドのいずれかを実行すると...

nft add inet filter input counter queue num 0

または

nft add inet filter output counter queue num 1

...私の仮想マシンは入力への応答を完全に停止し、接続が終了したときにvagrant reload再起動するには仮想マシンを強制終了する必要があると聞きました。これらのキューを正しく設定する方法についてお役に立てば幸いです。

オペレーティングシステム:Linux fedora 5.19.8-200.fc36.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Sep 8 19:02:21 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

徒歩旅行者:Vagrant 2.3.0

答え1

アプリケーションがキューを受信して​​いない場合は、bypassパケットを受け入れてみてください。

nft add inet filter input counter queue num 0 bypass

これを読んでください https://wiki.nftables.org/wiki-nftables/index.php/Queueing_to_userspace

関連情報