nftables.confにルールを追加する方法

nftables.confにルールを追加する方法

私の端末には次のように書きました。

sudo nft add table inet f2b-table

systemctl reload nftables.service

それから:

sudo nft list ruleset

最終結果(確認):

table inet f2b-table { }

しかし、nftables.confを開くと、なぜinet f2bテーブルが表示されないのですか?

nftables.conf以外の端末にテーブルが表示されるのはなぜですか(これら2つのファイルは異なりますか?)

nftables.confをどのように更新するのですか?

答え1

カーネルでテーブル(ファイルではない)を更新しました。ファイルを更新するとファイルに保存されます。その後、nftにファイルを再読み込みするように指示すると、そのファイルはカーネルにコピーされます。

すべてのUnix設定ファイルは単なるファイルです。ある時点で、それらは設定されているカーネルまたはプログラムに読み込まれ、ロードされます。nftables.confシステムの起動時にロードされ、再起動時にロードされるか、nft設定を再ロードするように指示します。

ファイルにコピーできるカーネルダンプデータを持つ方法があるかもしれません。ただし、これには、以前にすでに存在していたデータを変更することも含まれます。

答え2

nftables wikiを見てみると、ファイルからテーブルをロードする作業を扱うページは次のとおりです。 https://wiki.nftables.org/wiki-nftables/index.php/Scr​​ipting

このページでは、nft -f filenameコマンドがファイルからテーブル構成をロードする方法について説明しますが、構成をファイルに保存するのに一致するコマンドはありません。

「nft list」コマンドの出力がこのファイルで許可されている構文の1つであることを簡単に説明します。これは、nft list ruleset > filename"nft -f"で読み取ることができるファイルが生成されることを意味します。

コマンドはなぜsystemctl reload nftables.serviceこれをしないのですか?明らかに、パッケージマネージャによって作成されたsystemctl設定はファイル操作に保存を実行しません。たぶんファイルの読み取りのみを実行できます。 NFTパケットフィルタリング機能を備えたコンピュータがなく、どのLinux / Unixを使用しているかについて言及していないため、詳細はありません。

関連情報