分类:
2009-09-15 21:09:19
参考了徐秉義(Albert Hsu)的相关文章和蔡松caisong先生以及网络上的各类DDNS文章,我自己也做了一下实验来丰富我的手感。
我是在的基础上继续作的实验,多余的东西就不再说了。
DDNS(Dynamic Domain Name Server)是动态域名服务的缩写!DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传 递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务项目器程序负责提供DNS服务并实现动态域名解析
备注:很多域名商的域名解析系统也不是实时刷新的。一般会设置下时间,比如10分钟.就是说,你设置了一个新的A记录以后,域名服 务器会在10分钟内为你 添加。目的就是为了节约服务器资源。怕客户的DNS不断的刷新记录。刷新记录肯定需要消耗一定的资源。而且刷新过程中是不能解析的。另外刷新过程大概5 秒。就是说这个5秒内域名商的的DNS是不能用的。
>>>>>>>>>>>>>>
—-master DNS 192.168.135.129
vi /var/named/chroot/etc/named.conf
options {
directory “/var/named”;
dump-file “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stat.txt”;
pid-file “/var/run/named/named.pid”;
allow-query { any; };
allow-transfer { none; };
};
zone “yuan.org” IN {
type master;
file “data/yuan.org.zone”; —也要关注一下这里,前面说过这里是正反库文件
因为…./var/named 权限是不够的,因为执行named
是需要named用户有写入的权限,当然你自己可以
改,但是要时刻注意权限,这里有个data的文件夹,就
用来放这个的,多方便
allow-transfer { 192.168.135.128; };
allow-update { localhost; }; —-这个才是重点,这个东西就是代表了允许更
新,这里表示的是允许本机更新
};
zone “135.168.192.in-addr.arpa” IN {
type master;
file “data/135.168.192.zone”;
allow-transfer { 192.168.135.128; } ;
allow-update { localhost; };
};
这里有allow-transfer,是因为做了主从,不过无所谓
>>>>>>>>
正解反解的库文件都放进来了
[root@localhost ~]# cd /var/named/chroot/var/named/data/
[root@localhost data]# ll
总计 44
-rw-r–r– 1 named named 271 05-07 11:08 135.168.192.zone
-rw-r–r– 1 named named 4773 05-06 14:24 named_mem_stats.txt
-rw-r–r– 1 named named 18430 05-06 14:24 named.run
-rw-r–r– 1 named named 351 05-07 15:18 yuan.org.zone
因为还没有开始 所以你是看不到DDNS的特色文件jnl
>>>>>>>
nsupdate 在ddns状态下,因为会产生jnl文件,如果你直接去编辑记录文件的话,因为
会出现冲突,你必须先停止named,然后删除jnl文件,再修改记录文件,再启动,这样不仅麻烦,而且未必什么时候都是实验环境DNS可以停.所以在新版本的bind(一般是8.3后)
提供nsupdate 这个动态更新命令
正解
[root@localhost data]# nsupdate —在master 192.168.135.129下
> server 127.0.0.1 —设置了是allow-update localhost
> zone yuan.org
> update add test.yuanl.org A 21600 192.168.135.129
ttl ‘A’: not a valid number —-格式要对
> update add test.yuan.org 21600 A 192.168.135.129
> show ————检查,错的的话 虽然不能返回,但是你可以del,再add
Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: 0
;; flags: ; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
;; UPDATE SECTION:
test.yuan.org. 21600 IN A 192.168.135.129 —这里是举例,其实
192.168.135.129是
master
> send
> quit
等待几秒后
[root@localhost data]# cat yuan.org.zone
$ORIGIN .
$TTL 86400 ; 1 day
yuan.org IN SOA ns.yuan.org. root.yuan.org. (
2009052210 ; serial —–这里这个serial标准数字增加了1,
这个是用来作axfr或者ixfr定义的
不明白在看看跟
10800 ; refresh (3 hours)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS ns.yuan.org.
NS slave.yuan.org.
$ORIGIN yuan.org.
ns A 192.168.135.129
slave A 192.168.135.128
$TTL 21600 ; 6 hours ————刚才的设置
test A 192.168.135.129
[root@localhost data]# ll
总计 48
-rw-r–r– 1 named named 271 05-07 11:08 135.168.192.zone
-rw-r–r– 1 named named 4773 05-06 14:24 named_mem_stats.txt
-rw-r–r– 1 named named 18430 05-06 14:24 named.run
-rw-r–r– 1 named named 397 05-07 23:22 yuan.org.zone
-rw-r–r– 1 named named 701 05-07 23:08 yuan.org.zone.jnl !!>< ><
摘录一下caisong先生的
server 指向某一台 NameServer 進行 update 操作
zone 修改某個 zone file
update delete 進行 update 的 delete 動作,這個指令格式是
update delete FQDN TYPE RDATA,如果有多筆相同的 A
記錄或不同的 MX 記錄要刪除某一筆需將 RDATA 補上,
若沒有 RDATA 則表示這個 FQDN 的這個 TYPE 都要刪除
(TYPE 即是 A,MX,PTR,SOA,NS..等,RDATA 就是 TYPE 後
接的東西,如 A 的 RDATA 是 IP 而 MX 的 RDATA 是 優
先權 FQDN)
update add 進行記錄的增加,操作如同 delete, 但是一定要有
TTL 值,且必需明確寫出 RDATA
show 這只是操作後要顯示進行了那些 update 指令
send 這個代表要把整個 update 指令送給 server,操作 update
時資料不是馬上送出的,所以 update 可以很多行,最後
nsupdate 看到 send 時,才會將整個所有 update 送出,
而 update 使用 port 53/udp 若送出的資料量 (DNS packet)
大於 512 bytes,則會 truncate 而改使用 53/tcp,這是您
需要注意的地方,而只要您有 send, 則 SOA 記錄的 serial
會自動加1,以期讓 slave 來進行同步,所以過多的 send 可
能造成過多的 traffic
>>>>>>>>>>
测试
[root@localhost data]# dig -x 192.168.135.129 因为我们没有做反解,所以也是
反解是ns.yuan.org
; <<>> DiG 9.3.4-P1 <<>> -x 192.168.135.129
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8360
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;129.135.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
129.135.168.192.in-addr.arpa. 86400 IN PTR ns.yuan.org.
;; AUTHORITY SECTION:
135.168.192.in-addr.arpa. 86400 IN NS slave.yuan.org.
135.168.192.in-addr.arpa. 86400 IN NS ns.yuan.org.
;; ADDITIONAL SECTION:
ns.yuan.org. 86400 IN A 192.168.135.129
slave.yuan.org. 86400 IN A 192.168.135.128
;; Query time: 5 msec
;; SERVER: 192.168.135.129#53(192.168.135.129)
;; WHEN: Fri May 8 00:03:05 2009
;; MSG SIZE rcvd: 137
[root@localhost data]# dig test.yuan.org @192.168.135.129 —虽然我的resolver已经设定好,但是习惯总还是好的.用@做指定向哪个查询
; <<>> DiG 9.3.4-P1 <<>> test.yuan.org @192.168.135.129
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9509
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;test.yuan.org. IN A
;; ANSWER SECTION:
test.yuan.org. 21600 IN A 192.168.135.129
;; AUTHORITY SECTION:
yuan.org. 86400 IN NS ns.yuan.org.
yuan.org. 86400 IN NS slave.yuan.org.
;; ADDITIONAL SECTION:
ns.yuan.org. 86400 IN A 192.168.135.129
slave.yuan.org. 86400 IN A 192.168.135.128
;; Query time: 8 msec
;; SERVER: 192.168.135.129#53(192.168.135.129)
;; WHEN: Fri May 8 00:03:34 2009
;; MSG SIZE rcvd: 116
>>>>>>>>>>>>>>>>>
新版本的提供rndc freeze 冻结
修改完成后 用rndc unfreeze解除冻结
不过已经有了nsupdtae 我感觉这个东东还不知道哪里好用