深入浅出DNS系列(四)-内部根服务器架设实例与详解

申明:文档中使用的james.cn、kobe.cn域名,只在内部测试环境中使用,如有侵权,请联系,将在第一时间更改
参考文档:《DNS与BIND》、《RFC1034》、《RFC1035》
软件环境安装,请参考我编写的实例文档《BIND编译调试环境搭建》

1 架构图

注明:架构图中没有防火墙等内外网隔离设备
深入浅出DNS系列(四)-内部根服务器架设实例与详解_第1张图片

2 根服务器配置

2.1 named.conf配置

深入浅出DNS系列(四)-内部根服务器架设实例与详解_第2张图片
检查named.conf配置文件,有错误会提示,如图:


2.2 区域数据文件

深入浅出DNS系列(四)-内部根服务器架设实例与详解_第3张图片

检查区域数据文件


2.3 启动BIND 并测试

[root@bindroot sbin]# ./named –g &
深入浅出DNS系列(四)-内部根服务器架设实例与详解_第4张图片


深入浅出DNS系列(四)-内部根服务器架设实例与详解_第5张图片


2.4 DNSSEC支持

2.4.1 KSK与ZSK的生成

参考第5章
./dnssec-keygen -f KSK -a RSASHA1 -b 512 -n ZONE .
K.+005+64849.key
K.+005+64849.private
./dnssec-keygen -a RSASHA1 -b 512 -n ZONE .
K.+005+61560.key
K.+005+61560.private

2.4.2 上传cn域的DS记录

scp [email protected]:/usr/local/sbin/bind/sbin/dsset-cn. /usr/local/sbin/bind/sbin/

2.4.3 添加cn域的DS记录,并生成签名记录文件

修改db.root,在末尾添加
$INCLUDE "K.+005+64849.key"
$INCLUDE "K.+005+61560.key"
$INCLUDE "dsset-cn."

生成前面的cn域文件
./dnssec-signzone -o . ../zone/db.root
在../zone目录,生成db.root.signed
在当前目录,生成dsset-.文件

2.4.4 修改named.conf配置文件

深入浅出DNS系列(四)-内部根服务器架设实例与详解_第6张图片

2.4.5 创建信任锚文件(trust-anchors),以供递归解析器使用

vi trust-anchors.root

如上图:内容是从根域KSK、ZSK的key文件拷贝而来,实际上就是根域公钥信息

3 CN服务器配置

3.1 named.conf配置

深入浅出DNS系列(四)-内部根服务器架设实例与详解_第7张图片
如上图,注意根域的配置type为hint,表示此为根服务的索引文件,在运行时会自动与文件中定义的根服务器联系

3.2 root区域数据文件

和根服务器保持一样,直接拷贝过来
深入浅出DNS系列(四)-内部根服务器架设实例与详解_第8张图片


3.3 cn区域数据文件

深入浅出DNS系列(四)-内部根服务器架设实例与详解_第9张图片



3.4 启动BIND 并测试

[root@bindroot sbin]# ./named –g &
深入浅出DNS系列(四)-内部根服务器架设实例与详解_第10张图片

3.5 DNSSEC支持

3.5.1 KSK与ZSK的生成

参考第5章
./dnssec-keygen -f KSK -a RSASHA1 -b 512 -n ZONE cn.
Kcn.+005+20524.key
Kcn.+005+20524.private
./dnssec-keygen -a RSASHA1 -b 512 -n ZONE cn.
Kcn.+005+49872.key
Kcn.+005+49872.private

3.5.2 上传kobe.cn与james.cn的DS记录

scp [email protected]:/usr/local/sbin/bind/sbin/dsset-james.cn. /usr/local/sbin/bind/sbin/
scp [email protected]:/usr/local/sbin/bind/sbin/dsset-kobe.cn. /usr/local/sbin/bind/sbin/

3.5.3 添加kobe.cn与james.cn的DS记录,并生成签名记录文件

修改db.cn,在末尾添加
$INCLUDE "Kcn.+005+20524.key"
$INCLUDE "Kcn.+005+49872.key"
$INCLUDE "dsset-james.cn."
$INCLUDE "dsset-kobe.cn."

生成前面的cn域文件
./dnssec-signzone -o cn. ../zone/db.cn
在../zone目录,生成db.cn.signed
在当前目录,生成dsset-cn.文件

3.5.4 修改named.conf配置文件

深入浅出DNS系列(四)-内部根服务器架设实例与详解_第11张图片


