基于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