论坛风格切换切换到宽版
  • 1632阅读
  • 7回复

[问题求助]配置简单的DDNS服务器 [复制链接]

上一主题 下一主题
离线八爪鱼.
 
发帖
2055
C币
-193375
威望
397
贡献值
1
银元
0
铜钱
4633
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
http://upload.bbs.csuboy.com/Mon_1004/126_6999_9ccf6db1b2643e1.gif[/img]搭建简单的DDNS服务器.pdf (136.41 KB) 下载次数: 82    美容

2009-11-09 .16:00          婚庆

排版很痛苦。就不排版.了。看网页估计很难受。大家.还是点上面的PDF下下来看吧……服务器



      .         .
搭建简单的DDNS服务器


版本: 2
文档: Yu.nlin Fang.
日期: 7 N.ov, 2009.
Blog:  http://blog.afang.org/[成人用品]
MSN: cst05001.@hotmail.com教育
G.Talk: cst05001@gmail.co.m 服务器


环境
OS: Red Hat Enterpri..se Linux 5 update 4           鲜花
Netwo.rk: 192.168.122..0/24 .

前言
在baidu上搜DDNS,很多地方把D.DNS解释为 DHCP + DNS,其实这是牵强附会。DDNS是Dynamic Do.main Name Server的简称.。DHCP分配IP的时候更新DNS服务器域名解析记录,这就是DDNS所做的事.情,而是否更新客户端的hostname显示倒是其次。 .

操作

这是DNS服务器的环境:
[root@server. ~]# cat /e.tc/sysconfig/network              电子
NETWORKI.NG=yes --------------彩票
NETWO.RKING_IPV6=no 外贸
HOSTNAME.=server.afang.org ..
[root@ser.ver ~]# cat /etc/.sysconfig/network-scripts/ifcfg-eth0 .
# Rea.ltek Semicond.uctor Co., Ltd. RTL-8139/8139C/8139C+     健康
DEVICE=eth0
BOO.TPROTO=static 虚拟主机
IPADDR=192..168.122.254 --- 印刷
NE.TMASK=255.255.255.0            女人
HWADDR=54:52:00:4F5:68 http://upload.bbs.csuboy.com/Mon_1004/126_6999_3b01f95722f71e9.gif[/img]外贸
ONBOOT=yes
[root@server .~]# ifconfig.             杀毒
eth0      Link encap:Ethernet  HWaddr 54:52:00:4F5:68  http://upload.bbs.csuboy.com/Mon_1004/126_6999_3b01f95722f71e9.gif[/img]    外汇
          inet addr:192.168.122.254  B.cas.t:192.168.122.255  Mask:255.255.255.0 .           女人
      .    inet6 addr.: fe80::5652:ff:fe4f:d568/64 Scope:Link 电脑
          UP BROADCAST RUNNING MULTICAST  MTU:1500 .. Metric:1 .
        .  RX packets:280 errors:0 dropped:0 overruns:0 frame:0. (广告)
          TX packets:232 e.rrors:0 dro.pped:0 overruns:0 carrier:0 .
     .     collisions:0 txqueuel.en:1000            建材
          RX byte.s:24404. (23.8 KiB)  TX bytes:31850 (31.1 KiB) .
          Interrupt:1.0 .

lo       . Link encap:Local Loopback.  --- 印刷
          inet. addr:127.0.0.1  Mask:.255.0.0.0            女人
          inet6 addr: ::1/128 Sco.pe:Host ..
          UP. LO.OPBACK RUNNING  MTU:16436  Metric:1               乙肝
        .  RX packets:180 error.s:0 dropped:0 overruns:0 frame:0     美容
          TX packet.s:180 errors:0 dropped:0 overruns:0 carrier:0 .    外汇
     .     collisions:0 txqu.euelen:0 <性病>
          RX bytes:14680 (14.3 Ki.B)  TX bytes:1.4680 (14.3 KiB) .

[r.oot@server ~]#     外汇

安装配置DNS服务器
[root@serve.r. ~]# cd /misc/cd/Server <性病>
[.root@server Server]# rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm bind-chroot-9.3.6-4..P1.el5.i386.rpm caching-names.erver-9.3.6-4.P1.el5.i386.rp.m 电脑
warning: bind-9.3.6-4.P1.el5.i386.rpm: Header V3 DSA si.gnature: N.OKEY, key ID 370171.86 .
Preparing....                ###.#######################################.# [100%] .
   1:bind.                   #######.##################.################## [ 33%] --- 印刷
   2:bind-chroot            .###############.#############.############### [ 67%]     健康
   3:caching-nameserver     ################################.########### .[.100%]     健康
[root@server. Server]# cd /var/named/chroot/e.tc/ .
[r.oot@server etc]# ls 电影
localtime  named.c.aching-nameserver.conf  name.d.rfc1912.zones  rndc.key 虚拟主机
[root@.server etc]# mv named.caching-nameserver.conf named.co.nf <性病>
[root@server etc]# mv named.rfc1912.z.ones named.zones .学习
[root@server etc]# ln -s /var/named/chroot/etc/nam.ed.conf /etc/named.co.nf 电影
[root@server etc]# ln -s /var/named/.chroot./etc/named..zones /etc/named.zones            建材
[roo.t@server etc]#            女人

这是我的named.conf和na.med.zon.es配置 .

named.conf

[root@server etc]# cat named..co.nf            建材
ac.l afang.org { 192.168.12.2.0/24; };

options {
  .    listen-on port 53 { 127..0.0.1; afang.org; }; (广告)
   .   listen-on-v6 p.ort 53 { ::1; }; .
.     directory  "/var/named"; ..
      dump-file  "/var/named/data./cache_dump.db"; .           鲜花
        statistics-file "/var/na.med/data/named_stats.txt".; .
        mems.tatistics-file "/var/named/data/named_mem_stats..txt"; (广告)

      allo.w-query     { localhost; .afang.org; }; [成人用品]
      allow-query-cac.he { localhost; a.fang.org; }; 电脑
};
logging {
        chann.el defaul.t_debug {            建材
                file ."data/named.run";.              电子
               . .severity dynamic; .
        };
};
view afan.g.org { 学习
   .   match-clients     { localhost.; afang.org; };              电子
      match-destinations { loca.l.host; };              汽车
      recursion .yes; .
      include "./etc./named.zones"; (广告)
};
[root@ser.ver etc]# 投资

named.zones

[root@server .etc]# cat named.zones.           婚庆
zone "." IN {
      type hint; .           女人
      fi.le "named.ca";           婚庆
};

zone "localdom.ain" IN {            女人
      t.ype master; 投资
  .    file "loc.aldomain.zone";             杀毒
      allow-update .{ n.one; }; (广告)
};

zone "localhost". IN {     健康
      typ.e master; .
      file ".loca.lhost.zone"; .
      allow-up.date .{ none; }; 健康
};

zone "0.0.1.27.in-addr.arpa". IN { .
     . type master; .
      file. "named.local".; 健康
      all.ow-.update { none; }; 服务器
};

zone "0.0.0.0.0.0.0..0.0..0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0..0.0.0.0.0.0.ip6.arpa" IN { .
.       type master; .
      file "na.med.i.p6.local"; .
  .    allow-update { none; };. .
};

zone ".255.in-addr.ar.pa" IN { --- 印刷
      type. master; 电脑
      file "nam.ed.broadcast".; .
      allo.w-upda.te { none; }; 电影
};

zone "0.in-.addr.arpa" IN {. 外贸
  .    type master;            女人
      .file "named.zero"; --------------彩票
      allow-upd.ate { .none; }; .
};

zone "afang.org." IN {            鲜花
      type ma.ster; 服务器
   .   file "afa.ng.org.zone"; 教育
      allow-update { localhost; }.; .<性病>
};

zone "122.168..192.in-addr.arpa" I.N { <性病>
      type .master; .
. .    file "122.168.192.in-addr.arpa.rzone";            女人
  .    a.llow-update { localhost; }; .
};
[root@server .etc]# (        游戏          )

对.named.zones的一些解释    美容
zone ".afang.org" IN { 虚拟主机
      type master.; 学习
      file "afan.g.or.g.zone";             杀毒
  .  .  allow-update { localhost; };               乙肝
};

