这篇文章是对之前博客写的DNS的再深一层的搭建,其中包括搭建私有根,还有顶级域以及授权子域,转发域,反向解析等等

上一篇DNS的博客链接:http://www.cnblogs.com/hjc4025/p/6708314.html

这是我自己用word画的图片,比较难看,但大体阐述了我搭建的层次

在以下的内容中都是笔者自己对DNS的理解,可能会有一定的错误

一:搭建平台及IP选定:

在VMware上使用的Centos6.7 64位

bind:使用的BIND9.8版本

.(根):192.168.32.199

.com:192.168.32.150

hanjiacheng.com的主:192.168.32.128

hanjiacheng.com的从:192.168.32.129

fin.hanjiacheng.com:192.168.32.130

里面的一些没用授权的子域名对应的IP,都是笔者自己瞎写测试用的。

二:配置文件:

1. 根的配置文件

.(根)的named.conf文件:

options {
directory "/var/named";
allow-recursion { 192.168.32.0/24; };
}; zone "." IN {
type master;
file "named.zone";
}; zone "32.168.192.in-addr.arpa" IN {
type master;
file "192.168.32.zone";
}; zone "localhost" IN {
type master;
file "named.localhost";
}; zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
};

.(根)的/var/named/named.zone文件

$TTL 600
. IN SOA ns.root ns.root (
1
1H
5M
2D
6H )
. IN NS ns.root.
ns.root IN A 192.168.32.199
net IN A 192.168.32.233 com IN NS ns.com
ns.com IN A 192.168.32.150

.(根)的/var/named/192.168.32.zone文件

$TTL 600
@ IN SOA ns.root ns.root (
1
1H
5M
2D
6H )
IN NS ns.root.
IN NS ns.com.
199 IN PTR ns.root.
150 IN PTR ns.com.
233 IN PTR net

2.  .com的配置

.com的配置文件named.conf

options {
directory "/var/named";
allow-recursion { 192.168.32.0/24; };
}; zone "." IN {
type hint;
file "named.ca";
}; zone "localhost" IN {
type master;
file "named.localhost";
}; zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
}; zone "com" IN {
type master;
file "com.zone";
}; zone "32.168.192.in-addr.arpa" IN {
type master;
file "192.168.32.zone";
};

.com的/var/named/com.zone:

$TTL 600
com. IN SOA ns admin.com. (
1
1H
5M
2D
6H )
com. IN NS ns.com.
ns IN A 192.168.32.150
jiachenghan IN A 192.168.32.188 hanjiacheng IN NS ns1.hanjiacheng
ns1.hanjiacheng IN A 192.168.32.128

.com的/var/named/192.168.32.zone:

$TTL 600
@ IN SOA ns admin.com. (
1
1H
5M
2D
6H )
IN NS ns.com.
IN NS ns1.hanjiacheng.com.
150 IN PTR ns.com.
128 IN PTR ns1.hanjiacheng.com.
188 IN PTR jiachenghan.com.

3. hanjiacheng.com的配置文件:

hanjiacheng.com(主域名服务器)的主配置文件named.conf:

options {
directory "/var/named";
allow-recursion { 192.168.32.0/24; };
}; zone "." IN {
type hint;
file "named.ca";
}; zone "localhost" IN {
type master;
file "named.localhost";
allow-transfer { none; };
}; zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
allow-transfer { none; };
}; zone "hanjiacheng.com" IN {
type master;
file "hanjiacheng.com.zone";
allow-transfer { 192.168.32.129; };
}; zone "32.168.192.in-addr.arpa" IN {
type master;
file "192.168.32.zone";
allow-transfer { 192.168.32.129; };
}; zone "com" IN {
type forward;
forward only;
forwarders { 192.168.32.150; };
};

hanjiacheng.com(主域名服务器)的区域文件:/var/named/hanjiacheng.com.zone

