上一节我们对dnssec有了一定的认识,下面我们通过实例来说明尝试一下dnssec的配置。关于bind的安装参考:DNS BIND安装测试

环境如下

递归解析服务器:192.168.13.45

权威服务器根节点:192.168.13.103

权威服务器dev节点:192.168.110.71

递归服务--->根节点(.)--->dev节点(dev.)

一、权威服务器配置

1.修改named.conf配置

key "rndc-key" {algorithm hmac-md5;secret "bRKv62iy/I7RoNNOl0dW2A==";
};controls {inet 127.0.0.1 port 953allow { 127.0.0.1; } keys { "rndc-key"; };
};
options{listen-on port 53{192.168.13.103;};version "vdns3.0";directory "/var/named";pid-file "/var/run/named.pid";session-keyfile "/var/run/session.key";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";rrset-order { order cyclic;}; recursion no;allow-query{any;};allow-query-cache{any;};allow-transfer{none;}; 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";
};logging { channel default_debug {file "/var/named/data/named.run";severity dynamic;};channel queries_info { file "/var/named/log/query.log" versions 1 size 100m; severity info; print-category yes; print-severity yes; print-time yes; }; category queries { queries_info; default_debug; }; channel notify_info { file "/var/named/log/notify.log" versions 8 size 128m; severity info; print-category yes; print-severity yes; print-time yes; }; category notify { notify_info; default_debug; };channel dnssec_debug {file "/var/named/log/dnssec.log" versions 1 size 100m;print-time yes;print-category yes;print-severity yes;severity debug 3;}; category dnssec { dnssec_debug; };
}; zone "." in {type hint;file "root.zone";
};

增加开启dnssec选项,关闭递归服务。

2.dnssce配置实例
1)生成签名密钥对

# cd /var/named
首先为区(zone)文件生成密钥签名密钥KSK:
 # ~/bind/sbin/dnssec-keygen -f KSK -a RSASHA1 -b 512 -n ZONE .  #注意结尾的点别遗漏
将生成文件K.+005+62317.key和K.+005+62317.private
然后生成区签名密钥ZSK:
# ~/bind/sbin/dnssec-keygen -a RSASHA1 -b 512 -n ZONE .
将生成文件K.+005+62541.key和K.+005+62541.private
2)签名
a.签名之前将前面生成的两个公钥添加到区域配置文件末尾(root.zone)

$TTL 86400
@           IN   SOA    @       root (121691m1m1m1m )
.                       IN      NS      root.ns.
root.ns.        IN      A       192.168.13.103
dev.            IN      NS      ns.dev.
ns.dev.         IN      A       192.168.110.71$INCLUDE "K.+005+62541.key"
$INCLUDE "K.+005+62317.key"

b.然后执行签名操作
# ~/bind/sbin/dnssec-signzone  -o  .  root.zone
上面的-o选项指定代签名区的名字. 将生成root.zone.signed
c.修改主配置文件
zone "." IN {  
        type master;

file "root.zone.signed";

allow-transfer {none;};

};

检查配置是否正确:

/home/slim/bind/sbin/named-checkconf -t /home/slim/chroot/ /etc/named.conf

3.启动服务

/home/slim/bind/sbin/named -u slim -t /home/slim/chroot/ -c /etc/named.conf

二、递归解析服务器配置

1.修改named.conf配置