zone "122..168.192.in-addr.arpa". IN { 虚拟主机
      t.ype master; <性病>
      fil.e ."122.168.192.in-addr.arpa.rzone"; 投资
      all.ow-u.pdate { localhost; };     外汇
};
这里allow-update允许DH.C.P服务器从本地IP来更新DNS的解析记录。如果你.的DNS和DHCP服务不在同一台机器上,你也可以在allow-.update里面指定DHCP服务器的IP。但是这样是不安全的。如果有人恶意把自己的IP设置为该IP,则DNS服务器就很容易给入侵。教育
这是我的域名解析记录
[root@server nam.ed]# pwd 服务器
/var/named/c.hroot/v.ar/named .
[root@server named]# ls. 投资
data              localhost.zone   named.ca         named.local  slav.e.s 虚拟主机
localdomain.zone.  named.broadcast  named.ip6.local.  named.zero             杀毒
[roo.t@server named.]# cp localdomain.zone afang.org.zone             杀毒
[root@ser.ver name.d]# cp named.local 122.168.192.in-addr.arpa.rzone [成人用品]

这是afang.org.zone和122.168.192.in-addr..arpa.rzone 的内容. .

afang.org.zone. .

[.root@server named]# cat .afang.org.zone     外汇
$TTL 86400
@  IN S.OA localhost roo.t ( 外贸
                            .  42  ; s.erial (d. adams) 健康
                         .    . 3H  ; refresh .
                      .   .     15M  ; retry 服务器
                           ..   1W  ; expiry              汽车
             .                . 1D )  ; minimum --- 印刷
              IN NS  l.ocalhost. 健康
server . IN A  192.168.12.2.254 .
[root@server. named]# 学习



122.168.192.in-addr.arpa.r.zone.               乙肝

[r.oot@serve.r named]# cat 122.168.192.in-addr.arpa.rzone 服务器
$TTL 86400
@.       IN      SOA     localhost. root.loc.alhost.  ( .
           .            .               1997022700 ; Serial     健康
               .                       28800      ; Refresh .教育
                                      .14400.      ; Retry     美容
                         .             3600000    ; Ex.pire            女人
           .                   .        86400 )    ; Minimum .
      . . IN      NS      localhost. .
254 IN   .   PTR     serv.er.afang.org. --- 印刷
[root@server named].# .

此外对目录和文件设置合适的权限.     外汇

[root@server named]# .ll 学习
total 44
-rw-r----- 1 root  root   432 Nov  7 10:44 122.168.1.92.in-addr.ar.pa.rzone 电脑
-rw-r----- .1 root  root   2.31 Nov  7 10:40 afang.org.zone     健康
drwxrwx--- 2. named named .4096 Nov  7 10:30 data [成人用品]
-rw-r----- 1 root  named  198 Jul 30 .04:10 localdom.ain.zone .
-rw-r----- .1 root  named  195 Jul 30 04:10 loc.alhost.zone --- 印刷
-rw-r----- 1 root . named  427 Jul 30 0.4:10 named.broadcast     外汇
-rw-r----.- 1 root . named 1892 Jul 30 04:10 named.ca .
-rw-r----- 1 root  named  424 Jul .30 04:10 named.ip6.loca.l .
-rw-r----- 1 root  named  42.6 Jul 30 04:10 .named.local           婚庆
-rw-r----- .1 root  named  427 Jul 30 04:10 named.zer.o 域名
drwxrwx--- 2 na.med named 4.096 Jul 27  2004 slaves            建材
[root@server named]# chown root.named 122.168.192.in-addr..arpa.rzone afang.org...zone .
[root@server nam.ed]# pwd              汽车
/var/named/chro.ot./var/named .
[r.oot@server named]# chmo.d g=rwx `pwd` (        游戏          )
[root@se.rver named]# ll. -d .             杀毒
drwxrwx--- 4 root named 4096 Nov  7 10:44. .. --------------彩票
[.root@server named]# 投资

测试并开启域名解析服务

