[013操作系统原理系列] | DNS服务基础(二) Bind配置文件

 主配置文件named.conf

全局配置部分:

  • 设置DNS服务器的全局参数
  • 包括监听地址/端口、数据文件的默认位置、允许访问网段等
  • 使用options{......};的配置段

区域配置部分:

  • 设置本服务器提供域名解析的特定DNS区域
  • 包括域名、服务器角色、数据文件名等
  • 使用zone "区域名" IN {......}; 的配置段

备注:zone区域是可选的 "IN" 关键词可省略!!!

例子:

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html

options {
        // 指定IPV4监听的端口和IP,默认端口为53,IP为127.0.0.1
        listen-on port 53 { 127.0.0.1; };

        // 指定IPV6监听的端口和IP
        listen-on-v6 port 53 { ::1; };

        // 指定named从/vat/named目录下读取DNS数据文件,这个目录用户可以自行指定并创建,指定后所有的DNS数据文件都存放在此目录下
        directory       "/var/named";

        // 用来设置域名缓存数据库文件的位置,可以自己定义。默认保存在/var/named/data目录下
        dump-file       "/var/named/data/cache_dump.db";

        // 用来设置状态统计文件的位置,可以自己定义。默认保存在/var/named/data目录下
        statistics-file "/var/named/data/named_stats.txt";

        // 用来设置服务器输出的内存使用统计信息。默认保存在/var/named/data目录下,文件名为named_mem_stats.txt。
        memstatistics-file "/var/named/data/named_mem_stats.txt";

        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";

        // 用来设置允许DNS查询的客户端地址,默认值为localhost。这个值可以设置某个网段、任意地址、具体的某台主机三种情况。例如,要修改为任意地址,只须修改大括号 "{}"中的localhost为any就可以了,"any"应该允许所有。如果允许192.168.172.136网段,那么可以设置为“192.168.172.136/24” ,对于其他情况依次类推。                   
        allow-query     { localhost; };

        /* 
         - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
         - If you are building a RECURSIVE (caching) DNS server, you need to enable 
           recursion. 
         - If your recursive DNS server has a public IP address, you MUST enable access 
           control to limit queries to your legitimate users. Failing to do so will
           cause your server to become part of large scale DNS amplification 
           attacks. Implementing BCP38 within your network would greatly
           reduce such attack surface 
        */

        // 用来设置递归查询。一般客户机和服务器之间属于递归查询,即当客户机向DNS服务器发起查询请求后,若DNS服务器本身不断解析 ,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机。此选项有yes => 允许递归 和no => 不允许递归两个值。默认=> 允许。
        recursion yes;

        // 用来设置是否启用DNSSEC支持,DNSSEC可以用来验证DNS数据的有效性,默认为yes。
        dnssec-enable yes;

        // 用来设置是否启用DNSSEC确定,默认为yes
        dnssec-validation yes;

        /* Path to ISC DLV key */
        // 用来设置内置信任的密钥文件,默认值为/etc/named.iscdlv.key。
        bindkeys-file "/etc/named.root.key";

        // 用来指定目录文件存储位置,跟踪管理DNSSEC密钥,默认情况下,存储在/var/named/dynamic。
        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};
// 定义bind服务的调试日志信息。其中,channel用来定义日志输出方式,有syslog、文本文件、标准错误输出或/dev/null多种方式;file表示输出到纯文本文件;severity表示消息的 严重性等级,有critical、error、warning、notice、info、debug[level]、dynamic多种级别可选,对于系统管理来说,一般设置为info级别就可以了
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
// 定义一个正向域区,对应的域名分别为ixdba.net,一个zone关键词定义了一个域区。在这里type类型有三种,分别是master(主域名服务器)、slave(辅助域名服务器)、hint(互联网根域名服务器)。file用来存放DNS记录的数据文件名称。对于这里指定的文件,默认 路径为/var/named。也就是说,ixdba.net这个数据文件要存放在/var/named目录下。allow-update定义是否允许客户主机或服务器自行更新DNS记录,上面指定的 这个正向区域不允许更新DNS记录。
zone "." IN {
        type hint;
        file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

扩展:

区域数据配置文件

 

全局TTL记录项及SOA记录

  • $TTL(Time To Live,生存时间)记录
  • SOA(Start Of Authority,授权信息开始)记录
  • 分号 “;” 开始的部分表示注释信息

正向域名解析记录

  • NS域名服务器(Name Server)记录
  • MX邮件交换(Mail Exchange)记录
  • A地址(Address)记录,只用在正向解析区域中
  • CNAME别名(Canonical Name)记录

反向域名解析记录

  • PTR指针(Point)记录,只用于在反向解析区域中
  • 记录的第一列指定IP地址中的主机地址部分

你可能感兴趣的:([013]操作系统原理系列,DNS,named.conf,配置文件,Linux,Centos)