key "rndc-key" {algorithm hmac-md5;secret "D6ShqDKzLPtbHxko0TqgrQ==";
};controls {inet 127.0.0.1 port 953allow { 127.0.0.1; } keys { "rndc-key"; };
};
options{listen-on port 53{192.168.13.45;};version "vdns3.0";directory "/var/named";pid-file "/var/run/named.pid";session-keyfile "/var/run/session.key";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";rrset-order { order cyclic;}; recursion yes;allow-recursion {any;};allow-query{any;};allow-query-cache{any;};allow-transfer{none;}; 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";
};logging { channel default_debug {file "/var/named/data/named.run";severity dynamic;};channel queries_info { file "/var/named/log/query.log" versions 1 size 100m; severity info; print-category yes; print-severity yes; print-time yes; }; category queries { queries_info; default_debug; }; channel notify_info { file "/var/named/log/notify.log" versions 8 size 128m; severity info; print-category yes; print-severity yes; print-time yes; }; category notify { notify_info; default_debug; };channel dnssec_debug {file "/var/named/log/dnssec.log" versions 1 size 100m;print-time yes;print-category yes;print-severity yes;severity debug 3;}; category dnssec { dnssec_debug; };
}; zone "." in {type hint;file "root.zone";
};

需开启递归服务(recursion yes;), 在末尾添加信任锚

include "/var/named/trust-anchors.conf";

2.创建“信任锚”文件
# cd /var /named

# vi trust-anchors.conf

trusted-keys {"." 256 3 5 "AwEAAdlhCey/l4T7PQRkBZ2uFixLCpwOdz9bgAMGbNTRApiey9On/qIu uBuEcCvArTYti944ErPPco+fcBawCmYordU=";"." 257 3 5 "AwEAAdQah+KmO0vMSYHtx/TxBzBjqif524nuFow5bp5Zc+pDO9tLrX3Y SrVpuddSx+utRZLVzcI3JeFQtjaBa8OfXH0=";
};

其中的密钥部分是将权威服务器生成的K.+005+62317.key和K.+005+62541.key中密钥部分拷贝过来。

3.根zone(root.zone)

$TTL 86400
@           IN   SOA    @       root (121691m1m1m1m )
.                       IN      NS      root.ns.
root.ns.        IN      A       192.168.13.103

配置NS指向根(“.”)的服务器地址。

4.启动服务

/home/slim/bind/sbin/named -u slim -t /home/slim/chroot/ -c /etc/named.conf

三、测试

在递归解析服务器测试。

dig @192.168.13.45  +dnssec .  NS

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.2 <<>> @192.168.13.45 +dnssec . NS
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 362
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;.                              IN      NS;; ANSWER SECTION:
.                       85830   IN      NS      root.ns.
.                       85830   IN      RRSIG   NS 5 0 86400 20150517041910 20150417041910 62541 . udUss1t7llZeYZAbsi8/ITPwVFAy8cB3BpyAyiVLQjRRCtKOSNS7V1H/ jzMdzJ+d62EfdC+hABrX9200Dpnung==;; Query time: 1 msec
;; SERVER: 192.168.13.45#53(192.168.13.45)
;; WHEN: Fri Apr 17 00:25:18 2015
;; MSG SIZE  rcvd: 142

其中flags部分有ad,说明DNSSEC启用并通过验证,可以在dig添加+cdflag参数进行调试DNSSEC。
但是此时如果执行
dig @192.168.13.45  +dnssec dev. NS
查询失败或报“信任链受损”。

注意:如果要配置从服务器,只需要在options中添加添加开启dnssec选项,并删除原有的根zone,重启服务。

