002.DNS-BIND简介

一 Linux-BIND服务器简介

Bind是Berkeley Internet Name Domain Service的简写,它是一款实现DNS服务器的开放源码软件。已经成为世界上使用最为广泛的DNS服务器软件,目前Internet上半数以上的DNS服务器有都是用Bind来架设的,已经成为DNS中事实上的标准。

二 DNS服务器类型

  • 缓存服务器:不负责解析,仅为加速,不需要注册
  • 主DNS服务器:负责解析本地客户端请求
  • 辅助DNS服务器:辅助服务器的区域数据都是从主服务器复制而来,其数据都是只读的

三 BIND简介

3.1 bind详解

  • 包名:bind
  • 进程:named
  • 协议:dns
  • 使用端口:53(tcp,udp)

相关包:

  • bind-chroot:将named进程的活动范围限定在chroot目录,保证安全性。
  • bind-devel:与开发相关的头文件和库文件(编译安装bind时所需)
  • bind-libs:bind服务器端和客户端都使用到的公共库文件
  • bind-utils :  bind客户端工具

程序文件:/usr/sbin/named

主程序目录:/var/named

主配置文件:/etc/named.conf

bind权限相关:安装完named会自动创建用户named系统用户

3.2 bind配置文件解释

      1 /etc/logrotate.d/named/etc/named.conf #主配置文件
      2 •/etc/named.rfc1912.zones #区域配置文件(用include指令包含在主配置文件)
      3 •/etc/named.root.key #根区域的key文件以实现事务签名;
      4 •/etc/rndc.conf #rndc(远程名称服务器控制器)配置文件
      5 •/etc/rndc.key #rndc加密密钥
      6 •/etc/sysconfig/named
      7 •/var/named/named.ca #13个根服务器存放文件/var/named/named.empty
      8 •/var/named/named.localhost
      9 •/var/named/named.loopback

3.3 主配置文件

named.conf,每个语句都要使用分号结尾;其功能如下:

  • 定义区域
  • 定义各区域的全局配置
  • 定义视图
  • 定义日志

第一段:

  1 options {
  2 
  3 listen-on port 53 { 0.0.0.0/0; };
  4 
  5 listen-on-v6 port 53 { ::1; };
  6 
  7 directory "/var/named";
  8 
  9 dump-file "/var/named/data/cache_dump.db";
 10 
 11 statistics-file "/var/named/data/named_stats.txt";
 12 
 13 memstatistics-file "/var/named/data/named_mem_stats.txt";
 14 
 15 allow-query { any; };
 16 
 17 recursion yes;
 18 
 19 dnssec-enable yes;
 20 
 21 dnssec-validation yes;
 22 
 23 dnssec-lookaside auto;
 24 
 25 bindkeys-file "/etc/named.iscdlv.key";
 26 
 27 managed-keys-directory "/var/named/dynamic";
 28 
 29 pid=file "/run/named/named.pid";
 30 
 31 session-keyfile "/run/named/session.key";
 32 
 33 };

第一段主要配置项解释:

  • listen-on:指定IPv4监听的端口和IP,默认为53,IP位127.0.0.1;
  • directory:指定named读取DNS数据文件的目录,默认为/var/named/;
  • dump-file:设置域名缓存数据库文件的位置,默认为/var/named/data;
  • statistics-file:设置状态统计文件的路径,默认为/var/named/data;
  • allow-query:设置允许DNS查询的客户端地址,默认值为localhost;
  • recursion:设置递归查询,yes:云讯递归查询,no:不允许递归查询,默认配置允许递归查询。

第二段:

  1 logging { #定义日志
  2 
  3 channel default_debug {
  4 
  5 file "data/named.run";
  6 
  7 severity dynamic;
  8 
  9 	};
 10 
 11 };

第二段主要配置项解释:

  • channel:定义日志输出方式,有syslog、文本文件、标准错误输出或/dev/null等方式;
  • file:表示输出到纯文本文件;
  • severity:表示消息的严重性等级,有critical、error、warning、info、debug等;

第三段:

  1 zone "." IN {
  2 
  3 type hint;
  4 
  5 file "named.ca";
  6 
  7 allow-update { none; };
  8 
  9 };

第三段主要配置项解释:

  • zone:定义一个正向区域,对应的域名;
  • type:类型,通常有master、slave和hit,含义如下——
  • master:表示定义的是主域名服务器;
  • slave:表示定义的是辅助域名服务器;
  • hint:表示定义的是互联网中根域名服务器。
  • file:指定存放dns记录的数据文件名称,默认路径为/var/named;
  • allow-update:是否允许客户主机或服务器自行更新dns记录。

3.4 区域文件

区域文件包括正向区域文件和反向区域文件。

  • 正向区域
  1 [root@linuxmaster named]# vi /var/named/aliyun.com.zone
  2 $TTL 300;
  3 @   IN SOA  linuxmaster.aliyun.com. admin.aliyun.com. (
  4                     2017051720		;serial
  5                     1H			;refresh
  6                     5M			;retry
  7                     7D			;expiry
  8                     3D )		;minimum
  9     IN  NS  linuxmaster
 10     IN  MX 20 MX
 11 linuxmaster IN  A   172.24.8.10
 12 www         IN  A   172.24.8.30
 13 mirrors     IN  A   172.24.8.30
 14 ftp         IN  CNAME   www

正向区域文件解释:

  • TTL:定义区域中数据文件里面的各项记录的默认TTL值;
  • SOA:SOA记录,@代表相应的域名,每个区域数据文件只能有一个SOA,其中参数有——
  • serial:表示配置文件的修改版本,格式为年月日加上修改的次数;
  • refresh:设定辅助dns和主dns进行同步的间隔时间;
  • retry:如果辅助dns进行更新失败后,间隔多久进行重试;
  • expiry:设定辅助dns与主dns同步失败后,多长时间后清除对应的记录;
  • minimum:默认最小的TTL值,如果在前面没有设置TTL,则以此值为准。
  • NS:定义此主机属于域名服务器;
  • MX:定义一个邮箱交换器;
  • A指针:定义一个A记录,即域名到IP的记录;
  • CNAME:定义域名的别名。

猜你喜欢

转载自www.cnblogs.com/itzgr/p/9888577.html