阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

DNS Bind服务配置解析

457次阅读
没有评论

共计 7843 个字符,预计需要花费 20 分钟才能阅读完成。

DNS 域名解析服务 (Domain Name System) 是用于解析域名与 IP 地址对应关系的服务,功能上可以实现正向解析与反向解析:

一、DNS 服务器工作模式分类:

1、主服务器: 在特定区域内具有唯一性、负责维护该区域内的域名与 IP 地址对应关系。
2、从服务器: 从主服务器中获得域名与 IP 地址对应关系并维护,以防主服务器宕机等情况。
3、缓存服务器: 通过向其他域名解析服务器查询获得域名与 IP 地址对应关系,提高重复查询时的效率.

二、DNS 查询方式:

1、迭代查询:
2、递归查询:

三、解析方式分类

1、正向解析,既将 FQDN 解析为 IP.
2、反向解析,将 IP 解析为 FQDN.

四、Bind 配置文件的结构:

主程序/usr/sbin/named
主配置文件/etc/named.conf
区域配置文件/etc/named.rfc1912.zones
zone 文件的默认路径/var/named

/etc/named.conf :  Bind 的主配置文件,用于定义全局设置,DNS 的 zone 等相关配置。

1.options 部分:
 
options {//options 段用于定义全局设置
        listen-on port 53 {127.0.0.1;};               
        // 定义 bind 的监听 IP 地址(IPv4)
        listen-on-v6 port 53 {::1;};                   
        // 定义 bind 的监听 IP 地址(IPv6)
        directory      “/var/named”;                   
        //zone 文件的默认路径
        dump-file      “/var/named/data/cache_dump.db”; 
        //cache 的备份
        statistics-file “/var/named/data/named_stats.txt”;
        // 静态文件
        memstatistics-file “/var/named/data/named_mem_stats.txt”; 
        // 内存静态文件
        allow-query    {localhost;};                   
        // 允许谁向此 DNS 进行查询
        recursion yes|no;                                   
        // 允许递归查询
       
# 安全相关部分:
 
      dnssec-enable yes;                               
        dnssec-validation yes;
        dnssec-lookaside auto;
 
        /* Path to ISC DLV key */                       
        bindkeys-file “/etc/named.iscdlv.key”;
 
        managed-keys-directory “/var/named/dynamic”;
};
 
2. 日志系统部分:
logging {// 定义日志
        channel myfile {
        // 定义 channel 名称
                file “data/named.run”;
                // 以文件形式存储日志
                severity dynamic;
      // 存储日志的级别, 一共 7 个级别从高到低分别是:crit,error,warning,notice,info(前面 5 个属于 syslog);debug[level],dynamic(后两个属于 Bind8,9 独有的级别)
        }; 
 
        category statistics              {my_file;}; 
        // 定义 bind 系统中各子系统的日志    // 将日志发给那个 channel,可以发给多个 channel,一个 channel 只能接受一个 category。
         
};
 
3. 定义 zone
 
zone “.” IN {// 定义 Dns 的 zone,”.” 代表根区域
        type hint;                                        // 定义 zone 的类型, 根区域的类型就为 hint
        file “named.ca”;                                  // 指定 zone 文件,默认已经生成
       
};

