allow-update功能

日期:2015/7/25 主機房暑期訓練

說明:

允許client向DNS Server傳送動態更新,達成動態DNS的功能。

方法:

  1. 修改named.conf

    % vi /etc/namedb/named.conf
    
  2. 加入此行

    zone "example.com" {
        type master;
        allow-update {10.0.1.2;}; #只開放此主機進行動態更新
    };
    
  3. 主機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授權方式增加安全性

  1. 用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

  2. 查看Kmail.+157+44587.key的內容

    % less example.com.+157+44587.key
    example.com. IN KEY 512 3 157 BJ7y6dzxchy3u0B4hRLksQ==
    

    上方的BJ7y6dzxchy3u0B4hRLksQ==即為key

  3. 修改named.conf

    key "example.com." {
           algorithm hmac-md5;
           secret "BJ7y6dzxchy3u0B4hRLksQ==";
    };
    zone "example.com" {
           type master;
           file "named.example";
           allow-update { key example.com. ;} ;
    };
    
  4. 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
    

results matching ""

    No results matching ""