002.DNS-BIND简介

Posted IT中国人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 [[email protected] 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:定义域名的别名。

以上是关于002.DNS-BIND简介的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

SpringCloud系列十一:SpringCloudStream(SpringCloudStream 简介创建消息生产者创建消息消费者自定义消息通道分组与持久化设置 RoutingKey)(代码片段

C#-WebForm-★内置对象简介★Request-获取请求对象Response相应请求对象Session全局变量(私有)Cookie全局变量(私有)Application全局公共变量Vi(代码片段

react简介

react简介

在PaddlePaddle中的Notebook代码片段