$TTL 600
hanjiacheng.com. IN SOA ns1 admin.hanjiacheng.com. (
3
1H
5M
2D
6H )
hanjiacheng.com. IN NS ns1.hanjiacheng.com.
hanjiacheng.com. IN NS ns2.hanjiacheng.com.
hanjiacheng.com. IN MX 10 mail.hanjiacheng.com.
ns1 IN A 192.168.32.128
ns2 IN A 192.168.32.129
mail IN A 192.168.32.77
www IN A 192.168.32.78
ftp IN CNAME www
hehe IN A 192.168.32.222 fin IN NS ns1.fin
ns1.fin IN A 192.168.32.130

hanjiacheng.com(主域名服务器)的区域文件:/var/named/192.168.32.zone

$TTL 600
@ IN SOA ns1 admin.hanjiacheng.com. (
3
1H
5M
2D
6H )
IN NS ns1.hanjiacheng.com.
IN NS ns2.hanjiacheng.com.
IN NS ns1.fin.hanjiacheng.com.
128 IN PTR ns1.hanjiacheng.com.
129 IN PTR ns2.hanjiacheng.com.
130 IN PTR ns1.fin.hanjiacheng.com.
77 IN PTR mail.hanjiacheng.com.
78 IN PTR www.hanjiacheng.com.
78 IN PTR ftp.hanjiacheng.com.

hanjiacheng.com(从域名服务器)的主配置文件named.conf:

options {
directory "/var/named";
allow-recursion { 192.168.32.0/24; };
}; zone "." IN {
type hint;
file "named.ca";
}; zone "localhost" IN {
type master;
file "named.localhost";
allow-transfer { none; };
}; zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
allow-transfer { none; };
}; zone "hanjiacheng.com" IN {
type slave;
file "slaves/hanjiacheng.com.zone";
masters { 192.168.32.128; };
allow-transfer { none; };
}; zone "32.168.192.in-addr.arpa" IN {
type slave;
file "slaves/192.168.32.zone";
masters { 192.168.32.128; };
allow-transfer { none; };
};
zone "com" IN {
type forward;
forward only;
forwarders { 192.168.32.150; };
};

hanjiacheng.com(域名服务器)的区域文件都是从主服务器上传送过来的,所以不需要配置区域文件

4.fin.hanjiacheng.com的配置:

fin.hanjiacheng.com的主配置文件/etc/named.conf

options {
directory "/var/named";
allow-recursion { 192.168.32.0/24; };
}; zone "." IN {
type hint;
file "named.ca";
}; zone "localhost" IN {
type master;
file "named.localhost";
}; zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
}; zone "fin.hanjiacheng.com" IN {
type master;
file "fin.hanjiacheng.com";
}; zone "32.168.192.in-addr.arpa" IN {
type master;
file "192.168.32.zone";
}; zone "hanjiacheng.com" IN {
type forward;
forward first;
forwarders { 192.168.32.128;192.168.32.129; };
};

fin.hanjiacheng.com的区域配置文件/var/named/fin.hanjiacheng.com

$TTL 600
fin.hanjiacheng.com. IN SOA ns1 admin.fin.hanjiacheng.com. (
2
1H
5M
2D
6H )
fin.hanjiacheng.com. IN NS ns1.fin.hanjiacheng.com.
fin.hanjiacheng.com. IN MX 10 mail.fin.hanjiacheng.com.
ns1 IN A 192.168.32.130
mail IN A 192.168.32.22
www IN A 192.168.32.33
ftp IN CNAME www
kkk IN A 192.168.32.123

fin.hanjiacheng.com的区域配置文件/var/named/192.168.32.zone

$TTL 600
@ IN SOA ns1 admin.fin.hanjiacheng.com. (
1
1H
5M
2D
6H )
IN NS ns1.fin.hanjiacheng.com.
130 IN PTR ns1.fin.hanjiacheng.com.
22 IN PTR mail.fin.hanjiacheng.com.
33 IN PTR www.fin.hanjiacheng.com.
33 IN PTR ftp.fin.hanjiacheng.com.

5.至此配置文件就都写完了,这里一定要注意既然我们建立了私有的根域,那么一定要在每台机器上的/var/named/named.ca清空,并填写上自己的私有的根信息

使用命令:dig -t NS . @192.168.32.199 > /var/named/named.ca

这样即可,这里的信息应该如下:

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> -t NS . @192.168.32.199
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28617
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; QUESTION SECTION:
;. IN NS ;; ANSWER SECTION:
. 600 IN NS ns.root. ;; ADDITIONAL SECTION:
ns.root. 600 IN A 192.168.32.199 ;; Query time: 1 msec
;; SERVER: 192.168.32.199#53(192.168.32.199)
;; WHEN: Sat May 27 00:51:44 2017
;; MSG SIZE rcvd: 53

还要注意的一点就是一定要将每台机器的/etc/resolv.conf的文件里的nameserver地址更改成自己的ip地址

除此关闭防火墙,关闭selinux等一切不确定因素,并依此重启DNS服务器,每台机器执行service named restart

三、测试

下面我们随便找了一台测试机器,观察一下dig的情况:(@后面的地址可以随意的变更)

例如:

[root@localhost ~]# dig +trace -t A www.fin.hanjiacheng.com @192.168.32.128 

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> +trace -t A www.fin.hanjiacheng.com @192.168.32.128
;; global options: +cmd
. 600 IN NS ns.root.
;; Received 37 bytes from 192.168.32.128#53(192.168.32.128) in 9 ms com. 600 IN NS ns.com.
;; Received 74 bytes from 192.168.32.199#53(192.168.32.199) in 4 ms hanjiacheng.com. 600 IN NS ns1.hanjiacheng.com.
;; Received 75 bytes from 192.168.32.150#53(192.168.32.150) in 8 ms fin.hanjiacheng.com. 600 IN NS ns1.fin.hanjiacheng.com.
;; Received 75 bytes from 192.168.32.128#53(192.168.32.128) in 7 ms www.fin.hanjiacheng.com. 600 IN A 192.168.32.33
fin.hanjiacheng.com. 600 IN NS ns1.fin.hanjiacheng.com.
;; Received 91 bytes from 192.168.32.130#53(192.168.32.130) in 1 ms

例如:

[root@localhost ~]# dig -t A www.fin.hanjiacheng.com @192.168.32.150

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> -t A www.fin.hanjiacheng.com @192.168.32.128
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33879
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION:
;www.fin.hanjiacheng.com. IN A ;; ANSWER SECTION:
www.fin.hanjiacheng.com. 318 IN A 192.168.32.33 ;; AUTHORITY SECTION:
fin.hanjiacheng.com. 318 IN NS ns1.fin.hanjiacheng.com. ;; ADDITIONAL SECTION:
ns1.fin.hanjiacheng.com. 318 IN A 192.168.32.130 ;; Query time: 1 msec
;; SERVER: 192.168.32.128#53(192.168.32.128)
;; WHEN: Sat May 27 05:41:29 2017
;; MSG SIZE rcvd: 91

随便测试几个就好

以上内容可能有部分错误的情况,请大家谅解,我也是个菜鸟,都是自己琢磨的,估计有很多不对的地方。

