DNSに3つの異なるTXTレコード(1 SPF、1つのキーベース証明、DMARCエントリ)のドメインエントリがあります。
メールサーバーを新しいホストに移動しようとしているため、SPFレコードを更新する必要がありますが、SPFレコードのみを削除してnsupdateで置き換える方法を考え出すのに苦労しています。
現時点で私が思いつく最良のオプションは、更新されたSPFレコードを追加する前に、nsupdateをスクリプト化して3つすべてを削除し、2つの変更されていないものを再度追加することです。
1つのレコードを削除する方法はありますか?
レコードの名前とタイプを指定するだけでなく、既存の値も指定する場合、ネームサーバーはその値のレコードのみを削除し、同じタイプの他のレコードは変更しないでおく必要があります。
update delete domain-name [ ttl ] [ class ] [ type [ data...] ]
domain-nameという名前のリソースレコードをすべて削除します。タイプとデータが指定されている場合、一致するリソースレコードのみが削除されます。クラスが指定されていない場合は、インターネットクラスが想定されます。 ttlは無視され、互換性のためにのみ許可されます。
update add domain-name ttl [ class ] type data...
指定されたttl、クラス、およびデータで新しいリソースレコードを追加します。
つまり.
# nsupdate
> update delete example.com 86400 TXT
> send
allTXTレコードを削除する必要がありますが、代わりにより具体的:
# nsupdate
> update delete example.com 86400 TXT “v=spf1 a mx ip4:10.0.0.131”
> update add example.com 86400 TXT “v=spf1 a mx ip4:192.168.0.17”
> send
次に、nsupdateはonlySPF TXTレコードを削除します。次に、たとえば別のIPv4アドレスを持つレコードに置き換えることができます。
または、計画された移行の少し前に新しいIPアドレスを追加し、2つの許可されたアップアドレスでしばらく実行して、移行が完了した後にのみ古いIPアドレスを削除することができます。