Previous Article Next Article 動態DNS伺服器 – DNS + Bind + ddns
Posted in Linux

動態DNS伺服器 – DNS + Bind + ddns

動態DNS伺服器 – DNS + Bind + ddns Posted on 2006 年 11 月 11 日Leave a comment

Server端
[1.] 存放 key

mkdir -p /var/named/ddns/keys
cd /var/named/ddns/keys

[2.] 產生 ddns所需要的 key
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST web

public key的內容
    cat Kweb.+157+63554.key

web. IN KEY 512 3 157 hiBWmawfQgf0OQun8qM1QA==

參數說明:

-a [密碼演算方法]         # 密碼演算方式,包括 RSAMD5, RSA, DSA, DH 與 HMAC-MD5
-b [加密位元組]            # 加密的密碼長度
-n [擁有類型]                # 這把 Key 是給 Client 用來作為 HOST 更新
                                   #       或者是整個給 ZONE 的更新
                                   #       如果僅允許用戶端更新他自己的主機對應,
                                   #       所以只要給予 HOST 的權限
                                   #       [ ZONE | HOST | ENTITY | USER ]
name                          # 給予這把 Key 一個名稱,訂為 web

[3.] vi /etc/named.conf

key "web" {
                  algorithm hmac-md5;
                  secret "hiBWmawfQgf0OQun8qM1QA==";
};

zone "ssorc.tw" {
               type master;
               file "zone.ssorc.tw";
               update-policy {
                              grant web name web.ssorc.tw. A;

                              // grant [key_name] name [hostname] 標籤
               };
};

附註:
dnssec-keygen -a DSA -b 768 -n ZONE ssorc.tw

上面這個是從man說明看來的,但我式了在 named.conf加 algorithm DSA好像不對,

不過 dnssec-keygen -a HMAC-MD5 -b 128 -n ZONE ssorc.tw是可以產生key檔的

client端
[1.]
mkdir /var/named/ddns

從 Server端複製 public key過來,scp -rp server:/var/named/keys/Kweb.+157+63554.key /var/named/ddns

[2.] 手動讀取 public key檔,更新 ddns
cd /var/named/ddns/
nsupdate -k Kweb.+157+63554.key

> server 203.204.2.104
> update delete web.ssorc.tw A
> update add web.ssorc.tw 600 A 59.112.213.38
> send

600 為 ttl
59.112.213.38 為 client ip

此時在 server端與 zone.ssorc.tw同一目錄裡會產生一 jnl檔 zone.ssorc.tw.jnl
 

ps:
更新 ddns動態 ip的 script
http://ssorc.tw/ndex.php?load=read&id=182

[Q1:] request has invalid signature: TSIG web: tsig verify failure (BADTIME)

[A1:]

  1. check 兩邊時間一樣或差不多
  2. key name不要用大寫

Q2) error: journal open failed: unexpected error – 2008/02/14

A2) 確認 /var/named 整個目錄權限是 named.named

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *