1.MAC<——ARP——>IP
IP<——DNS——>DOMAIN
2.网络传送资料的方法并不是只有TCP/IP协议,比如在LAN里经常用到的可能是NetBIOS
3.DNS的由来
==>为了解决网络传送资料时IP地址难以记忆的问题,就有了利用某些特定的档案将主机名称与IP对应起来,这样就可以通过主机名称来取得该主机的IP了,也就可以完成资料的传送了。
==>可是主机名称与IP的对应无法自动与所有的电脑内更新,且当IP数量太多时,该档案就会大到不像话,也就更不利于主机同步化。
==>柏克莱大学发展出了一套阶层式管理主机名称对应IP的系统,称之为BIND(BerkeleyInternetNameDomain)
==>进而发展成为全世界使用最广泛的域名系统DNS
4.DNS与BIND的区别
DNS——一种主机名称与IP的解析协议
BIND——提供DNS服务的套件
5./etc/hosts
ping-c5localhost
windows下面对应的文件为:c:\i386\hosts
这个会加快IP的搜寻速度
可以尝试一下
6./etc/hosts与DNS系统区别:
/etc/hosts——直接在Client端的档案内输入主机名称对应的IP来查询
DNS系统——利用额外的DNS服务,让client端可以通过名称解析来取得目的地主机的IP
7.DomainName与Hostname的区别:
DomainName——
Hostname——
我们已经知道DNS系统是个分层次的系统,所以在每一层上域名与主机名是不一样的
如中域名为yahoo.com,主机名为www
又如yahoo.com中域名为.com,主机名为yahoo
8.DNS架构
每个上一层的DNS主机,所记录的资讯,其实只有其下一层的主机名称而已!!
DNS树状目录
root
____________________________________________________
|||||||
comedugovmilorgcn其他国家
|
___________________________________________________
|||||
com.cnedu.cngov.cnmil.cnorg.cn
|
_____________________________________________
|||
sina.com.cnyahoo.com.cnothers.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|grepdomain
可以看到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.DNSserver使用的是bind这个套件,他的主要参数档是/etc/named.conf
14.查询DNS是否安装
(1)
#rpm-qa|grepbind
bind-utils-9.2.4-16.EL4<==是用户端搜寻主机名称的相关指令
bind-9.2.4-16.EL4<==DNS服务器主程序
bind-chroot-9.2.4-16.EL4<==将bind主程序关在家里?
那个chroot即changetoroot,那个root代表的是根目录
可以用该命令来将某个目录指定为bind程序的根目录,由于是根目录,所以bind便不能离开该目录。
CentOS默认将bind锁在/var/named/chroot中
(2)
yuminstallbind
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/……