利用BIND搭建自己的私有根及授权域的更多相关文章

  1. 利用bind搭建dns

    下载bind,我下载的是bind-9.3.1rc1.tar.gz 我下载的文件放在/root目录下 进入目录解压缩 [root@linux root]#tar xfz bind-9.3.1rc1.ta ...

  2. 利用 Docker 搭建 IPFS 私有网络

    利用 Docker 搭建 IPFS 私有网络 本文原始地址:https://sitoi.cn/posts/40630.html 下载项目 项目地址:https://github.com/Sitoi/p ...

  3. <转>亲手缔造DNS体系,创建DNS私有根:DNS系列之六

    打造DNS私有根 我们现在已经从前面的博文中了解到了很多DNS的相关知识,今天我们用一个综合性的实验把前面的内容都串起来复习一下,这个有趣的实验就是DNS的私有根.私有根顾名思义是由个人或企业自行创建 ...

  4. 利用 VMWare 搭建随机拓扑网络

    这篇文章是计算机网络上机实验课的作业. 实验任务:利用 VMWare 搭建一个由 5 个主机组成的随机拓扑的网络.要求该网络中至少有 2 个子网,两个路由器 .实验的网络拓扑图如下: 网络中有两个路由 ...

  5. centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课

    centos  DNS服务搭建  DNS原理  使用bind搭建DNS服务器 配置DNS转发 配置主从  安装dig工具  DHCP  dhclient  各种域名解析记录  mydns DNS动态更 ...

  6. Kafka1 利用虚拟机搭建自己的Kafka集群

    前言:       上周末自己学习了一下Kafka,参考网上的文章,学习过程中还是比较顺利的,遇到的一些问题最终也都解决了,现在将学习的过程记录与此,供以后自己查阅,如果能帮助到其他人,自然是更好的. ...

  7. ZooKeeper1 利用虚拟机搭建自己的ZooKeeper集群

    前言:       前段时间自己参考网上的文章,梳理了一下基于分布式环境部署的业务系统在解决数据一致性问题上的方案,其中有一个方案是使用ZooKeeper,加之在大数据处理中,ZooKeeper确实起 ...

  8. Hadoop4 利用VMware搭建自己的hadoop集群

    前言:       前段时间自己学习如何部署伪分布式模式的hadoop环境,之前由于工作比较忙,学习的进度停滞了一段时间,所以今天抽出时间把最近学习的成果和大家分享一下.       本文要介绍的是如 ...

  9. 利用Hexo搭建个人博客-博客发布篇

    通过 <利用Hexo搭建个人博客-环境搭建篇> 以及 <利用Hexo搭建个人博客-博客初始化篇>,我们了解到了利用Hexo搭建个人博客需要的环境以及配置,下面这篇文章将会介绍如 ...

随机推荐

  1. HTTP-Runoob:HTTP简介

    ylbtech-HTTP-Runoob:HTTP简介 1.返回顶部 1. HTTP 简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网 ...

  2. DataGrid 单元格输入验证 由ValidatingEditor事件完成

    private void gdv_reguline_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContai ...

  3. leetcode590

    树的后序遍历. class Solution { public: vector<Node> Tree; void postTree(Node node) { for (auto n : n ...

  4. opencv相关

    http://opencv.org/ ================== 不错的博客: 图像处理(小魏的修行路):http://blog.csdn.net/xiaowei_cqu/article/c ...

  5. chromium浏览器开发系列第二篇:如何编译最新chromium

    说一下为什么这么晚才发第二篇,上周和这周department的工作太多了,晚上都是十点半从公司出发,回家以后实在没有多余的精力去摸键盘了.所以请大家包涵! 上期回顾: chromium源码下载: 1. ...

  6. 下载Django

    Django下载教程以及学习教程https://code.ziqiangxuetang.com/django/django-queryset-api.html 或者直接搜索自强学堂

  7. for xml path 按分类合并行数据

    ) as itemnum FROM ( SELECT Sonum, (SELECT ItemNum+',' FROM testtb    WHERE Sonum=A.Sonum    FOR XML  ...

  8. CSS框模型:一切皆为框 — 从行框说起

    一 行框 看图说话 css 行框 各部分详解 上图代表了框模型中的行框.line-height 属性设置行间的距离(行高).该属性会影响行框的布局.在应用到一个块级元素时,它定义了该元素中基线之间的最 ...

  9. day17-jdbc 7.Statement介绍

    SQL语句:DML.DQL.DCL.DDL.DML和DQL是用的最多的.DCL和DDL用的很少. 程序员一般是操作记录,创建一表很少. package cn.itcast.jdbc; import c ...

  10. SQl Server 表链接查询

    之前漏下了,这里补一偏 select * from student,score ——笛卡尔积 可以想想成c#里面的多维函数的样子,打印时每一张表的每一条数据都会连带着第二张表的所有数据 两个表的连接: ...