特定のホストで発生するすべてのトラフィックにルールを適用する必要がありますnftables
が、パケットに正しいFQDNが含まれる必要はないため、IPアドレスに依存する必要があります。問題は、FQDNに対して複数の冗長IPが返され、これらのIPが頻繁に順序/優先順位を変更または完全に置き換えられる可能性があることです。
複数のIPが返されるため、変数nameを使用する必要がありますが、一致set
する最新のIPリストがあることを確認するために定期的にセットを更新する必要があります。
named
私たちのサーバーにはBIND9()があるので、cronジョブスクリプトを持つことができると思います。
- 次のコマンドを使用して、FQDNのローカルDNSリゾルバを更新します
rdnc flushname...
。 - その後、パーサーキャッシュを更新するために採掘します
dig +short...
。 nft add element...
新しい人と一緒に走り、- 以前の名前付きセットを更新
nft delete element...
これがこの問題を解決する正しい方法ですか?それとも、すでに別の方法で解決された問題を考えすぎているのでしょうか?
答え1
古い要素を削除する前に、新しい要素を作成する必要があります。これにより、常に一致するグループが1つあり、ファイアウォールの更新によってパケットが失われることはありません。短い間隔は問題を引き起こさないかもしれませんが、しない理由はありません。
答え2
実際には、nft -fを介してnftablesのアトミックロード動作を使用できます。このファイルでは、最初にコレクションを更新してから、現在のDNSマイニングから返された要素のみを追加します。コレクションコンテンツを最初から宣言するので、コレクションにないコンテンツを削除する必要はありません。実装するのは簡単です...