分类:
2005-10-20 11:26:33
f="mailto:?email=XXXXX@XXXXXX&passwd=XXXXX">?email=XXXXX@XXXXXX&passwd=XXXXX
&hostname=XXXXXX.adsldns.org&debug=1"
lynx -dump $CMD > /tmp/adslclient.log
(注意﹕請將 XXXXX 修改為您的正確資料。同時﹐首兩行結尾的 符號不要漏了﹐其左右沒空白﹔要不然﹐拿掉 符號並將前面三行寫成一行。)
然後﹐只要您完成 ADSL 撥接之後﹐就能‘自動’的幫您修改 IP 記錄了﹗
關於動態 DNS 的應用﹐除了上述的環境之外﹐在 DHCP 分配的網路中設定 DNS 也可以應用得上。但前提條件是﹕您的
named 必須是 bind 9.x 或以後﹐以及 dhcpd 必須是 3.x 或以後的版本。然而﹐RedHat7.1 上面預裝的 dhcpd
是 2.0p15-4 這個版本﹐您必須自行升級才能使用這個非常棒的功能。
下面﹐我將 dhcp 服務轉移到 mandrake 8.1 (其預裝的 dhcpd 版本是 3.0-0.rc12.1)﹐然後保留 named 在 rh71 上面﹐再透過 ddns 技術更新和維護 dhcp 所發放的 DNS 資料。我初步整理出來的步驟如下﹕
在 mdk 上執行如下命令﹐產生 dns 加密驗證所需的 secret ﹕
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST DHCP_MDK
這樣會在當前目錄下產生兩個以 Kdhcp_mdk 開頭的檔案﹐有興趣您可以看看其中的內容。然後您將 Kdhdp_mdk*.private 中的最後一行 Key: 後面那串字串複製下來 (如﹕4sxutdFuNMqF1B0Q2GV1uQ==)﹐待會要用到。
然後修改 /etc/dhcpd.conf 的內容﹐類似如下﹕
ddns-update-style ad-hoc;# 這行一定要加上
subnet 192.168.100.0 netmask 255.255.255.0 {
......# 其中內容略﹐請自行填寫
}
key DHCP_MDK {
algorithm HMAC-MD5.SIG-ALG.REG.INT;# 加密演算法名稱
secret 4sxutdFuNMqF1B0Q2GV1uQ==;# 這就是上一步驟產生的 key
}
zone siyongc.domain. {
primary 192.168.100.23;# 指向 name server 所在位址
key DHCP_MDK;# 必須和前面的 key 名稱一致
}
zone 100.168.192.in-addr.arpa. {
primary 192.168.100.23;# 同上
key DHCP_MDK;
}
然後重新啟動 dhcpd 的服務﹐並確定其功能正常。關於更多的設定﹐請 man dhcpd.conf ﹐搜尋 ddns 子串就可以找到。
然後轉移到 rh71 上面﹐修改 /etc/named.conf ﹐在 options 前面加上如下句子﹕
key DHCP_MDK {// 這段應該和 dhcpd.conf 設定一致
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret 4sxutdFuNMqF1B0Q2GV1uQ==;
};
logging {// 這是記錄設定
channel update_debug {
file "/var/log/update-debug.log";
severity debug 3;
print-category yes;
print-severity yes;
print-time yes;
};
channel security_info {
file "/var/log/named-auth.info";
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category update { update_debug; };
category security { security_info; };
};
然後再為相應的 zone 加上 update 設定﹕
zone "siyongc.domain" {
type master;
file "siyongc.domain";
allow-update { key DHCP_MDK; };// 名稱必須和前面的 key 一致
};
zone "100.168.192.in-addr.arpa" {
type master;
file "192.168.100.rev";
allow-update { key DHCP_MDK; };// 同上
};
然後建立所需的記錄檔﹕
touch /var/log/update-debug.log
touch /var/log/named-auth.info
chown named.named /var/log/update-debug.log
chown named.named /var/log/named-auth.info
完成後請重新啟動 named ﹐並檢查 /var/log/messages 及測試服務是否正常。
最後﹐就是等待記錄更新了~~~
哦﹐我忘了準確的更新時機了﹐我在某處看到過(記不起來了﹕家裡的書﹖書局的書﹖網路上﹖)﹕更新的時機好像是 dns 那邊累積 100
了一百個記錄在 journal 的時候﹔或是每隔 60 分鐘 (哪個標準先到達就採用哪個方法﹐不過﹐真的記得不是很清楚)。如果您在
/var/named 的記錄檔下面發現更新(標誌其一是 Serial 號碼)﹐或是在 /var/log/update-degub.log
上看到有記錄。那就成功了﹗