这篇文章是对之前博客写的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. zabbix监控进程

    参考http://chenx1242.blog.51cto.com/10430133/1837990 1 前期说明 zabbix_server查看“文件在后台运行数量”所对应的key就是:proc.n ...

  2. compile cef2526

    fetch --nohooks chromium cd /path/to/chromium/src# git checkout -b 51.0.2704.103 refs/tags/51.0.2704 ...

  3. ASP.NET网站性能提升的几个方法

    1. HTTP 压缩 HTTP 压缩通常用于压缩从服务端返回的页面内容.它压缩HTTP请求和响应,这个会是巨大的性能提升.我的项目是基于Window Server 2003开发的,可以参考这篇文章. ...

  4. 关于mybatis中基本类型条件判断问题

    零:sql动态语句中经常会有根据数据库某个字段状态进行判断的 如:status=0为未激活,status=1为激活的,那搜索未激活时: <if test="model.activeSt ...

  5. Thread之一:线程生命周期及五种状态

    <Thread之一:线程生命周期及五种状态> <juc线程池原理(四): 线程池状态介绍> 一.线程的生命周期及五种基本状态 关于Java中线程的生命周期,首先看一下下面这张较 ...

  6. 杂项:C# 方法、属性杂项-01

    ylbtech-杂项:C# 方法.属性杂项-01 1. 属性杂项返回顶部 1. public int ReadCnt { get; set; } 2.设置默认值 public int ReadCnt ...

  7. 2016.7.10 SqlServer语句中类似decode、substr、instr、replace、length等函数的用法

    Decode() 对应 case when函数 case CHARINDEX('/',start_point_name) when 0 then start_point_name else subst ...

  8. Windows下自由创建.htaccess文件的N种方法

    .htaccess是apache的访问控制文件,apache中httpd.conf的选项配合此文件,完美实现了目录.站点的访问控 制,当然最多的还是rewrite功能,即URL重写,PHP中实现伪静态 ...

  9. 使用setTimeout 来实现setInterval的效果

    直接上代码,实现的核心就是在延时的情况下递归的调用自己, x=0 y=-1 function countMin( ) { y=y+1 document.displayMin.displayBox.va ...

  10. Shell编程实战 1.1 监控思路架构介绍

    监控思路,架构介绍 需求:使用shell定制各种个性化的告警工具,但需要统一化管理,规范化管理. 思路:指定一个脚本包,包含主程序,子程序,配置文件,邮件引擎,输出日志等. 主程序:作为脚本的入口,是 ...