Linux架设DNS服务器(二)

2. 安装服务器软件

2.1 取得bind软件包(现在新的版本为8.2.2 p5)

从bind的主页http://www.isc.org上取得最新stable版的三个文件:

bind-contrib.tar.gz

bind-doc.tar.gz

bind-src.tar.gz

或者从http://www.redhat.com上取得三个文件:

bind-8.2.2-p5-9.i386.rpm

bind-devel-8.2.2-p5-9.i386.rpm

cache-nameserver-6.2-2.noarch.rpm

2.2 安装bind软件包

安装tar封装的软件包:

先解压软件包

tar zxpf bind-contrib.tar.gz

tar zxpf bind-doc.tar.gz

tar zxpf bind-src.tar.gz

编辑修改Makefile.set 文件,增加或修改

'DESTLIB=/usr/lib/bind/lib'

'DESTINC='/usr/lib/bind/include'

编译并安装

make

make install

安装rpm封装的软件包:

rpm -Uhv bind-8.2.2-p5-9.i386.rpm

rpm -Uhv bind-devel-8.2.2-p5-9.i386.rpm

rpm -Uhv cache-nameserver-6.2-2.noarch.rpm

3.让服务器跑起来---基本篇

3.1

BIND可被配置成几种不同的运行方式,通用的BIND配置为纯解析器系统,纯缓存服务器,主服务器,辅服务器.

解析器是指通过域名服务器查询域信息的程序代码,在unix系统中,它是以库例程的方式实现的,而并不是一个单独的客户程序.纯解析器系统很容易配置,只要设置一下/etc/resolv.conf文件.这种方式通常用于由于某些限制不能在本地运行域名服务器软件的系统中.

例如:/etc/resolv.conf内容类似为:

search test.com

nameserver 127.0.0.1

nameserver 172.16.0.1

当配置解析器库以使用BIND名字服务进行主机查找,你也必须告知它使用哪个名字服务器。对此有一个独立的文件,称为resolv.conf。如果这个文件不存在或是空的,那么解析器就假设名字服务器在你本地的主机上。

如果在你的本地主机上运行一个名字服务器,你必须单独地设置它。

resolv.conf中最重要的选项是nameserver,它给出了要使用的名字服务器的IP地址。如果你通过几次给出nameserver选项指定了几个名字服务器,那么它们会以给出的顺序试用。因此,你应该首先给出最可靠的服务器。目前,至多支持三个名字服务器。

如果没有给出nameserver选项,那么解析器试图连接本地主机上的名字服务器。

其它两个选项,domain和search涉及到如果BIND不能用第一个请求解析主机名时附加在主机名上的缺省域。search选项指定了一个试用的域名列表。列表项是用空格或制表符分开的。

如果没有给出search选项,就会通过使用域名本身从本地域名以及直至root的父域中建立一个搜寻列表。本地域名可以使用domain语句给出;如果一个也没有给出,那么解析器就通过系统调用getdomainname(2)来获取。

3.2 其它三类配置方式是用于域名服务器的

纯缓存服务器

纯缓存服务器运行域名服务器软件,但并没有域名服务器数据库文件,它记录下每一个从远程域名服务器获得的数据,以回答将来对同一信息的查询.

纯缓存服务器所需的三个基本配置文件:

/etc/named.conf

/var/named/named.ca

/var/named/named.local

创建或修改/etc/named.conf:

// 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;

forwarders {172.16.0.1;172.16.0.11;};

};

//

// a caching only nameserver config

//

zone "." {

type hint;

file "named.ca";

};

zone "0.0.127.in-addr.arpa" {

type master;

file "named.local";

};

在文件中"forwarders {172.16.0.1;172.16.0.11;};"其中的IP地址是你网络中主服务器和辅服务器的IP地址.
创建或修改/var/named/named.local

@ IN SOA localhost. root.localhost. (

1997022700 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ) ; Minimum

IN NS localhost.

1 IN PTR localhost.

创建或修改/var/named/named.ca:

至于/var/named/named.ca就要从redhat linux光碟获得了.也用命令从互联网上获得:

dig @.aroot-servers.net.ns > /var/named/named.ca

如果是用rpm封装的软件包安装的话,这三个文件会自动生成,我们只需要修改/etc/named.conf.其中/var/named.ca一般是不用修改的.

主服务器

主服务器是给定域的所有信息的授权来源.它所装载的域信息来自于由域管理员所创建并在本地维护的磁盘文件.

我们用"test.com"作为例子,我们需要五个基本配置文件:

/etc/named.conf

/var/named/named.ca

/var/named/named.local

/var/named/named.test.com

/var/named/named.172.16.0

创建或修改/etc/named.conf:

// 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 PM nameserver config

//

zone "." {

type hint;

file "named.ca";

};

zone "0.0.127.in-addr.arpa" {

type master;

file "named.local";

};

//there are our primary zone files

zone "test.com" {

type master;

file "named.test.com";

};

zone "0.16.172.in-addr.arpa" {

type master;

file "named.172.16.0";

};

文件中的zone "test.com"段是声明这是用于test.com域的主服务器,用于该域的数据从/var/named/named.test.com文件中装载.

文件中的zone "0.16.172.in-addr.arpa"段是指向映射IP地址172.16.0.* 到主机名的文件.用于该域的数据从/var/named/named.172.16.0文件中装载.

创建或修改/var/named/named.local

@ IN SOA ns.test.com. root.ns.test.com. (

2000051500 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ) ; Minimum

IN NS ns.test.com.

1 IN PTR localhost.

注意:在修改named.*文件时每次存盘时要注意增加Serial值.如使用绝对域名时千万别忘了后面带的"."

资源记录中的@字符转变为当前的域test.com,IN表示资源记录使用TCP/IP地址,SOA表示管辖开始记录.ns.test.com. 是这个域的主DNS服务器的标准名称,在之后是联系的EMAIL地址,其中@字符必须用"."代替.

创建或修改/var/named/named.test.com

@ IN SOA ns.test.com. root.ns.test.com. (

2000051500 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ) ; Minimum

IN NS ns.test.com.

ns A 172.16.0.1

ns2 A 172.16.0.11

www A 172.16.0.2

ftp CNAME www.test.com.

mail A 172.16.0.3

MX 10 mail.test.com.

创建或修改/var/named/named.172.16.0

@ IN SOA ns.test.com. root.ns.test.com. (

2000051500 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expi

(0)

相关推荐

  • Linux架设DNS服务器(一)

    一、域名系统介绍 1.域名系统 域名系统为一个分布式数据库,它使本地负责控制整个分布式数据库的部分段,每一段中的数据通过客户,服务器模式在整个网络上均可存取,通过采用复制技术和缓存技术使得整个数据 ...

  • Linux下DNS服务器架设攻略 3

    2. 反向域名转换数据文件db.127.0.0和db.192.11.56的建立。 反向域名转换数据文件用来提供根据IP地址查询相应DNS主机名,每个网段分别有一个数据文件。 “127.0.0”这个内部 ...

  • LInux配置DNS服务器

    LInux 配置DNS服务器 步骤/方法 01 /etc/sysconfig/network-scripts/ifcfg-eth0 配置网卡信息 02 在/etc/目录下修改named.conf文件在 ...

  • Linux下DNS服务器架设攻略

    【IT168 专稿】大家要注意,DNS服务是许多服务的基础,所以一般刚开始学习Linux服务器配置时从此下手,那其它的应用也就简单得多了。笔者进阶学习Linux,也是从此开始的。 一、 相关知识概述 ...

  • Linux下DNS服务器架设攻略 2

    named 这个主体进程在启动时需要读取一个初始化文件,缺省为 /etc/named.boot。另外建议大家使用Linux自带的ndc工具来进行启动、中止、重启动、刷新DNS数据、输出DNS数据等多种 ...

  • Linux中DNS服务器地址查询命令nslookup使用教程

    nslookup 程序是DNS 服务的主要诊断工具,它提供了执行DNS 服务器查询测试并获取详细信息.使用nslookup 可以诊断和解决名称解析问题.检查资源记录是否在区域中正确添加或更新,以及排除 ...

  • Linux下DNS服务器bind的安装、配置和应用

    操作方法 01 DNS工作原理 1.当要进行域名解析的时候,系统会向本地DNS发出解析请求,由本地DNS服务器解析域名与对应的IP地址. 2.本地DNS服务器接收到解析请求后,再自己的本地数据库中查找 ...

  • Linux下的安装和配置DNS服务器

    在Linux操作系统中使用BIND (Berkeley Internet Name Daemon)作为DNS服务器,以下以Linux 的 Redhat 7.3发行版本为例,介绍BIND安装、启动和停止 ...

  • Linux下Web服务器架设攻略

    今天我们来看看如何将Web服务器架在Linux系统下。 LINUX系统中常见的有:CERN、NCSA、Apache三种方式,一般最常用的方法就是用Apache。此种方式特点明显,配置简明,具有最大的 ...