nftables パケット フィルター 1.0.1 リリース

IPv4、IPv6、ARP、およびネットワークブリッジのパケットフィルタリングインターフェースを統合するパケットフィルタリングフレームワークであるnftables 1.0.1がリリースされました(iptables、ip6table、a​​rptables、およびebtablesの後継として開発されています)。nftables 1.0.1に必要な変更はカーネルに組み込まれています。 Linux 5.16-rc1。

nftablesパッケージには、ユーザー空間で動作するパケットフィルタコンポーネントが含まれており、カーネルレベルの処理は、カーネルの一部であるnf_tablesサブシステムによって提供されます。 Linux バージョン3.13以降、カーネルレベルでは汎用的なプロトコル非依存のインターフェースのみが提供され、パケットからのデータ抽出、データ操作の実行、およびフロー制御のための基本的な機能が提供される。

フィルタリングルール自体とプロトコル固有のハンドラはユーザー空間でバイトコードにコンパイルされ、その後、このバイトコードはNetlinkインターフェースを使用してカーネルにロードされ、カーネル内で特別な処理で実行されます。 仮想マシンこれは、BPF(Berkeley Packet Filters)を彷彿とさせるものです。このアプローチにより、カーネルレベルで実行されるフィルタリングコードのサイズを大幅に削減し、すべてのルール解析とプロトコルロジックをユーザー空間に移動させることができます。

主な革新:

  • 大きなセットおよびマップ リストを読み込む際のメモリ消費量が削減されました。
  • セットリストとマップリストの再読み込みが高速化されました。
  • 大規模なルールセット内の選択されたテーブルとチェーンの出力が高速化されました。例えば、「nft list ruleset」コマンドで100万行のルールセットを出力する場合の実行時間は3.049秒ですが、natテーブルとfilterテーブルのみを出力する場合(「nft list table nat」、「nft list table filter」)はそれぞれ1.969秒と0.697秒に短縮されました。
  • 大きなセットリストとマップリストを持つルールを処理するときに、「--terse」オプションを使用してクエリの実行を高速化しました。
  • 「egress」チェーンからのトラフィックをフィルタリングする機能を提供しました。これは、netdev チェーン (hook egress) の egress ハンドラーと同じレベル、つまりドライバーがカーネル ネットワーク スタックからパケットを受信する段階で処理されます。table netdev filter {chain egress {type filter hook egress devices = {eth0, eth1}priority 0; meta priority set ip saddr map {192.168.10.2: abcd:2, 192.168.10.3: abcd:3}}}
  • 指定されたオフセットでパケット ヘッダーとコンテンツのバイトを一致させて変更することができます。# nft add rule xy @ih,32,32 0x14000000 counter # nft add rule xy @ih,32,32 set 0x14000000 counter

出所: オープンネット.ru

DDoS 保護機能を備えた信頼性の高いサイト用ホスティング、VPS VDS サーバーを購入する 🔥 DDoS攻撃対策付きの信頼性の高いウェブサイトホスティング、VPS/VDSサーバーを購入しましょう | ProHoster