二、DNS 中 zone 文件的放置 /var/named/*.zone(与 named.conf 中的 zone 对应的文件)

zone 文件的书写格式:

$TTL 1D                      // 用宏定义一个 TTL 默认值为 1 天, 下面数据直接引用此值.
@                            [TTL]    IN  SOA  主 DNS 服务器 FQDN 管理员邮箱  (
 
   
                                        0      ; 序列号
                                        1D      ; 更新间隔
                                        1H      ; 更新失败后重试间隔
                                        1W      ; 过期时长
                                        3H )    ; 否定记录保存时长
                                                                           
资源类型:A(IPv4), AAAA(IPv6):定义 FQDN 的 IP
          NS:定义 DNS 服务器的 FQDN
          SOA :  起始授权(每个 zone 首先要定义此值)
          MX:定义邮件记录,有优先级概念(0-99),值越小优先级越高。
          CNAME:  定义别名
          PTR:反向记录

单台 DNS 主服务器应用实验之正向解析:

查看 bind 版本:

[root@localhost ~]# rpm -q bind
bind-9.8.2-0.62.rc1.el6_9.4.x86_64
如果没有则安装:
#yum install -y bind bind-utils

实验环境

系统:CentOS release 6.8
软件:bind-9.8.2-0.62.rc1.el6_9.4.x86_64
服务器:IP 192.168.153.130;netmask 255.255.255.0;DNS 192.168.153.130;GW 192.168.153.2

我在 192.168.153.130 上面装的 dns 服务,resolv.conf 中 dns 的地址配置第一行为本机 ip 地址, 在后边配置文件中的 192.168.153.129 为我的 nginx 服务器地址,nginx 服务器的 dns 指向为 192.168.153.130,这个在 nginx 主机 nslookup 时就可已用 130 的 dns 做解析了.

1. 配置 DNS 服务器 name.conf

options {
        listen-on port 53 {127.0.0.1;
                  192.168.153.130;          // 为局域网其它机器提供 Named 服务,必须监听向本机 IP 发出的请求.
                                            }; 
        listen-on-v6 port 53 {::1;};                  // 如不使用 IPv6 地址,可以删除或注释掉
        directory      “/var/named”;
        dump-file      “/var/named/data/cache_dump.db”;
        statistics-file “/var/named/data/named_stats.txt”;
        memstatistics-file “/var/named/data/named_mem_stats.txt”;
        allow-query    {any;};                              // 更改为 any 或者删除或注释掉, 表示可以接受查询的来源
        recursion yes;
 
        dnssec-enable yes;
        dnssec-validation yes;
 
        /* Path to ISC DLV key */
        bindkeys-file “/etc/named.iscdlv.key”;
 
        managed-keys-directory “/var/named/dynamic”;
 
};
 
logging {
        channel default_debug {
                file “data/named.run”;
                severity dynamic;
        };
};
 
zone “.” IN {
        type hint;
        file “named.ca”;
};
 
zone “linuxidc.com” IN{// 定义一个 zone,zone 的名字“linuxidc.com”
 type master;                                  // 类型为主服务器
 file “linuxidc.com.zone”;            // 自定义的域名到 IP 的正向解析配置
};
 
 
include “/etc/named.rfc1912.zones”;
include “/etc/named.root.key”;

2. 开始建立正向解析文件:
创建并编辑正向解析文件 linuxidc.com.zone(文件名要和 name.conf 文件中定义的 zone file 名一致)

#vim /var/named/linuxidc.com.zone
 
