现在的位置: 首页 > 综合 > 正文

LINUX学习笔记——DNS服务器设置篇(转载)

2012年12月22日 ⁄ 综合 ⁄ 共 4736字 ⁄ 字号 评论关闭

LINUX学习笔记——DNS服务器设置篇
 


推荐人:sheke 信息发布日期:2005-03-20

背景: 
---- 公司用专线连到Chinanet,并获得一段C类IP地址空间(如:16个),同时向ChinaNIC申请了公司域名yourdomain.com,现在设置一台机器作DNS服务器,同时也设为防火墙。 

对象: 
---- Internet专线用户 

软件: 
---- Redhat Linux 5.2 

实现过程: 

该服务器上装有两块网卡,内部接口eth1地址为192.168.11.5,外部接口eth0地址为 202.a.b.c 机器名设为 dns.yourdomain.com ,安装及配置过程略 

Redhat Linux 5.2随CD带的是bind 8.X的版本,下面是我的配置: 
----------
[root@dns jephe]# more /etc/named.conf
options {
directory "/var/named";
forward first;
forwarders {
202.96.199.133;
};
};
zone "."{
type hint;
file "root.hints";
};
zone "0.0.127.in-addr.arpa"{
type master;
file "127.0.0";
};
zone "11.168.192.in-addr.arpa"{
type master;
file "192.168.11";
};
zone "yourdomain.com"{
notify no;
type master;
file "yourdomain.com";
};
---------

---- 注: 

202.96.199.133 是 Chinanet的一个DNS服务器(ns.sta.net.cn) . 

root.hints 包含了互联网上的一组根服务器的地址,可从网上下载,(ftp://ftp.internic.net/domain/named.ca),然后换名为root.hints,你也可取别的名字,这个区信息非常重要,必须存在,为了保持它最新,一般每月更新一次。也可设一个script文件,每次自动更新 

127.0.0 是该机器本地接口的反向解析文件,设置后便几乎不再需要更改。 

192.168.11是内部网段的一些服务器的反向解析信息。 

yourdomain.com 文件是你所申请的域的正向解析文件。在你向ChinaNIC申请域名yourdomain时,一般地,你还需要提供管理这个域的DNS服务器,你可以用dns.yourdomain.com(202.a.b.c)。 

  第一类:位于/etc目录下的有:hosts,hosts.conf,resolv.conf,named.boot,named.conf。

  1、“hosts”文件,定义了主机名和ip地址的对应,其中也有将要运行dns这台电脑的ip地址和主机名。内容:
  127.0.0.1 localhost.localdomain localhost
  10.0.0.39 netfinity.zrs.com netfinity
  2、“hosts.conf”文件,"order hosts bind"语句,指定了对主机名的解析顺序是先到hosts中查找,然后到dns服务器的记录里查找。“multi on”则是允许一个主机名对应多个ip地址。内容:
  order hosts, bind
  multi on
  nospoof on
  3、“resolv.conf”文件,“nameserver 10.0.0.211”指定了dns服务器的地址。注意,这个文件对普通非dns服务器的电脑(非windows的系统;Windows系统是在“网络属性”中设置这项的)来说,是必不可少的。你如果没有设置本机为dns服务器,你又要能够解析域名,就必须指定一个dns服务器的地址。你可以最多写上三个地址,作为前一个失败时的候选dns服务器。“domain zrs.com”指定默认的域。文件内容:
  domain zrs.com
  nameserver 10.0.0.39
  4、“named.boot”文件是早期版本的bind软件使用的配置文件,现在新版本中已经让位于“named.conf”。named.conf是dns server配置的核心文件。下面我们一段一段的来解说。

// generated by named-bootconf.pl

options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};

//
// a caching only nameserver config
//

zone "." IN {
type hint;
file "named.ca";
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};

  这一部分是你安装了bind软件后系统自动产生的named.conf文件的原始内容。“directory”指定了dns记录文件的存放目录是/var/named。“//”开头的文字是说明文字,不用管它。接着的两个“zone”语句定义了dns服务器的根和对应的反向查询域,并指出根的记录文件是“name.ca”,根的反向查询域的记录文件是“named.local”。这两个记录文件也是系统自带的,不用去改动它。named.conf文件的这一部分内容,我们不必去改动它。

  但我们可以在“diretory”下添加一行:forwarders {202.96.134.133;}。202.96.134.133是我这里电信的dns服务器的地址,forwarders参数指明了其后的ip所在的服务器作为备选的dns服务器。也就是说,把本机的dns不能解析的主机发送到这个备选的dns服务器上,让它来进行解析。

