这篇文章是对之前博客写的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. Unity脚本默认事件执行顺序

    1. Awake Awake用于脚本唤醒.此方法为系统执行的第一个方法,用于脚本的初始化,在脚本的生命周期中只执行一次. 2. Start Start方法在Awake之后执行,在脚本的生命周期中只执行 ...

  2. GPIO编程2:使用GPIO监听中断完整程序

    一个完整的使用GPIO捕捉中断的程序: #include<stdlib.h> #include<stdio.h> #include<string.h> #inclu ...

  3. Python使用SMTP模块、email模块发送邮件

    一.smtplib模块: 主要通过SMTP类与邮件系统进行交互.使用方法如下: 1.实例化一个SMTP对象: s = smtplib.SMTP(邮件服务地址,端口号) s = smtplib.SMTP ...

  4. Android 音频播放分析笔记

    AudioTrack是Android中比较偏底层的用来播放音频的接口,它主要被用来播放PCM音频数据,和MediaPlayer不同,它不涉及到文件解析和解码等复杂的流程,比较适合通过它来分析Andro ...

  5. sort排序应用

      private static int SortTestObj2Compare(TestSortClass obj1, TestSortClass obj2)        {            ...

  6. re.I re.L re.M re.S re.U re.X

  7. 关于fragment生命周期的两张图片

    图1,fragment的生命周期,图2,fragment生命周期对应activity的生命周期

  8. java输入输出--I/O操作基础知识学习

    一.java的I/O流 1. 输入流(字节流和字符流,字节流操作的数据单元是8位的字节,字符流操作的是16位的字符)(InputStream 和Reader作为基类) 2.输出流(字节流和字符流,字节 ...

  9. JQuery利用css()修改样式后 hover失效的解决办法

    执行完代码后发现写在样式表中的hover效果失效,改了好几遍差点重新写函数,后来发现很简单,是优先级的问题,css()中的内容覆盖了之前的样式 只需要在样式后写!important即可解决! .fil ...

  10. 2018网络预选赛 徐州H 线段树+树状数组

    设读入的数组是a,树状数组用来维护a数组区间和sum,线段树用来维护一个另一个数组ssum的区间和,区间每个点a[i]*(n-i+1),那么l-r的答案是l-r的ssum-(n-r)*(sum[r]- ...