$TTL 1D
@      IN SOA  master.linuxidc.com. email.com. (
                                        0      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                IN  NS  master           
master  IN  A    192.168.153.130                           
www    IN  A    192.168.153.129
nginx  IN  A    192.168.153.129
bbs    IN  A    192.168.153.129

3. 配置完成后, 检查配置文件的正确性:

[root@localhost ~]# /usr/sbin/named-checkconf -z
zone linuxidc.com/IN: loaded serial 0
zone 153.168.192.in-addr.arpa/IN: loaded serial 2010110901
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0

4. 重启服务:

[root@localhost ~]# /sbin/service named restart
Stopping named: .[OK]
Starting named: [OK]

5.nslookup 解析测试:

[root@localhost ~]# nslookup
> master.linuxidc.com
Server:        192.168.153.130                //dns 地址
Address:        192.168.153.130#53
 
Name:  master.linuxidc.com                                    // 域名服务器主机名
Address: 192.168.153.130
> www.linuxidc.com         
Server:        192.168.153.130
Address:        192.168.153.130#53
 
Name:  www.linuxidc.com
Address: 192.168.153.129                                //www 域名对应的 A 记录地址
> nginx.linuxidc.com
Server:        192.168.153.130
Address:        192.168.153.130#53
 
Name:  nginx.linuxidc.com
Address: 192.168.153.129
> bbs.linuxidc.com
Server:        192.168.153.130
Address:        192.168.153.130#53
 
Name:  bbs.linuxidc.com
Address: 192.168.153.129

单台 DNS 主服务器应用实验之反向解析:

1. 配置主区域数据文件(/etc/named.conf), 追加反向解析如下内容:

zone “153.168.192.in-addr.arpa” IN{
 type master;
 file “192.168.153.arpa.zone”;
 allow-update {none;};
};

2. 配置解析数据文件.

[root@localhost ~]# cd /var/named/
[root@localhost named]# vim 192.168.153.arpa.zone
 
$TTL 1D
@ IN SOA 153.168.192.in-addr.arpa. linuxidc.com. (
        2010110901
        28800
        14400
        3600000
        86400
)
 
@      IN  NS  master.linuxidc.com.
130    IN  PTR master.linuxidc.com    192.168.153.130  -> master
129    IN  PTR www.linuxidc.com.    ; 192.168.153.129 -> www
129    IN  PTR nginx.linuxidc.com.  ; 192.168.153.129 -> nginx
129    IN  PTR img.linuxidc.com.    ; 192.168.153.129 -> img

3. 语法检查:

[root@localhost ~]# /usr/sbin/named-checkconf -z

4. 重启服务:

[root@localhost ~]# /etc/init.d/named restart
Stopping named: [OK]
Starting named: [OK]

5. 反向解析验证:

[root@localhost ~]# nslookup
> 192.168.153.129
Server:        192.168.153.130
Address:        192.168.153.130#53
 
129.153.168.192.in-addr.arpa    name = www.linuxidc.com.
129.153.168.192.in-addr.arpa    name = nginx.linuxidc.com.
129.153.168.192.in-addr.arpa    name = img.linuxidc.com.
>
> 192.168.153.130
Server:        192.168.153.130
Address:        192.168.153.130#53
 
130.153.168.192.in-addr.arpa    name = master.linuxidc.com.153.168.192.in-addr.arpa.

DNS CNAME 记录

CNAME 记录,即别名记录,我们通过设置别名记录,可以将多个名称指向同一台主机,CNAME 记录的前提是必须要有一条 A 记录,A 记录是创建 CNAME 记录的前提.

这样可以在 ip 变动的情况下,我们不用一个一个的去更改主机名到主机的 A 记录映射,只需要改动别名到主机的一条 A 记录就可以全部搞定, 达到事倍功半的效果.

未使用别名 (CNAME) 的正向解析区域配置文件:

[root@localhost named]# vim linuxidc.com.zone
$TTL 1D
@      IN SOA  master.linuxidc.com. email.com. (
                                        0      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN  NS  master
master  IN  A  192.168.153.130
www    IN  A  192.168.153.129
nginx  IN  A  192.168.153.129
bbs    IN  A  192.168.153.129
img    IN  A  192.168.153.129

使用别名后的区域配置文件.

[root@localhost named]# vim linuxidc.com.zone
$TTL 1D
@      IN SOA  master.linuxidc.com. email.com. (
                                        0      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN  NS  master
master  IN  A  192.168.153.130
proxy  IN  A  192.168.153.129
www    IN  CNAME      proxy
nginx  IN  CNAME      proxy
bbs    IN  CNAME          proxy
img    IN  CNAME          proxy

检查并重启服务,nslookup 测试验证:

[root@localhost ~]# nslookup
> img.linuxidc.com
Server:        192.168.153.130
Address:        192.168.153.130#53
 
img.linuxidc.com  canonical name = proxy.linuxidc.com.          // 别名
Name:  proxy.linuxidc.com
Address: 192.168.153.129
> www.linuxidc.com
Server:        192.168.153.130
Address:        192.168.153.130#53
 
www.linuxidc.com  canonical name = proxy.linuxidc.com.
Name:  proxy.linuxidc.com
Address: 192.168.153.129

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计7843字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7984458
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025 年 11 月 28 日 -Cloudflare 史诗级事故: 一次配置失误,引爆全球宕机 前言 继今...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...