上篇:LinuxWorld China 2007(2007年9月7日)展会胜利召开
下篇:三种方式实现Linux操作系统自动Telnet

鸟哥的Linux学习笔记 DNS服务器相关知识

来源:赛迪网 作者:

1.MAC<--ARP-->IP

IP<---DNS-->DOMAIN

 

2.网络传送资料的方法并不是只有TCP/IP协议,比如在LAN里经常用到的可能是NetBIOS

 

3.DNS的由来

==>为了解决网络传送资料时IP地址难以记忆的问题,就有了利用某些特定的档案将主机名称与IP对应起来,这样就可以通过主机名称来取得该主机的IP了,也就可以完成资料的传送了。

==>可是主机名称与IP的对应无法自动与所有的电脑内更新,且当IP数量太多时,该档案就会大到不像话,也就更不利于主机同步化。

==>柏克莱大学发展出了一套阶层式管理主机名称对应IP的系统,称之为BIND(Berkeley Internet Name Domain)

==>进而发展成为全世界使用最广泛的域名系统DNS

 

4.DNS与BIND的区别

DNS——一种主机名称与IP的解析协议

BIND——提供DNS服务的套件

 

5./etc/hosts

ping -c 5 localhost

windows下面对应的文件为:c:\i386\hosts

 

这个会加快IP的搜寻速度

可以尝试一下

 

6./etc/hosts与DNS系统区别:

/etc/hosts——直接在Client端的档案内输入主机名称对应的IP来查询

DNS系统——利用额外的DNS服务,让client端可以通过名称解析来取得目的地主机的IP

 

7.Domain Name与Hostname的区别:

Domain Name——

Hostname——

我们已经知道DNS系统是个分层次的系统,所以在每一层上域名与主机名是不一样的

如www.yahoo.com中域名为yahoo.com,主机名为www

又如yahoo.com中域名为.com,主机名为yahoo

 

8.DNS架构

每个上一层的DNS主机,所记录的资讯,其实只有其下一层的主机名称而已!!

DNS树状目录

root

____________________________________________________

| | | | | | |

com edu gov mil org cn 其他国家

|

___________________________________________________

| | | | |

com.cn edu.cn gov.cn mil.cn org.cn

|

_____________________________________________

| | |

sina.com.cn yahoo.com.cn others.com.cn

 

com: 商业、公司

org: 组织、机构

edu: 教育

gov: 政府

net: 网络、通讯

mil: 军事

 

9.DNS的搜寻流程

DNS是以类似树状目录的形态来管理域名的,每一部DNS主机只管理下一层DNS主机的域名解析

至于下层的下层,则授权给下层的DNS主机来管理

 

DNS服务器工作原理

客户端linux主机利用/etc/resolv.conf中提供的DNS服务器的IP来进行查询

DNS服务器会这样做:

假设要访问

(1) 先看本身有没有记录

(2) 向最顶层查询

向最顶层的.(root)这部主机来查询.(root)的下一层.cn

(3) 向第二层查询

就到.cn查询,找到.edu.cn

(4) 接着一步一步下来

(5) 记录暂存记忆档

查找要找的IP后,就将,对应的IP信息在自己的暂存记忆档中保存起来

这个暂存档是有时间性的,当过了DNS设定记忆的时间(通常是24小时),该记忆就会被释放

 

几点注意:

a> 只有域名是经过上层合法的DNS主机设定的,才可以在INTERNET上被查询到

b> 主机的暂存记忆档,是有时间性的,所以当修改一个域名之后,可能要2~3天才能全面的启用

c> 每一部可以记录主机名称与IP对应的DNS服务器都可以随意更动他自己的资料库,注意,是他自己的

 

10.DNS使用的端口

cat /etc/services | grep domain

可以看到DNS使用的端口为53

通常进行DNS查询时,是以UDP这个较快速的资料传输协议来查询的,但若没有查询,会再次以TCP查询。

所以启动DNS的daemon(即named),会同时启动TCP及UDP的53这个端口。

 

11.要让你的主机名称对应IP且让Internet上的电脑都可以查询的到,就需要:

(1) 上层DNS 授权让你设定DNS主机,或者

(2) 直接请上层DNS主机来帮你设定

 

12.什么是正解与反解?

(1) 正解

由主机名去寻找IP的程序称为正解

(2) 反解

由IP去查询得到主机名就称为反解

(3) 区域(Zone)

一个正解或反解的设定就是一个zone

如,以鸟哥的vbird.idv.tw为例,一个域名的DNS设定档里必需有

。hint(root)的设定

。vbird.idv.tw这个域名的正解设定

。localhost的正解设定(非必要)

。localhost的反解设定(非必要)

 

那么就有四个zone

 

13.DNS server使用的是bind这个套件,他的主要参数档是/etc/named.conf

 

14.查询DNS是否安装

(1)

# rpm -qa | grep bind

bind-utils-9.2.4-16.EL4 <==是用户端搜寻主机名称的相关指令

bind-9.2.4-16.EL4 <==DNS服务器主程序

bind-chroot-9.2.4-16.EL4 <==将bind主程序关在家里?

那个chroot即change to root,那个root代表的是根目录

可以用该命令来将某个目录指定为bind程序的根目录,由于是根目录,所以bind便不能离开该目录。

CentOS默认将bind锁在/var/named/chroot中

 

(2)

yum install bind

 

15.BIND的默认设定

/etc/named.conf ——设定档

/etc/sysconfig/named ——是否启动chroot及额外的参数,由这个档案控制

/var/named/ ——资料库档案默认放置在这个目录

/var/run/named ——named这去程序执行时默认放置pid-file在此目录内

可通过查看/etc/sysconfig/named来查看chroot所指定的目录

# vi /etc/sysconfig/named

ROOTDIR=/var/named/chroot

这样bind的相关程序所需要的所有资料会是在:

/var/named/chroot/etc/named.conf

/var/named/chroot/var/named/zone_file1

/var/named/chroot/var/named/zone_file...

/var/named/chroot/var/run/named/...

不过,仍旧可以使用/etc/named.conf来设定你的DNS

因为系统会主动的帮你将/var/named/chroot/etc/named.conf链接到/etc/named.conf

 

16.DNS的master/slave架构

master——本身具有提供Internet查询所需的资料

slave——

Cache-only——这种DNS主机没有自己的资料库,单纯帮助Client端向外部的DNS主机要求资料而已。代理?

 

17.Cache-only单纯的forward DNS主机设定

(1) 编辑主要设定档 /etc/named.conf

a> 注释用"//"

b> 每个段落之后要用";"结束

c> 实例:

------------------------------------------------------------------

[root@linux ~]# vi /etc/named.conf

// 虽然 CentOS 将这个档案放置到 /var/named/chroot/etc 当中,

// 不过他很好心的帮我们作了个连结,所以你还是可以直接编辑这个档案啦!

options {

directory "/var/named";

共2页: 上一页 1 [2] 下一页