维护DNS是我第一份工作(系统管理员)的一小部分内容,表面上DNS协议(Bind是其在 *nix 下的具体实现)只是将域名地址解析为IP地址,维护起来应该算是小CASE吧?恰恰相反,随着时间的流逝,我发现自己对DNS和Bind的了解却越来越少,总有自己无法解答的疑问。最近更在版上看到netman斑竹和abel关于dns反解的精彩讨论,感到自己知识的肤浅和学海无涯的深度!希望自己以后能像 netman 斑竹和 abel 兄那样严谨求实!
如果你觉得自己关于dns还算了解的话,请试着回答以下几个问题:
1、zone数据文件中的@代表什么?IN 代表什么?
2、为什么有时dig可以通过某个nameserver查询,而nslookup却告知无法找到nameserver?
3、什么是lame server?
4、你会做子网段不是8位8位时的IP地址反向解析吗?
5、Internet上是正向解析多还是反向解析多?
6、将zone数据传输功能关闭,你的域内主机就一定安全吗?
这些问题大多在版上都讨论过,请大家到置顶和精华区找答案。
網中人 回复于:2004-10-01 10:57:13
呵呵, 小弟當初是花了兩年時間, 才覺得入門呢~~~ ^_^
abel 回复于:2004-10-01 19:06:12
嗯~ DNS 這種東西,表面看很容易懂,但愈看到裏面就愈覺得難懂..
若知識只從書上來,在一般的應用上是足夠的,但可能無法到達充份理
解的程度,個人是因為在 NIC 做事,所以 DNS 這種東西就變成了本業,
當然, User Case 接解一多,就會變得愈來愈熟悉了.
DNS 常給人一種平凡的感覺,但是它確是 Internet 上最基礎的東西,
想想看,沒有它, Internet 會是什麼樣的情形. 當然,現在多數人只想 DNS
是 Domain Name <---> IP 的對應關係,但很可以肯定的是, DNS 做為
全球最大也是最成功的分散式系統,其效率及普及度都是其他服務所不能及
的.
現在 DNS 除了在antispam 上的 RBL 應用外, SPF/DomainKey 也值得觀察.
DNS 也可用在 Net to Net 的 VPN 上 (DNSSEC)
DNS 也可用在電信的交換技術上 (ENUM)
DNS 也可以用在 IPv6 的 Anycasting 上 (Multi-Home)
OID (Object ID) Tree 有可能也會使用 DNS 結構.
RFID 亦有這個可能性
.....
總之,當你覺得你了解它的時候,除了 阿骁 兄所提的 DNS 問題外,
想想這個網路上最基本的東西,還能帶來什麼變革...
skylove 回复于:2004-10-02 12:44:51
有意思的问题,我想想看。。。。反正国庆没事做。
1、zone数据文件中的@代表什么?IN 代表什么?
不清楚。。@有一度我把它当作是“本机”来看待的
2、为什么有时dig可以通过某个nameserver查询,而nslookup却告知无法找到nameserver?
我一直都是用dig,没用过nslookup,少数几次在win下用nslookup结果都是解析出来了的。。。
3、什么是lame server?
我也想知道,时常看到日志中有记录,是不是这些是解析失败的记录?
4、你会做子网段不是8位8位时的IP地址反向解析吗?
我这里的掩码已经不是8位了,这个会
5、Internet上是正向解析多还是反向解析多?
反向多
6、将zone数据传输功能关闭,你的域内主机就一定安全吗?
不一定,正确的做法是设置哪些区域能够发起请求?事实上在防火墙上封闭外来对内部53端口的请求比较合适。在bind 9 中新增加的远程控制功能也要正确设置
汗。。。这半年来,一直只是做教育网内自己段的dns解析和内部网用的cache dns,没系统地想过这些问题。。。很惭愧。另外新做了一个可以在redhat上全自动安装的chroot dns包(其实就是bind 9.2.4+一个shell+基本配置),有没有新手需要?需要的话给我发mail
风往南吹 回复于:2004-10-05 11:16:16
很惭愧,自己对阿骁提出一些问题也是一知半解,先试着答一遍,不会的我会去找答案。
1、zone数据文件中的@代表什么?IN 代表什么?
@字面意思是at,dns中通常代表当前域.
IN应该是ineternet
2、为什么有时dig可以通过某个nameserver查询,而nslookup却告知无法找到nameserver?
这个不知道,dig用的很少。但我想是不是在nslookup中没有指定某个nameserver才会这样。
3、什么是lame server?
应该是指因dns设置错误而无法正确解析的错误提示。
4、你会做子网段不是8位8位时的IP地址反向解析吗?
这个没做个,是要在dns上做特殊的配置吗?还是只是把自己的netmask 设置好就行了。回头做做实验。 :em02:
5、Internet上是正向解析多还是反向解析多?
这个netman和able有着精彩的讨论,就不在多说了。
6、将zone数据传输功能关闭,你的域内主机就一定安全吗?
这里我不知道自己理解对不对,还请高手指点。 zone数据传输应该是指配置主从dnsserver时的数据更新吧,如果关闭后那么slave dns将无法进行更新,比较合理的方法应该设置ip地址段,至于主机的安全我不知道。
另外提一下skylove说的firewall上关闭外网到53端口的访问,我觉得不太可取。如果你只是dns cache可以这样,如果你是dns server那么这样做后internet上将无法解析你所提供的域名,那样间接等于dnsserver down了吧!
有不对之处还望指出。
able兄所提到的技术很多都是闻所未闻的,太强了。值得学习。
阿骁 回复于:2004-10-08 10:41:08
公布答案喽!^_^
1、zone数据文件中的@代表什么?IN 代表什么?
@ 代表的是当前变量 $ORIGIN 的值,默认这个值为 zone 的域名。比如你设置了一个 123.net 的 zone ,那么 @ 默认表示 123.net。 IN 则代表 Internet 类。
2、为什么有时dig可以通过某个nameserver查询,而nslookup却告知无法找到nameserver?
nslookup 在启动时会向 dns server 发送一个反向解析,查询 dns server 的 IP 地址是否做了反向解析,如果 dns server 没做本机的反向解析,那么 nslookup 会告知找不到 ns。而 dig 则不做这个操作,因此不会有这样的情况。
3、什么是lame server?
http://www.menandmice.com/online_docs_and_faq/glossary/glossarytoc.htm?lame.server.htm
去这个地址看看吧!
4、你会做子网段不是8位8位时的IP地址反向解析吗?
http://bbs.chinaunix.net/forum/viewtopic.php?t=385903&show_type=&postdays=0&postorder=asc&start=0
看看这个帖子吧,或者你找一本《dns and bind》看看。
5、Internet上是正向解析多还是反向解析多?
反解多
6、将zone数据传输功能关闭,你的域内主机就一定安全吗?
这样也不安全的。现在大部分的域虽然都限制了 zone 数据传输,但有心者只需要通过反向扫描解析你的IP地址网段,一样能找到域内的主机哦。这也是 isc.org 统计 Internet 主机的方法。http://www.isc.org/ops/ds/new-survey.php
skylove 回复于:2004-10-08 23:49:45
谢谢,看了又学到一些,谢谢楼主和abel的评说
skylove 回复于:2004-10-08 23:57:47
[quote:09a2d05170="风往南吹"]另外提一下skylove说的firewall上关闭外网到53端口的访问,我觉得不太可取。如果你只是dns cache可以这样,如果你是dns server那么这样做后internet上将无法解析你所提供的域名,那样间接等于dnsserver down了吧!
[/quote:09a2d05170]
恩,是我没说清楚,事实上我说的的确是做cache的情形,而如果是对外服务,当然是不能封的啦,否则别人的请求怎么进来!??对不。。。。。
raullpq 回复于:2004-10-09 14:58:27
又学到了一点:)感谢
prowoo 回复于:2004-10-09 15:35:11
看来,我是不能在朋友面前再吹了T_T
bst 回复于:2004-10-24 11:30:34
涨见识,有所收获! 谢谢!!!
zsxx2004 回复于:2005-01-16 12:16:50
收获不少,谢谢阿娆
yiqingfeng0215 回复于:2005-04-11 10:55:28
ding