zone "zrs.com" IN {
type master;
file "named.zrs.com";
allow-update { none; };
};
zone "0.0.10.in-addr.arpa" IN {
type master;
file "named.zrs.com.rev";
allow-update { none; };
};

  这一部分是手工添加的。定义了“zrs.com”这个域和对应的反向查询域。“type master”说明本机是“zrs.com”和“0.0.10.in-addr.arpa”这两个域的主dns服务器(primary name server)。“named.zrs.com”和“named.zrs.com.rev”是域的记录文件。这两个文件也是自己创建的,下面我们就来看看这两个文件。

第二类:资源记录文件,位于/var/named目录下。这个目录是named.conf中定义的。
1、named.zrs.com文件内容如下:

@ IN SOA netfinity.zrs.com. root.netfinity.zrs.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS netfinity.zrs.com.
IN MX 10 netfinity.zrs.com.

netfinity IN A 10.0.0.211
lily IN A 10.0.0.139
www IN CNAME netfinity.zrs.com.
pop3 IN CNAME netfinity.zrs.com.
smtp IN CNAME netfinity.zrs.com.

  在这个记录文件中,出现了5种类型的记录。SOA 是授权起始(Start Of Authority)的缩写,后面接着写你的dns服务器的主机名,这里是“netfinity.zrs.com.”。(注意,主机名称后面的小圆点。凡是出现在记录文件了的主机名,记得都要加上这各小圆点。)NS 是名称服务器资源记录,指明域中的名称服务器,这里就是dns服务器。MX是邮件交换者资源记录,指明这个域的邮件服务器。你可以写多个MX记录,指明多个邮件服务器,优先级别由MX后的数字决定,数字越小,邮件服务器优先权越高。A是主机记录,把主机和ip地址对应起来。CNAME是别名记录,它赋予一个主机不同的名称,如www.zrs.com、pop3.zrs.com其实都是指向同一台主机netfinity.zrs.com。

2、named.zrs.com.rev文件内容:
@ IN SOA netfinity.zrs.com. root.netfinity.zrs.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS netfinity.zrs.com.
211 IN PTR netfinity.zrs.com.
139 IN PTR lily.zrs.com.
  这是“zrs.com”的反向域记录文件,它让dns服务器提供由ip地址查找主机名的服务。PTR记录把ip和主机名对应起来。由于一些程序会要求反向查询,所以反向查询域的记录文件最好不要省略。
到此为止,你已经成功配置了一个dns服务器,它能够解析“zrs.com”这个域了。

四、配置本机为BAOAN.GOV.CN域的辅助dns服务器

  辅助DNS服务器,可从主服务器中转移一整套域信息。区文件是从主服务器中转移出来的,并作为本地磁盘文件存储在辅助服务器中。在辅助服务器中有域信息的完整拷贝,所以也可以可以回答对该域的查询。这部分的配置内容如下:
zone "baoan.gov.cn" IN {
type slave;
file "named.baoan.gov.cn";
masters { 10.0.0.211; };
allow-update { none; };
};
zone "0.0.10.in-addr.arpa" IN {
type slave;
file "named.baoan.gov.cn.rev";
masters { 10.0.0.211; };
allow-update { none; };
};
  可以看到,和主DNS服务器不同地方就是:“type”改为了“slave”,然后指明了主DNS服务器的地址“masters { 10.0.0.211; };”。DNS服务启动时,就会自动连接10.0.0.211,读取BAOAN.GOV.CN域的信息,然后保存到本机的named.baoan.gov.cN文件里。我就是通过这个功能把原来10.0.0.211(系统为windows2000)上的所有记录复制了一份到10.0.0.39上。

五、测试DNS服务器

  改动过DNS的相应文件,用“ndc restart”命令重新启动服务,使改动生效。要测试DNS,可以找一台客户机,把它的DNS地址设成新建立的DNS服务器地址,然后试试上网,收信,下载等。也可以使用nslookup命令:运行nslookup,输入要查询的主机名,看是否返回正确的ip地址。

 

抱歉!评论已关闭.