allow-update功能
日期:2015/7/25 主機房暑期訓練
說明:
允許client向DNS Server傳送動態更新,達成動態DNS的功能。
方法:
修改named.conf
% vi /etc/namedb/named.conf
加入此行
zone "example.com" { type master; allow-update {10.0.1.2;}; #只開放此主機進行動態更新 };
主機10.0.1.2可用
nsupdate
指令進行更新% nsupdate > server 127.0.0.1 //指定primary DNS > zone dyndns.twnic.tw > update delete user1.dyndns.twnic.tw A 211.72.210.249 # 刪除一筆A record > update add user1.dyndns.twnic.tw 60 A 211.72.210.251 # 新增一筆Arecord # 須指定TTL時間 > > show Outgoing update query: ;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: 0 ;; flags: ; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0 ;; UPDATE SECTION: user1.dyndns.twnic.tw. 0 NONE A 211.72.210.249 user1.dyndns.twnic.tw. 60 IN A 211.72.210.251
使用key授權方式增加安全性
用dnssec-keygen產生簽證
% dnssec-keygen -a HMAC-MD5 -b 128 -n HOST example.com.
會產生example.com.+157+00000.key 與
example.com.+157+00000.private 兩個檔案,
將兩個檔案傳送至Client hosts查看Kmail.+157+44587.key的內容
% less example.com.+157+44587.key example.com. IN KEY 512 3 157 BJ7y6dzxchy3u0B4hRLksQ==
上方的BJ7y6dzxchy3u0B4hRLksQ==即為key
修改named.conf
key "example.com." { algorithm hmac-md5; secret "BJ7y6dzxchy3u0B4hRLksQ=="; }; zone "example.com" { type master; file "named.example"; allow-update { key example.com. ;} ; };
Client hosts進行更新 在Client hosts上使用nsupdate工具進行更新
% nsupdate -k example.com.+157+00000.key > server ns.example.com # 指定 Primary DNS > update delete mail.example.com A # 先刪除舊資料 > update add mail.example.com 0 A 210.64.233.10 # 再新增資料 > send # 送出到 Primary