DNS BIND之dnssec安全实例配置-根节点相关推荐

  1. DNS BIND之dnssec安全介绍

    Domain Name System Security Extensions (DNSSEC)DNS安全扩展,是由IETF提供的一系列DNS安全认证的机制(可参考RFC2535).它提供了一种来源鉴定 ...

  2. CentOS7.4下DNS服务器软件BIND安装及相关的配置(一)

    (一)DNS简介: DNS,全称Domain Name System,即域名解析系统.域名是通过DNS来实现的,每个域名代表一个IP,DNS就是用来在ip地址与域名之间进行转换的服务. DNS帮助用户 ...

  3. 使用bind+dlz+mysql实现动态配置DNS

    DNS之bind服务器配置 CentOS7编译环境安装 yum group install "Development Tools" yum install openssl* yum ...

  4. dns bind配置教程

    实验环境 三台centos7虚拟机,一台ip为192.168.52.130,一台为192.168.52.131,最后一台为192.168.52.132 安装bind 使用yum -y insall b ...

  5. DNSSEC 原理、配置与布署简介

    本文转载自:http://netsec.ccert.edu.cn/duanhx/archives/1479 作者:段海新,清华大学信息网络工程研究中心 ------------------------ ...

  6. MySQL 5.5.35 单机多实例配置详解

    一.前言 二.概述 三.环境准备 四.安装MySQL 5.5.35 五.新建支持多实例的配置文件(我这里配置的是四个实例) 六.初始化多实例数据库 七.提供管理脚本 mysqld_multi.serv ...

  7. mysql 5.5.35 单机多实例配置详解_MySQL 5.5.35 单机多实例配置详解

    一.前言 二.概述 三.环境准备 四.安装MySQL 5.5.35 五.新建支持多实例的配置文件(我这里配置的是四个实例) 六.初始化多实例数据库 七.提供管理脚本 mysqld_multi.serv ...

  8. 互联网域名解析系统DNS的工作原理及相关服务配置

    DNS: Domain Name Service                       DNS服务是一种分布式数据库,它提供规范机器名到数字IP地址的映射及数字IP到规范机器名. DNS相关定义 ...

  9. DNS智能解析的搭建与配置

    分类: LINUX 原文地址:DNS智能解析的搭建与配置 作者:十年梦生 9月份整整忙了一个月,都抽不出时间来写篇文章,这几天趁着10.1终于有时间来写些东西了,将9月份所做的一些东西来做下总结. 今 ...

最新文章

  1. ASP.NET 实现Base64文件流下载PDF
  2. Gartner 发布 2022 年汽车行业五大技术趋势
  3. 支持ie8的时分秒的html,兼容ie8的漂亮jQuery计时器插件
  4. 组件和高阶组件区别_为什么要对高阶组件使用代码拆分
  5. Spring3 MVC请求参数获取的几种场景
  6. 怎么让某段css代码只在Chrome 火狐 edge 浏览器生效
  7. jquery新版本旧版本之间的坑
  8. 运筹学——线性规划及单纯形法求解
  9. 【错误记录】Google Play 上架报错 ( 此版本不符合 Google Play 关于提供 64 位版本应用的要求。| 如果提供 x86 架构动态库则必须提供 x86_64 架构的动态库 )
  10. 【计算机组成】内存和芯片存储容量问题
  11. 怎么把SEO和SEM配合起来
  12. DDL(数据定义语言)讲解
  13. 视觉学习笔记6——YOLOv5(v6.2)部署与代码理解
  14. Android修行手册 - VideoView全解-下
  15. 【推荐系统学习】推荐系统架构
  16. 人类为什么不把永生技术放在第一位?
  17. 底层程序员4年的逆袭之旅:穷屌丝-->小老板
  18. Auto CAD二次开发:基于VBA语言的画圆软件开发
  19. 传奇程序员John Carmack 访谈实录 (zz.is2120)
  20. DirectSound---简易Wav播放器

热门文章

  1. 看电脑装的是多少位的系统(暂存),电脑开机密码
  2. layui input框列表显示默认历史搜索记录
  3. LTE学习笔记--PHY--PDSCH
  4. android 7.0安装包,安卓7.0安装包,安卓7.0通用升级安装包免费预约 v7.0-手游汇
  5. 论文中缩写w.r.t./i.e./et al./e.g./cf./etc的含义
  6. 苹果手机计算机显示过程,苹果6手机刷机过程提示-1代码错误
  7. TypeError: Cannot read property ‘xxx‘ of null(vuex数据)
  8. TypeError: Cannot read property ‘$createElement‘ of undefined错误
  9. C# 获取当前系统时间 与某一时间相减
  10. VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION-2014