4 James.cn域服务器配置

4.1 named.conf配置

深入浅出DNS系列(四)-内部根服务器架设实例与详解_第12张图片

4.2 root区域数据文件

深入浅出DNS系列(四)-内部根服务器架设实例与详解_第13张图片


4.3 james.cn区域数据文件

深入浅出DNS系列(四)-内部根服务器架设实例与详解_第14张图片

4.4 启动BIND 并测试

[root@bindroot sbin]# ./named –g &
深入浅出DNS系列(四)-内部根服务器架设实例与详解_第15张图片

4.5 DNSSEC支持

参考5章kobe.cn进行操作
./dnssec-keygen -f KSK -a RSASHA1 -b 512 -n ZONE james.cn.
Kjames.cn.+005+09337.key
Kjames.cn.+005+09337.private

./dnssec-keygen -a RSASHA1 -b 512 -n ZONE james.cn.
Kjames.cn.+005+24462.key
Kjames.cn.+005+24462.private

5 kobe.cn域服务器配置

5.1 named.conf配置

深入浅出DNS系列(四)-内部根服务器架设实例与详解_第16张图片

5.2 root区域数据文件

深入浅出DNS系列(四)-内部根服务器架设实例与详解_第17张图片

5.3 kobe.cn区域数据文件

深入浅出DNS系列(四)-内部根服务器架设实例与详解_第18张图片

5.4 启动BIND 并测试

[root@bindroot sbin]# ./named –g &
深入浅出DNS系列(四)-内部根服务器架设实例与详解_第19张图片

5.5 支持DNSSEC

5.5.1 Key生成

cd /usr/local/sbin/bind/sbin
./dnssec-keygen -f KSK -a RSASHA1 -b 512 -n ZONE kobe.cn.
产生2个文件,分别是:
Kkobe.cn.+005+52753.key
Kkobe.cn.+005+52753.private

./dnssec-keygen -a RSASHA1 -b 512 -n ZONE kobe.cn.
产生2个文件,分别是:
Kkobe.cn.+005+38901.key
Kkobe.cn.+005+38901.private

vi ../zone/db.kobe.cn
在文件末尾,增加以下2行
$INCLUDE "Kkobe.cn.+005+52753.key"
$INCLUDE "Kkobe.cn.+005+38901.key"

./dnssec-signzone -o kobe.cn. ../zone/db.kobe.cn
在../zone目录,生成db.kobe.cn.signed文件
在当前目录,生成dsset-kobe.cn.文件

vi ../zone/db.kobe.cn
在末尾删除2行
$INCLUDE "Kkobe.cn.+005+52753.key"
$INCLUDE "Kkobe.cn.+005+38901.key"

vi ../etc/named.conf
修改如下图:
深入浅出DNS系列(四)-内部根服务器架设实例与详解_第20张图片

6 缓存(转发)服务器配置

缓存DNS服务器,不需要配置自己的区域数据文件

6.1 named.conf配置

深入浅出DNS系列(四)-内部根服务器架设实例与详解_第21张图片

6.2 根据区域数据文件

深入浅出DNS系列(四)-内部根服务器架设实例与详解_第22张图片

6.3 启动BIND 并测试

[root@bindroot sbin]# ./named –g &
如下图测试效果图所示,缓存服务器192.168.198.138并未配置cn域的相关信息,通过缓存服务器请求cn的SOA记录,并获取正确的解析,证明缓存服务器通过根服务器请求解答并运作正常
深入浅出DNS系列(四)-内部根服务器架设实例与详解_第23张图片


6.4 DNSSEC支持

6.4.1 配置信任锚文件信息

scp [email protected]:/usr/local/sbin/bind/sbin/trust-anchors.root /usr/local/sbin/bind/etc/

vi named.conf
在末尾添加
include "/usr/local/sbin/bind/etc/trust-anchors.root";

深入浅出DNS系列(四)-内部根服务器架设实例与详解_第24张图片

7 测试效果

7.1 配置客户端

配置redisclient.james.cn主机,如下:


深入浅出DNS系列(四)-内部根服务器架设实例与详解_第25张图片




深入浅出DNS系列(四)-内部根服务器架设实例与详解_第26张图片

7.2 测试

测试1

测试2

7.3 DNSSEC测试

按文档的描述进行操作,启动所有named服务
深入浅出DNS系列(四)-内部根服务器架设实例与详解_第27张图片

注意:不带dnssec的请求,与原来一致

你可能感兴趣的:(技术,DNS)