DNS服务器配置说明公司DNS地址为:10.10.3.254帐号:root密码:1111111.概述1.1什么是DNSDNS全名叫DomainNameServer,中文俗称“域名服务器”,在说明DNSServer之前,可能要先说明什么叫DomainName(域名)。通常,在网上辨别一台电脑的方法是利用IP地址,但是IP用数字表示,没有特殊的意义,不便于记忆,因此,我们一般会为网上的电脑取一个有某种含义又容易记忆的名字,这个名字我们就叫它“DomainName(域名)。例如:对著名的YAHOO!搜索引擎来说,一般使用者在浏览这个网站时,都会输入,很少有人会记住这台Server的IP是多少?所以!站点的DomainName。这正如我们在跟朋友打招呼时,一定是叫他的名字,几乎没有人是叫对方身份证号码来打招呼的,但本质上在Internet上真实辨认机器的还是IP,所以当使用者在浏览器中输入DomainName后,浏览器必须先到一台有DomainName和IP对应信息的主机去查询这台电脑的IP,而这台被查询的主机,我们称它为DomainNameServer(域名服务器),简称DNS,例如:当你输入时,浏览器会将上去做辨认,如果DNSServer查询出域名对应的IP,就会将这个IP值返回给这台主机,但如果没有查询到,就会出现类似DNSNOTFOUND等告警信息。所以一旦你的电脑的DNSServer设置不正确,就好比是路标错了,电脑也就不知道该把域名信息送到哪里去解析了。1.2DNS的结构DNS是一个分层级的分散式名称对应系统有点像电脑的目录树结构在最顶端的是一个“.”(root)然後其下分为好几个基本类别名称如com、org、edu等再下面是组织名称如cisco、intel等继而是主机名称如、mail、ftp等。因为当初internet是从美国发起的所以当时并没有国域名称但随着后来internet的蓬勃发展DNS也加进了诸如cn、jp、au等国域名称。所以一个完整的dns名称就好像是这样的地址了。在开始的时候root下面只有六个组织类别类别名称代表意思edu教育学术单位org组织机构net网路通讯单位com公司企业gov政府机关mil军事单位不过自从组织类别名称开放以後各种各样五花八门的名称也相继现出来了但无论如何取名的规则最好量适合网站性质。除了原来的类别资料由美国的NIC(NetworkInformationCenter)管理之外其它在国域以下的类别分别由该国的NIC管理。理解DNS的工作方式DNS查询的工作原理:当DNS客户端需要查询程序中使用的名称时,它会查询DNS服务器来解析该名称。客户端发送的每条查询消息都包括三条信息,指定服务器回答的问题:*指定的DNS域名,规定为完全合格的域名(FQDN)*指定的查询类型,可根据类型指定资源记录,或者指定查询操作的专用类型。*DNS域名的指定类别。例如,指定的名称可为计算机的FQDN,如Debian.linuxsir.org,并且指定的查询类型用于通过该名称搜索地址(A)资源记录。将DNS查询看作客户端向服务器询问由两部分组成的问题,如“您是否拥有名为‘Debian.linuxsir.org’的计算机的A资源记录?”当客户端收到来自服务器的应答时,它将读取并解释应答的A资源记录,获取根据名称询问的计算机的IP地址。DNS查询以各种不同的方式进行解析。有时,客户端也可使用从先前的查询获得的缓存信息在本地应答查询。DNS服务器可使用其自身的资源记录信息缓存来应答查询。DNS服务器也可代表请求客户端查询或联系其他DNS服务器,以便完全解析该名称,并随后将应答返回至客户端。这个过程称为递归(Recursion)。另外,客户端自己也可尝试联系其他的DNS服务器来解析名称。当客户端执行此操作时,它会根据来自服务器的参考答案,使用其他的独立查询。这个过程称为迭代。总之,DNS查询进程分两部分进行:*名称查询从客户端计算机开始,并传输至解析程序即DNS客户端服务程序进行解析。*不能在本地解析查询时,可根据需要查询DNS服务器来解析名称。DHCP是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址给用户,给内部网络管理员作为对所有计算机作中央管理的手段。本文描述如何安装配置DNS,最后介绍DNS服务移植到开发板上。本文假设读者有一定的网络基础知识。2.安装Bind本文档下述操作是基于Linux操作系统版本:fedora12安装Bind可以采用在线安装方式,输入命令如下#yum-yinstallbind*完成安装后,键入如下命令,看是否安装完全:#rpm–qa|grep'bind'bind-utils-9.6.2-3.P1.fc12.i686bind-dyndb-ldap-0.1.0-0.5.a1.fc12.i686PackageKit-device-rebind-0.5.4-0.1.20091029git.fc12.i686bind-devel-9.6.2-3.P1.fc12.i686bind-libs-9.6.2-3.P1.fc12.i686bindfs-1.8.3-3.fc12.i686samba-winbind-clients-3.4.7-58.fc12.i686bind-9.6.2-3.P1.fc12.i686ypbind-1.20.4-20.fc12.i686bind-to-tinydns-0.4.3-6.fc12.i686bind-chroot-9.6.2-3.P1.fc12.i686rpcbind-0.2.0-4.fc12.i686bind-sdb-9.6.2-3.P1.fc12.i686(注:对于不同版本系统,可能需要的包有所区别,但大多数包是相同的,这里仅供参考)3.配置3.1基本配置(问题:我的配置文件没有)1编辑named.conf文件,红色为改动部分,//后为注释,请不要将注释写入文件!#vi/var/named/chroot/etc/named.conf(如果在此目录未发现,则用find/namenamed.conf命令来查找)options{listen-onport53{any;};//127.0.0.1改为any,53为监听端口号listen-on-v6port53{::1;};directory“/var/named”;dump-file“/var/named/date/cache-dump.db”;statistics-file“/var/named/data/named_stats.txt”;memstatistics-file“/var/named/data/named_mem_stats.txt”;query-sourceprot53;query-source-v6port53;allow-query{any;};//localhost改为anyallow-query-cache{any;};forwarders{202.103.24.68;};//此行默认没有,如果内网使用此DNS服务器可//以设置dns转发,这里一定需要是一个有效的DNS服务器地址forwardonly;//此行是与上一行搭配使用的,默认配置没有此项};logging{channeldefault_debug{file“data/named.run”;severitydynamic;};};viewlocalhost_resolver{match-clients{any;};//localhost改为anymatch-destinations{any;};//localhost改为anyrecursionyes;include“/etc/named.rfc1912.zones”;};2配置named.rfc1912.zones文件在此目录下还有一个文件named.rfc1912.zones要配置,它是DNS服务器的区域配置文件:#vinamed.rfc1912.zoneszone“.”IN{typehint;//type表示类型,hint表示为互联网中根域名服务器file“name.ca”;//file表示该域定义文件的文件名};//每一个”}”或每个配置内容语句后面千万不要忘记”;”zone“localdomain”IN{typemaster;//master表示定义的是主域名服务器file“localdomain.zone”;allow-update{none;};};zone“localhost”IN{typemaster;file“localhost.zone”;allow-update{none”};};zone0.0.127.in-addr.arpaIN{typemaster;filenamed.local;allow-update{none;};};zone0.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.arpaIN{typemaster;filenamed.ip6.local;allow-update{none;};};zone255.in-addr.arpaIN{typemaster;filenamed.broadcast;allow-update{none;};};zone0.in-addr.arpaIN{typemaster;filenamed.zero;allow-update{none;};};//下面的hello-world-wh.com是新添加的实验用的区域,正向解析区域zonehello-world-wh.comIN{typemaster;filehello-world-wh..zone;//文件名是可以自定义命名的allow-update{none;};};//0.1.10是我们的反向解析区域zone0.1.10.in-addr.arpaIN{//142.204.122是IP前三项的倒置typemaster;};//注:在最后添加自己的DNS区域,如果有多个,则可做类似添加3生成正向、反向区域配置文件在上述的named.rfc1912.zones文件中,我们在文件尾部添加了自己的正向解析区域和反向解析区域配置文件的配置项(“”与”0.1.10.in-addr.local”),但这两个文件还没有生成,是需要我们手工添加的,它们可由安装bind时自动生成的两个区域配置文件直接拷贝得到,然后再做修改。#cd/var/named/(如果在此目录未发现,则用find/-namedata命令来查找)#lschrootdynamicnamed.emptynamed.loopbackdatanamed.canamed.localhostslaves//data目录中用来存放named_mem_stats.txt文件,该文件用来记录DSN服务器的内//存状态信息。//slaves目录用来存放从域名服务器(slave)的区域配置文件#cp–plocaldomain.zonehello-world-wh.com.zone(此时localdomain.zone也可以换成named.localhsot,打开文件named.rfc1912.zones后可以看到的正向解析指令[由url解析到ip地址])#cp–pnamed.local0.1.10.in-addr.local(此时named.local也可以换成named.lookback,打开文件named.rfc1912.zones后可以看到的反向解析指令[由