歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> BIND 高級特性(二)-- 動態更新

BIND 高級特性(二)-- 動態更新

日期:2017/2/27 14:27:43   编辑:更多Linux
  在很多大的網絡中為了簡化維護量,都使用了DHCP來動態分配IP地址。這樣就要求DNS也能夠動態的添加和刪除記錄。BIND 8和9就支持DNS動態更新機制。 主DNS和輔DNS在處理收到的動態更新記錄是有區別的,輔DNS在收到更新消息的時候,由於它不是該區的主DNS,它就會將這個更新消息轉發給它的主DNS,這稱作“更新轉發”。而主DNS當然就簡單地做更新而已。 如何來創建動態更新消息呢?第一種是用軟件編程方式,采用ns_update()解析器例程來創建。第二種則是用命令行程序nsupdate命令手工創建。這裡主要講一下第二種,命令格式如下: prereq yxrrset domain name type prereq nxrrset domain name type prereq yxdomain domain name prereq nxdomain domain name update delete domain name [type] [rdata] update add domain name ttl [class] type rdata 看起來似乎挺復雜,其實很容易。prereq 表示預先必須符合的條件,yxrrset表示存在記錄,nxrrset表示不存在記錄,而yxdomain則表示存在域名了。例如: # nsupdate > prereq nxdomain www.xmgd.com. > update add www.xmgd.com. 600 A 210.52.83.228 > 這個例子告訴服務器只有在域名不存在時才對域名 www.xmgd.com 添加一個地址。注意最後一個空行表示nsupdate發送這個更新消息。 # nsupdate > prereq yxrrset xmgd.com. MX > update delete xmgd.com. MX > update add xmgd.com. 600 MX 10 mail.xmgd.com. > update add xmgd.com. 600 MX 50 pop.xmgd.com. > 這個例子告訴服務器檢查服務器是否有xmgd.com.的MX記錄,如果有的話就刪除原有的MX記錄,重新添加兩個。 如何來限制動態更新呢?我們可以使用allow-update參數來限制動態更新,如: zone “xmgd.com” { type master; file "zone.xmgd.com"; allow-update { x.x.x.x; }; // IP 地址 }; 不過,要注意的是如果我們允許從輔DNS向主DNS進行地址更新,那麼任何人只要向輔DNS發送更新消息,經過轉發更新也能進行原本不能進行的動態更新,如何防止這一點呢?可以在輔DNS上使用allow-update-forwarding參數來做轉發更新的限制,如: zone “xmgd.com” { type slave; file "zone.xmgd.com"; allow-update-forwarding { x.x.x.x; }; // IP 地址 };




Copyright © Linux教程網 All Rights Reserved