[root@server named].# s.ervice named restart 教育
Stopping named:          .        .                          [  OK  ]     健康
S..tarting named:                                            [  OK  ] .
[root@server named]#. .nslookup     健康
> server 192.168.12.2.254 学习
Defa.ult se.rver: 192.168.122.254     外汇
Ad.dress: .192.168.122.254#53     健康
> server.afang..org .
S.erver:  192.168.122.254 外贸
Address: 192.168.122.25.4#53. .

Name: server.afa.ng.org .
Address: 192.168.122.254. .
> exit

[root@.server nam.ed]# chkconfig --level 35 named on 教育
[root.@server named]# (广告)

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线期他待~~.
发帖
1934
C币
-235561
威望
376
贡献值
1
银元
-2
铜钱
4359
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
附加内容:增加DDNS的安全性

如果说,DNS和DHCP服务不在同一台机器上,你也可以在allow-update里面指定DHCP服务器的IP,允许该IP来更新DNS解析记录。但是这样是不安全的。如果有人恶意把自己的IP设置为该IP,则DNS服务器就很容易给入侵。我们可以用key认证方式来解决这个问题。

环境
DHCP服务器: 192.168.200.10/24
DNS服务器: 192.168.200.20/24

在DNS服务器上操作

安装完bind,做如下操作
[root@dns etc]# pwd
/var/named/chroot/etc
[root@dns etc]# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST dhcp.afang.org
Kdhcp.afang.org.+157+45818
[root@dns etc]# ll
total 48
-rw------- 1 root root    58 Nov  9 14:16 Kdhcp.afang.org.+157+45818.key
-rw------- 1 root root    81 Nov  9 14:16 Kdhcp.afang.org.+157+45818.private
-rw-r--r-- 1 root root   405 Nov  5 13:06 localtime
-rw-r----- 1 root named 1387 Nov  9 14:19 named.conf
-rw-r----- 1 root named 1191 Nov  9 14:21 named.zones
-rw-r----- 1 root named  113 Nov  9 14:11 rndc.key
[root@dns etc]# cat Kdhcp.afang.org.+157+45818.private
Private-key-format: v1.2
Algorithm: 157 (HMAC_MD5)
Key: dHK0KLTIU1I+6S6Y0zE79A==
[root@dns etc]#

记住上面的Key。

这是我的named.conf配置

acl afang.org { 192.168.200.0/24; };

key dhcp.afang.org {
      algorithm hmac-md5;
      secret "dHK0KLTIU1I+6S6Y0zE79A==";
};

options {
      listen-on port 53 { 127.0.0.1; afang.org; };
      listen-on-v6 port 53 { ::1; };
      directory  "/var/named";
      dump-file  "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";

      allow-query     { localhost; afang.org; };
      allow-query-cache { localhost; afang.org; };
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
view afang.org {
      match-clients     { localhost; afang.org; };
      match-destinations { localhost; };
      recursion yes;
      include "/etc/named.zones";
};


这是我的named.zones配置

zone "." IN {
      type hint;
      file "named.ca";
};

zone "localdomain" IN {
      type master;
      file "localdomain.zone";
      allow-update { none; };
};

zone "localhost" IN {
      type master;
      file "localhost.zone";
      allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
      type master;
      file "named.local";
      allow-update { none; };
};

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
        type master;
      file "named.ip6.local";
      allow-update { none; };
};

zone "255.in-addr.arpa" IN {
      type master;
      file "named.broadcast";
      allow-update { none; };
};

zone "0.in-addr.arpa" IN {
      type master;
      file "named.zero";
      allow-update { none; };
};

zone "afang.org" IN {
      type master;
      file "afang.org.zone";
      allow-update { key dhcp.afang.org; };
};

zone "200.168.192.in-addr.arpa" IN {
      type master;
      file "200.168.192.in-addr.arpa.rzone";
      allow-update { key dhcp.afang.org; };
};

其他配置以及操作同上文:DNS服务和DHCP服务同在一台及其上的DNS的配置和操作。

对DHCP服务器做配置

[root@dhcp ~]# cat /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;

