免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3355 | 回复: 16
打印 上一主题 下一主题

[DNS] 求助动态DNS服务系统构建 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-01-18 15:25 |只看该作者 |倒序浏览
公司让我做个动态DNS的项目,概要是这样的:
1。机器构成:
application server(web/DNS server 装在1台机器上) 2台(redhat v.4 ES)
DB server 2台(redhat v.4 AS  oracle 10G)
防火墙1台 (直接购买产品,无需考虑)
load balancer(负荷分流装置)1台 (直接购买产品,无需考虑)
监视器PC(WINDOWS)

2。机能
用户更新自己的IP的时候通过https(ssl)到达防火墙,再经过load balancer转到其中一台web server(和DNS server是同一台机器),web server 收到数据後,去DB server验证用户信息(用户名密码之类的),OK的话就更新自己的DNS server。
只支持提供domain的2级domain的更新。
客户数目会很多,大概有1万个,所以开设了2台application server(web/dns server)。并要求5分钟更新一次dns。
DB server 里面放的是用户的信息。2台机器里面的数据应该是一样的。起到备份和分流查询数据库的作用。
通过监视PC,使用SNMP,取得各个机器的情况并显示,出现问题就出报警信号

这种项目对我来说很困惑,首先对这种网络系统集成方面的东西就没怎么学过,以前做的也就是些网站啊,windows应用程序之类的。
所以有很多不明点。还请各位高人指导一二。
问题:
1。更新DNS是用nsupdate吗?我用nsupdate更新是可以成功,但是好像是马上就更新了。更新好用ping 试了一下,发现ip已经改好了。
2。怎么实现5分钟更新一次dns?(这个问题同1)
3。这里的2台DNS服务器里面存放的2级domain应该是不一样的,但要解析的是同一个一级domain下的2级domain。这样是不是要在1级domain注册的DNS机器上把这个domain的解析DNS服务器指向我这里的两台DNS就可以了?
4。web 这一块用什么比较好cgi?语言用perl?还要考虑到连oracle数据库,以及调用更新dns的script,请给个方案
5。客户端要使用ssl安全认证,防止随便找台pc机,就能更改domain 的IP。请问这个机能,在web server上要进行什么设置嘛?
6。监视器的功能使用smnp,这个协议的使用没学过,有什么教程,或者例子。
7。如何取得服务器的资源状况,比如说cpu占有率,service 生存状况,aplication生存状况。

写了很多,谢谢各位高人耐心看完。
如有见解,请指点。
同时也希望这个贴子能给做DNS的朋友一个参照

论坛徽章:
0
2 [报告]
发表于 2006-01-18 15:41 |只看该作者
我也很想知道动态更新方面的实际应用,帮lz顶一下 。 ^_^

论坛徽章:
0
3 [报告]
发表于 2006-01-18 17:16 |只看该作者
谢谢兄弟!
不过总感觉这个论坛求助的人多,讨论或者解决问题的人不是很多,人气不旺???
我顶!

论坛徽章:
0
4 [报告]
发表于 2006-01-18 18:45 |只看该作者
问题1 :是的。这有什么不对吗?

问题2 :可以在 $TTL 设置,也可以记录的 TTL 字段设置。

问题3 :是的。上级只负责授权,授权后就不关它的事了

问题4 :个人比较喜欢 PHP ,可以调用系统命令,也支持数据库

问题6 :网上有 O'Reilly 的 SNMP 书,如果要的话找我。

问题7 :mrtg + snmp


btw :别人只能给你指出方向,解决问题最后还是得靠自己。学习就得踏踏实实的进行,想靠一两个快速指南就能精通是不可能的。

[ 本帖最后由 ailms 于 2006-1-18 18:49 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2006-01-19 11:27 |只看该作者
楼上兄弟你说的有理,我现在就是想有个方向,这个东西涉及面太广,感觉方向比较乱,而且时间比较紧,所以就到这里来求助了。
希望各位经验人士,能给点提示。
问题1:我去看过一些动态DNS申请的网站,用户更新自己的IP的时候一般都会过一段时间才会反映过来。这样据说是可以减少系统的负担。
       关于这种做法我的猜想是,用户过来的更改IP的要求直接更改domain的数据文件,并把ttl设置成300(5分钟),然后就可以每隔
       5分钟后从domain的数据文件中把DNS信息读到内存里。
       但是我现在用nsupdate更新的话,先delete这一条记录,然后再add这条更新後的记录。发现这是瞬时更新的,并没有过几分钟再
       更新。这样感觉是直接更新内存中的DNS信息,会不会增加系统负担?
       完一断电,是不是会这次更新的内容都没记录下来?
       还有domain的数据文件并没有发生任何更改,只有重起dns服务才能看到domain的文件里面发生变化。
       再有我把这条更新的记录的ttl成60(1分钟),按理说1分钟之后这条记录应该失效,然后去重读domain文件中的数据,但是domain
          文件里面的数据根本没有变化,它从哪里取得这条记录呢?
       现在的状况是即使超过1分钟,这条DNS记录也未失效,还是刚才修改后的状态。
       所以我就想了解一下usupdate是怎么实现的?用它来更新有什么不好的地方。特别是对系统造成的负担会大嘛?
       还是用其他方法来更新DNS?比如变更domain的文件。

论坛徽章:
0
6 [报告]
发表于 2006-01-19 13:19 |只看该作者
关于动态更新的资料我放到了 blog 上,lz 自己看吧

http://www.cublog.cn/u/12066/?u= ... howart.php?id=69057

论坛徽章:
0
7 [报告]
发表于 2006-01-19 14:38 |只看该作者
谢谢楼上兄弟,看了一下,bind9就是用nsupdate更新后,先把更新内容写到jnl里,然后更新内存里的zone,就立刻就生效了,然后过1个小时,会把jnl文件的更新写到硬盘。不知道这种既时更新做法和传统的延时更新在性能上那个更好?

ttl的意思我理解就是zone在内存中的保留时间。。那它的作用无非就是更新内存的zone的。
这样看来ttl的定义好像没起什么作用啊,无论定长定短,只要有改动都是即时更新到内存生效的。

[ 本帖最后由 puffpuff 于 2006-1-19 14:42 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2006-01-19 15:26 |只看该作者
lz的对 ttl 的理解有点偏差, ttl 是针对外部主机或者服务器的,不是针对本地权威服务器的

论坛徽章:
0
9 [报告]
发表于 2006-01-19 16:00 |只看该作者
接楼上兄弟,[ttl 是针对外部主机或者服务器的,]这句话是指ttl是辅助dns服务器的zone在内存中的保留时间的意思吗?
这套DNS系统应该2台都是主服务器,这样的话TTL其实就没用了咯,那也就不可能实现5分钟延时更新了咯。

论坛徽章:
0
10 [报告]
发表于 2006-01-19 16:03 |只看该作者
不是,是外部的服务器,不是本地服务器。例如 internet 上的。

如果你要的是从服务器的更新,那应该在 SOA 的 refresh 中设置

至于“动态更新的延迟更新”,是指“nsupdate”指令发出后多久生效?还是从服务器在主服务器更新后多久时间再更新(同上面)?请lz说明白一点。

[ 本帖最后由 ailms 于 2006-1-19 16:14 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP