基于Linux的域名解析服务器管理与配置

基于Linux 的域名解析服务器管理与配置Linux 中,域名解析使用的是柏克莱大学开发的BIND (Berkeley Internet Name Domain)软件。DNS 服务器的Master/S

基于Linux 的域名解析服务器管理与配置

Linux 中,域名解析使用的是柏克莱大学开发的BIND (Berkeley Internet Name Domain)软件。

DNS 服务器的Master/Slave架构

DNS 服务器的类型大致可以分成三类:

(1)Master (主域名解析服务器)

这种类型的DNS 本身含有域名的配置文件,这个文件就是设置正解或反解的“数据库”,所以它本身具有提供Internet 查询所需的数据。

(2)Slave (从域名解析服务器)

假如DNS 服务器共管理50台主机的IP 与主机名称的对应,而只有一台DNS 服务器,当网络出现问题,或主机的软硬件出现问题时,导致此服务器终止,则这50台主机的主机名和IP 的对应将无法找到,所以,一般DNS 系统建议使用多台主机提供DNS 服务。

当我们有4台DNS 主机提供这样的名字解析服务,这4台主机的内容是一模一样的,如果要修改一个IP 与名称的对应,就需要手动修改4台主机的内容。此时,Slave 类型的DNS 主机出现了。 Slave 主机需要与Master 主机相互搭配。在上述的4台主机中,需指定一台为Master ,其他三台为该Master 的Slave 主机,当要修改一个IP 与名称对应时,只要手动更改Master 机器的配置文件,然后重启BIND 服务,其他3台Slave 就会自动被通知更新。

(3)Cache-Only

此类DNS 主机没有自己的数据库,仅用于帮助客户端详外部DNS 主机请求数据。通常设置在防火墙上。

DNS 主机的详细设置

DNS 的相关细节包括:

主要配置文件:/etc/named.conf 每个正、反解析都需要一个文件,文件名在/etc/named.conf中配置 当DNS 查询时,若本身没有数据库,则前往root (. )或Forwarders 主机查询 判断named 是否启动

案例说明

假设DNS 服务器针对zjz.net 这个域来进行解析,其对应的反解析为192.168.1.0/24网段。需要配置的文件如下:

• named.conf :配置文件

⏹ /etc/named.conf配置文件

此文件是整个DNS 的核心。这个文件的主要内容分为三部分:

• 规范DNS 服务器的使用权限,包括能否查询、forward 与否、Master/Slave架构等 设置Domain Name以及Zone File的所在 设置DNS 本机管理接口以及相关的Key File named.zjz.net :zjz.net 的正解析文件 named.192.168.1:192.168.1.0/24的反解析

//定义整个DNS 服务器的相关环境,包括查询文件放置目录等

Options

{ directory “/var/named”;

dump-file “/var/named/data/cache_dump.db”;

statistics-file “/var/named/data/named_stats.txt”;

,

pid-file “/var/run/named/named.pid”; forwarders{ 202.100.192.68; 139.175.10.20;

};

allow-query{any;}; //是否允许被查询,默认允许

allow-transfer{none;}; //是否允许传送zone ,默认不可

};

//关于DNS 服务器的一些加密数据

Include “/etc.rndc.key”

//关于root(.)的设置

zone”. ”

{ type Hinet; //特殊类型,root(.)专用

file “named.root “ //文件名定义

};

//关于本机localhost 的正反解析

zone “localhost ”

{ type master;

file “named.localhost ”;

};

zone “0.0.127.in-addr.arpa ”

{ type master;

file “name.127.0.0”; };

//规范zjz.net 的域名

zone “zjz.net ”

{ type master;

file “zjz.net.named ”;

};

zone “1.168.192.in-addr.arpa ”;

{ type master;

file “named.192.168.1”;

};

正解数据库文件配置

Localhost 域的正解析配置文件:named.localhost

; 主机相关设置

$TTL 600

; 关于master/slave的授权

@ IN SOA localhost. Root.localhost.(

2006102001 ; serial :仅作为序号

28800 ; refresh :/服务器更新时间

14400 ; retry :当slave 主机更新失败,多久再重新更新一次

720000 ; expire :重复retry 多久后宣告失败,不再更新

86400) ; minimum :可视为TTL

; 本领域的DNS 服务器主机名与IP 的对应

@ IN NS localhost. ; 特别留意后面的小数点

Localhost. IN A 127.0.0.1

zjz.net 域的正解配置文件: zjz.net.named

$TTL 600

@ IN SOA zjz.net. root.zjz.net( 2006102001 28800 14400 720000 86400) ; 本领域的DNS 服务器主机名与IP 的对应

@ IN NS zjz.net.

www IN A 192.168.1.200

blog IN CNAME www

,

⏹ 反解数据库文件配置

Localhost 域的正解析配置文件:named.127.0.0 $TTL 600

; 关于master/slave的授权

@ IN SOA localhost. Root.localhost( 2006102001 28800 14400 720000 86400 ) ; 本领域的DNS 服务器主机名与IP 的对应

@ IN NS localhost.

1 IN PTR localhost.

⏹ DNS 的启动

[root@linux~]# /etc/init.d/named start ←也可能需要使用restart

⏹ 客户端设置

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

nameServer 192.168.1.200

nameServer 202.100.192.68

标签: