動作中の dns+dhcp サーバーがあります。クライアントが dchpd サーバーから IP を受信すると、ホスト名が dhcpd+dns サーバーに送信され、正常に動作します。ただし、問題が 1 つあります。nagios1.myzone.com というクライアントがあるとします。何らかの理由で、このクライアントを削除し、同じ名前で Linux ディストリビューションが異なり、もちろん DHCID (dhcp クライアント ID) も異なる別のクライアントに置き換えます。dns+dhcp サーバーは次のエラーを返します。
client @0x6g12280f2z00 192.168.0.4#48193/key dhcp.myzone.com: updating zone 'myzone.com/IN': update unsuccessful: nagios1.myzone.com: 'name not in use' prerequisite not satisfied (YXDOMAIN)
Nov 26 20:38:11 dns1 named[1541]: client @0x6g12280f2z00 192.168.0.4#37309/key dhcp.myzone.com: updating zone '.myzone.com/IN': update unsuccessful: nagios1..myzone.com/TXT: 'RRset exists (value dependent)' prerequisite not satisfied (NXRRSET)
Nov 26 20:38:11 dns1 dhcpd[1548]: Forward map from nagios1..myzone.com to 192.168.0.110 FAILED: Has an address record but no DHCID, not mine.
これを回避するには、これらの行を含むTXTレコードを削除するだけです。
vim file.txt
zone myzone.com.
server dns1.myzone.com
update del nagios1.myzone.com. 600 IN A 192.168.0.110
send
zone myzone.com.
server dns1.myzone.com
update del nagios1.myzone.com. 600 IN TXT "3147358c8b5523979cfecd8d67f26b6678"
send
zone 0.168.192.in-addr.arpa.
server dns1.myzone.com.
update del 110.0.168.192.in-addr.arpa. 600 IN PTR nagios1.myzone.com.
send
次に、nsupdate file.txtコマンドを使用します。
私の質問は、DHCID/TXTレコードの動的更新を強制または作成することは可能ですか?私はそれらの設定でDNSを構成しました
zone "myzone.com." IN {
type master;
file "/var/named/data/myzone.zone";
update-policy {
grant dhcp.myzone.com. wildcard * A TXT SRV CNAME MX DHCID;
};
動的更新はすべて機能し、A と PTR はテスト済みですが、TXT/DHCID ではなぜ機能しないのでしょうか?
答え1
DHCIDレコードは、現在どのクライアントが同じ名前の対応する他の動的更新DNSレコードを保持しているかを識別するためのスキームの一部です。RFC 4701。
TXT レコードは同じ目的のための古いスキームです。ISC をdhcpd
DHCP サーバーとして使用していて、DHCID レコードを設定している場合はddns-update-style standard;
、DHCID レコードが使用されます。TXT レコードを設定している場合はddns-update-style interim;
、代わりに TXT レコードが使用されます。
DHCPクライアントが、DHCID/TXTレコードに関係なく、現在保持しているIPアドレスのDNSレコードを常に上書きできるようにしたい場合は、DHCPサーバーupdate-conflict-detection off;
(または ISC 以外の DHCP サーバーの場合は同等のもの)を使用dhcpd
します。これにより、異なるクライアント ID レコードが存在する場合でも、古いレコードが削除され、新しいレコードが作成されます。
DHCP サーバー (および管理者) のみが DDNS 更新を実行できる場合、これはおそらく許容されます。クライアントが独自の DDNS 更新を DNS サーバーに直接送信できるようにすると、競合検出を無効にすると、DNS サーバーによって許可される更新の種類に応じて、悪意のあるクライアントがゾーン内の他のクライアントまたは重要なサーバーになりすますことができる可能性があります。