subnet 192.168.200.0 netmask 255.255.255.0 {
      option routers   192.168.200.1;
      option subnet-mask  255.255.255.0;
      option domain-name  "afang.org";
      option domain-name-servers 192.168.200.20;
      option time-offset  -18000; # Eastern Standard Time
      range dynamic-bootp 192.168.200.100 192.168.200.199;
      default-lease-time 21600;
      max-lease-time 43200;

# --- Modify by afang
      key dhcp.afang.org {
            algorithm hmac-md5;
            secret  "dHK0KLTIU1I+6S6Y0zE79A==";
      }
      zone afang.org {
            primary 192.168.200.20;
            key dhcp.afang.org;
      }
      zone 200.168.192.in-addr.arpa {
            primary 192.168.200.20;
            key dhcp.afang.org;
      }

      option server.ddns-hostname = concat("dhcp-", substring( binary-to-ascii(10, 8, "-", leased-address) , 8, 7));
      option server.ddns-domainname = config-option domain-name;
      option host-name = concat(config-option server.ddns-hostname, ".", config-option server.ddns-domainname);

# --- Modify end

}
[root@dhcp ~]#

这样就可以了。

对于dhcpd.conf里面的一些解释
      key dhcp.afang.org {
            algorithm hmac-md5;
            secret  "dHK0KLTIU1I+6S6Y0zE79A==";
      }
            上面配置定义了一个key,其中algorithm是key的算法,secret就是key的内容。这个内容就是从之前dns服务器上dnssec-keygen生成的key。

      zone afang.org {
            primary 192.168.200.20;
            key dhcp.afang.org;
      }
            上面配置了域名的正解记录,primary指定了DNS服务器,key指定了更新服务器DNS解析记录所需的key。

其他操作均和之前一样。

错误排查小忠告
DNS配置实在是一个爱出问题的事情,因此友情给出排错忠告,出问题看看这里先。

检查SELinux
/etc/selinux/config
setenforce 0
检查iptables
iptables -F
iptables -X
iptables -Z
service iptables     save
chkconfig --level     35 iptables off
检查named配置的拼写、标点符号
看/var/log/messages
named-checkconf
named-checkzone
检查named相关文件和目录的权限
      看/var/log/messages


写后感
在写这个实验笔记的时候,搜了一些东西,在google英文搜,有用的信息很多。用baidu搜,前三页基本都是相同内容的抄袭,而且还是没用的文档。所以再次很感慨,到底是外国人素质高,还是中国学者喜欢抄袭?或者是因为一些人为了提高自己网站的点击录,就无耻的到处剽窃抄袭转载,弄得中文搜索这么的乌烟瘴气呢?

参考
[1] http://www.ops.ietf.org/dns/dynupd/secure-ddns-howto.html
[2] man dhcpd.conf
[3] man dhcp-eval

离线smrlgw.
发帖
2005
C币
-60682
威望
354
贡献值
1
银元
-2
铜钱
4395
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
不错哦,支持

离线cqggff.
发帖
1839
C币
-194036
威望
313
贡献值
1
银元
-3
铜钱
4001
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
好,回去学习学习,谢谢楼主分享。

离线yingouqlj.
发帖
2158
C币
-139181
威望
397
贡献值
1
银元
0
铜钱
4718
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13


我几乎都要忘记怎么配了 看到你的配置我都想起来了 ,lz写的很详细 很明了
一万个顶!!!!!!
希望楼主多创作这么好的 实例帖子!!!我都会收藏的!!!

离线xiaobeinet.
发帖
2097
C币
-152583
威望
378
贡献值
1
银元
-5
铜钱
4721
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13
要尽量使用默认的配置文件

要有更新文件的解析信息

[ 本帖最后由 kns1024wh 于 2009-11-17 23:30 编辑 ]

离线zhaijb.
发帖
2051
C币
-193288
威望
412
贡献值
1
银元
-3
铜钱
4660
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13


QUOTE:原帖由 kns1024wh 于 2009-11-17 23:28 发表
要尽量使用默认的配置文件

要有更新文件的解析信息

我都是基于默认配置文件该的。只不过是为了不占版面把配置的注释给去掉了-__-|||你是这个意思么?

离线日光兰.
发帖
1968
C币
-235780
威望
320
贡献值
1
银元
-2
铜钱
4252
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-13
谢谢朋友,写的很好,向你学学
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个