nftablesを使用していると、ルールセットを確認するために「nft -a list ruleset」を実行すると、ルールのそれぞれにhandle番号が表示されます。そこで、「handle番号」を使ってルールを追加・削除したい場合、毎回その番号を探さなければならないのか?という疑問が出てくることがあります。この記事では、nftablesにおけるhandle番号の使い方、そして途中でルールを追加や削除する際にどうすればいいのかを解説します。
nftablesのhandle番号とは?
nftablesでは、各ルールに「handle番号」が自動的に割り当てられます。この番号は、ルールを一意に識別するために使用され、後でルールを変更したり削除したりする際に利用されます。通常、ルールを追加する際にはこの番号を使って操作しますが、番号を手動で指定することができるのか、または毎回「list」コマンドで探さなければならないのか、というのが疑問となります。
handle番号を使わずにルールを追加する方法
nftablesでは、必ずしもhandle番号を指定してルールを追加する必要はありません。通常のルール追加の場合、特定のhandle番号を指定せずに、以下のようにルールを追加できます。
nft add rule inet filter input ip saddr 192.168.1.1 accept
このように、ルールを追加する際にはhandle番号を気にすることなく、ルール自体に必要な情報を記述するだけで十分です。handle番号はnftablesが内部的に自動で割り当てます。
途中でルールを追加・削除する場合
ルールを追加・削除する際に、最初に表示されたhandle番号を毎回探す必要があるかというと、実際にはそうではありません。以下のように、追加・削除したいルールを指定する方法があります。
- ルールを追加:「nft add rule」コマンドを使って新しいルールを追加できます。
- ルールを削除:「nft delete rule」コマンドを使って既存のルールを削除できます。削除するルールを「handle番号」で指定することができますが、番号がわからなくてもルールの内容を指定して削除することも可能です。
handle番号を使わずに管理する方法
もしhandle番号を使いたくない場合でも、ルールを追加したり削除したりする際に、特定の条件や内容を基にルールを操作する方法もあります。例えば、特定の条件にマッチするルールを削除することが可能です。この場合、handle番号に依存せずにルールの内容を指定して操作を行えます。
まとめ
nftablesでルールを管理する際、handle番号は便利ですが、必ずしも番号を手動で指定する必要はありません。ルールを追加・削除する際は、ルール自体の内容を指定するだけで簡単に操作が可能です。また、handle番号を使うことでルールを特定することもできますが、内容に基づいた操作を行うこともできます。これにより、nftablesの運用が柔軟で効率的になります。


コメント