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:]
-
check 兩邊時間一樣或差不多
-
key name不要用大寫
Q2) error: journal open failed: unexpected error – 2008/02/14
A2) 確認 /var/named 整個目錄權限是 named.named
留言