这里使用CentOS 7作为DNS主服务器.(ip:172.18.7.77)

正向解析配置:

]# vim /etc/named.rfc1912.zones

zone "opsnote.com" IN {
         type master;
         file "opsnote.com.zone";

};

]# cd /var/named

]# vim opsnote.com.zone

$TTL 3600

$ORIGIN opsnote.com.

@        IN        SOA        ns1.opsnote.com.        admin.opsnote.com. (
                 0
                 1H
                 10M
                 3D
                 1D )

IN        NS         ns1

ns1        IN        A        172.18.7.77

www        IN        A        172.18.7.73

web        IN        CNAME        www

bbs        IN        A        172.18.7.74

确保区域数据库文件的属主属组都为named,文件权限为640

]# chown :named opsnote.com.zone

]# chmod 640 opsnote.com.zone

]# ll opsnote.com.zone

-rw-r-----. 1 root named 240 Jan 18 17:29 opsnote.com.zone

检查语法

检查/etc/named.conf配置语法

]# named-checkconf

检查自定义区域数据库文件语法

]# named-checkzone opsnote.com opsnote.com.zone

查看一下当前区域数量

]# rndc status

number of zones: 101

重新载入配置文件

]# rndc reload

再查看一下区域数量

]# rndc status

number of zones: 102

说明刚刚的opsnote.com添加成功

测试:

]# dig -t A www.opsnote.com @172.18.7.77

配置反向解析:

定义反向区域

反向区域的名字为.in-addr.arpa,本机地址为172.18.7.77

]# vim /etc/named.rfc1912.zones

zone "7.18.172.in-addr.arpa" IN {

type master;

file "172.18.7.zone";

};

定义反向区域解析库文件

]# cd /var/named

]# vim 172.18.7.zone

$TTL 3600

$ORGIN 7.18.172.in-addr.arpa.

@        IN        SOA        opsnote.com.        admin.opsnote.com. (

0

1H

10M

3D

12H )

IN        NS        ns1.opsnote.com.

77        IN        PTR        ns1.opsnote.com.

73        IN        PTR        www.opsnote.com.

74        IN        PTR        bbs.opsnote.com.

61        IN        PTR        bbs.opsnote.com.

修改属组和权限

]# chgrp named 172.18.7.zone

]# chmod o= 172.18.7.zone

检查语法

]# named-checkconf

]# named-checkzone 7.18.172.in-addr.arpa 172.18.7.zone

配置从DNS服务器

这次使用另一台centos 6 作为上面DNS服务器的从服务器

定义从区域

方法与主服务器相似,指定file在/var/named/slaves目录下,但不需手动创建,可分别指明一个以上主服务器.

安装bind.

]# yum install bind -y

]# ps aux | grep named

编辑配置文件

]# vim /etc/named.conf

//listen-on port 53 { 127.0.0.1; };

//allow-query { localhost; };

dnssec-enable no;

dnssec-validation no;

启动服务

]# service named start

查看服务状态

]# service named status

version: 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4

CPUs found: 4

worker threads: 4

number of zones: 19

debug level: 0

xfers running: 0

xfers deferred: 0

soa queries in progress: 0

query logging is OFF

recursive clients: 0/0/1000

tcp clients: 0/100

server is up and running

named (pid 15052) is running...

配置主配置文件,添加从区域

zone "opsnote.com" IN {

type slave;

file "slaves/opsnote.com.zone";

masters { 172.18.7.77; };

};

回到主服务器,添加从服务器NS记录

]# vim /var/named/opsnote.com.zone

IN        NS         ns2

ns2        IN        A        172.18.7.61

检查语法

]# named-checkconf

重载

]# rndc reload

查看服务状态

]# rndc status

88

version: 9.9.4-RedHat-9.9.4-50.el7 <id:8f9657aa>

CPUs found: 4

worker threads: 4

UDP listeners per interface: 4

number of zones: 103

debug level: 0

xfers running: 0

xfers deferred: 0

soa queries in progress: 0

query logging is OFF

recursive clients: 0/0/1000

tcp clients: 0/100

server is up and running

回到从服务器


重载服务

]# rndc reload

查看状态

]# service named status

version: 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4

CPUs found: 4

worker threads: 4

number of zones: 19

debug level: 0

xfers running: 0

xfers deferred: 0

soa queries in progress: 0

query logging is OFF

recursive clients: 0/0/1000

tcp clients: 0/100

server is up and running

named (pid 15052) is running...

测试:

]# dig -t A www.opsnote.com @172.18.7.61

验证主从同步过程

修改主服务器区域文件内容

]# vim /var/named/opsnote.com.zone

增加内容

bbs3        IN        A        172.18.7.74

修改版本号0 –> 2

重载

]# rndc reload

查看日志

]# systemctl status named

Jan 20 15:14:21 ce7.qt named[1407]: client 172.18.7.61#52689 (opsnote.com): transfer of 'opsnote.com/IN': AXFR-style IXFR started

Jan 20 15:14:21 ce7.qt named[1407]: client 172.18.7.61#52689 (opsnote.com): transfer of 'opsnote.com/IN': AXFR-style IXFR ended

Jan 20 15:14:21 ce7.qt named[1407]: client 172.18.7.61#9134: received notify for zone 'opsnote.com'

去从服务器检查同步结果

]# tail /var/log/messages

Jan 20 15:14:21 centos6 named[15052]: client 172.18.7.77#60229: received notify for zone 'opsnote.com'

Jan 20 15:14:21 centos6 named[15052]: zone opsnote.com/IN: Transfer started.

Jan 20 15:14:21 centos6 named[15052]: transfer of 'opsnote.com/IN' from 172.18.7.77#53: connected using 172.18.7.61#52689

Jan 20 15:14:21 centos6 named[15052]: zone opsnote.com/IN: transferred serial 2

Jan 20 15:14:21 centos6 named[15052]: transfer of 'opsnote.com/IN' from 172.18.7.77#53: Transfer completed: 1 messages, 10 records, 254 bytes, 0.001 secs (254000 bytes/sec)

Jan 20 15:14:21 centos6 named[15052]: zone opsnote.com/IN: sending notifies (serial 2)

在其他主机上测试从服务器

]# dig -t A bbs3.opsnote.com @172.18.7.61

可通过axfr类型获得服务器上整个正向和反向区域的资源记录

]# dig -t axfr opsnote.com @172.18.7.77

]# dig -t axfr 7.18.172.in-addr.arpa @172.18.7.77

子域授权

1.在父域的主DNS服务器的正向区域数据库文件/var/named/opsnote.com.zone上授权子域

]# vim /var/named/opsnote.com.zone

aaa        IN        NS        ns3.aaa

ns3.aaa        IN        A        172.18.7.73

记得增加版本号

重载

]# rndc reload

2.子域服务器上(172.18.7.73)


安装bind

]# yum install bind –y

3.编辑主配置文件

]# vim /etc/named.conf

//listen-on port 53 { 127.0.0.1; };

//allow-query { localhost; };

dnssec-enable no;

dnssec-validation no;

4.启动named服务并查看53端口是否已绑定

]# systemctl start named

]# systemctl status named

]# ss -tunl

172.18.7.73:53

编辑主配置文件

]# vim /etc/named.rfc1912.zones

zone "aaa.opsnote.com" IN {

type master;

file "aaa.opsnote.com.zone";

};

5.创建aaa.opsnote.com.zone文件

]# vim /var/named/aaa.opsnote.com.zone

$TTL 3600

@        IN        SOA        ns3.aaa.opsnote.com. admin.opsnote.com. (

0 ;序列号

1H ;刷新时间

10M ;重试时间

1D ;过期时间

2H ) ;否定回答的TTL值

IN        NS        ns3

ns3        IN        A        172.18.7.73

www        IN        A        172.18.7.73

6.修改属组和权限

]# chmod 640 aaa.opsnote.com.zone

]# chgrp named aaa.opsnote.com.zone

]# ll aaa.opsnote.com.zone

-rw-r----- 1 root named 162 Jan 20 16:14 aaa.opsnote.com.zone

7.检查语法

]# named-checkzone aaa.opsnote.com aaa.opsnote.com.zone

zone aaa.opsnote.com/IN: loaded serial 0

OK

8.重载服务

]# rndc reload

9测试正向解析

]# dig -t A www.aaa.opsnote.com @172.18.7.73

如果想通过子域服务器解析父域,子域会先找根,再找.com顶级域进行的带查询,但只要给子域定义了转发区域,就可以让子域解析自己的父域.

给子域服务器定义转发区域

子域服务器(172.18.7.73)

1.编辑主配置文件

]# vim /etc/named.rfc1912.zones

zone "opsnote.com" IN {

type forward;

forward only;

forwarders { 172.18.7.77; 172.18.7.61; };

};

2.检查语法

]# named-checkconf

3.重载

]# rndc reload

4.测试

在父域主服务器(172.18.7.77)上解析子域

]# dig -t A www.aaa.opsnote.com @172.18.7.77

会得到标志位flags: qr rd ra; 其中没有权威应答aa标志,说明不是父域自己解析的.

父域解析自己负责的域

]# dig -t A www.opsnote.com @172.18.7.77

会得到标志位flags: qr aa rd ra; 其中包含的aa为权威应答,说明是自己负责的解析内容.

在子域服务器(172.18.7.73)上解析父域

]# dig -t A www.opsnote.com @172.18.7.73

得到标志位flags: qr rd ra;因为父域只能去找父域解析,所以这里没有aa

如果要子域解析其他域名,如www.qq.com,默认情况下子域服务器会因为自己数据库中没有定义而去互联网上找跟服务器询问并得到结果,假如只想通过父域解析,需要定义全局转发.

在子域服务器上定义全局转发

]# vim /etc/named.conf

options段中添加

forward only;

forwarders { 172.18.7.77; };

forward 有两个参数

firest: 先转发.如果转发器不响应,自己回去迭代查询.

only:只转发,不迭代.

重载

]# rndc reload

测试:

]# dig -t A www.qq.com @172.18.7.73

此时由父域主服务器(172.18.7.73)解析www.qq.com

只允许从服务器进行区域传送,访问控制列表

之前我们通过

]# dig -t axfr opsnote.com @172.18.7.77

直接得到了主服务器上的区域数据库内容,这是不安全的,应该限制为只允许从服务器才能读取.下面为实现方法.

1.在主服务器上编辑/etc/named.conf文件,如添加在options段则全局生效,如添加在zone段则只对当前区域生效.

这里添加在zone,所以可以直接编辑/etc/named.rfc1912.zones文件,找到之前定义的zone "opsnote.com" IN {段,在其中添加allow-transfer { slaves; };

]# vim /etc/named.rfc1912.zones

zone "opsnote.com" IN {

type master;

file "opsnote.com.zone";

allow-transfer { myslaves; };

};

myslaves表示自定义访问控制列表.

2.在主服务器中改配置访问控制列表:

在/etc/named.conf 文件options段前添加

]# vim /etc/named.conf

acl myslaves {

172.18.7.61;

127.0.0.1;

};

检查语法

]# named-checkconf

重载

]# rndc reload

测试:

在非从服务器中测试:

]# dig -t axfr opsnote.com @172.18.7.77

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6 <<>> -t axfr opsnote.com @172.18.7.77

;; global options: +cmd

; Transfer failed.

在从服务器测试:

]# dig -t axfr opsnote.com @172.18.7.77

传送成功

在主服务器测试:

]# dig -t axfr opsnote.com @172.18.7.77

]# dig -t axfr opsnote.com @127.0.0.1

.7.77传送失败,因为不在访问控制列表中

127.0.0.1传送成功,但是因为我把/etc/named.conf中的listen-on port 53一行注释掉了,所以本机的任何ip都可以接受传送,如果把注释去掉,并且括号中没有127.0.0.1的话,则会传送失败.

DNS配置范例的更多相关文章

  1. Linux 如何查看修改DNS配置

    DNS服务器介绍 DNS是计算机域名系统(Domain Name System 或Domain Name Service) 的缩写,它是由域名解析器和域名服务器组成的.域名服务器是指保存有该网络中所有 ...

  2. Redhat 一则关于路由及DNS配置的实例

    安装了Redhat 7.2, 配置路由, 但发现路由重启之后,不能生效. 配置路由: touch /etc/sysconfig/static-router, 然后编辑路由信息如下. any defau ...

  3. liunx之:解决liunx下dns配置重启失效的问题

    有时候能ping同ip地址,却ping不通域名,这就是dns没有配置的缘故. 但是DNS配置文件 /etc/resolv.conf 每次重启就会失效. 打开这个配置文件,发现有注释提示: Dynami ...

  4. 彻底解决Ubuntu 14.04 重启后DNS配置丢失的问题

    最近得到一个比较好用的DNS,每次重启后都修改DNS配置文件 /etc/resolv.conf 重启就会失效 从网上得知 /etc/resolv.conf中的DNS配置是从/etc/resolvcon ...

  5. 从DNS配置

    从服务器可以从主服务器上抓取指定的区域数据文件起到备份解析记录和负载均衡的作用. 主DNS服务器IP:192.168.16.20 从DNS服务器IP:192.168.16.30 1,修改主服务器区域配 ...

  6. 安装Oracle 11g RAC R2 之Linux DNS 配置

    Oracle 11g RAC 集群中引入了SCAN(Single Client Access Name)的概念,也就是指集群的单客户端访问名称.SCAN 这个特性为客户端提供了单一的主机名,用于访问集 ...

  7. Redhat linux DNS配置指南(SCANIP配置手册)

    在oracle 11g的RAC中增加了SCAN IP,而使用 SCAN IP的一种方式就是使用DNS,这里介绍在Redhat Linux 5.4中DNS的详细配置操作在配置DNS之前修改主机名Redh ...

  8. 21. DNS 配置和端口检测

    一.将本机的 DNS 配置为 8.8.8.8 ,用 nslookup (还可以使用 host.dig)验证 # 修改配置文件     # vim /etc/resolv.conf # 在文件的最后加入 ...

  9. Ubuntu系统下静态DNS配置详解

    1.DNS服务的简介: DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器.DNS中保存了一张域 ...

随机推荐

  1. 修复PHP支持的标准JSON数据格式

    PHP的json_decode无法解析的JSON数据,代码如下: $json = "{rst:5,c:[ [1018485,2,0,0,0,0,'','0-0','','',2,0,2],[ ...

  2. 使用Microsoft Azure云平台中的Service Bus 中继 Intanet环境下的WCF服务。

    之前写的一篇文章:) 看起来好亲切. http://www.cnblogs.com/developersupport/archive/2013/05/23/WCF-ON-IIS-Azure-Servi ...

  3. Linq to SharePoint与权限提升(转)

    转自http://www.cnblogs.com/kaneboy/archive/2012/01/25/2437086.html SharePoint 2010支持Linq to SharePoint ...

  4. R语言格式化数字和字符串format函数

    数字和字符串可以使用 format()函数的格式化为特定样式. 语法 format()函数的基本语法是: format(x, digits, nsmall,scientific,width,justi ...

  5. Scrum 冲刺博客第四篇

    一.当天站立式会议照片一张 二.每个人的工作 (有work item 的ID),并将其记录在码云项目管理中 昨天已完成的工作 新建立了一个list页面用来显示题目,并且创建了列表用来进行题目的存放,将 ...

  6. 对数几率回归法(梯度下降法,随机梯度下降与牛顿法)与线性判别法(LDA)

    本文主要使用了对数几率回归法与线性判别法(LDA)对数据集(西瓜3.0)进行分类.其中在对数几率回归法中,求解最优权重W时,分别使用梯度下降法,随机梯度下降与牛顿法. 代码如下: #!/usr/bin ...

  7. IOS折线图二

    上周把项目的折线图给做了下,今天想着把它完善完善,自己设置了不同的数据源来测试,哈哈,还真遇到问题了, 就是给图表设置折点数为0时,视图显示的还是原来的,由于数据为空,应该将其设置为空,所以想着怎么把 ...

  8. 安装node.js webkit环境[一]

    1. 安装node,设置代理npm config set registry https://registry.npm.taobao.org[cmd运行]2. 安装grunt-cli: npm inst ...

  9. Entity FreamWork框架

    实体框架 (Entity Framework) 1.是微软以ADO.Net为基础所发展出来的对象关系对应(O/R Mapping)解决方案. 2.实体框架Entity Framework是ADO.Ne ...

  10. Linux 目录结构说明

    根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的,同时根目录也与开机/还原/系统修 复等动作有关. 由于系统开机时需要特定的开机软件.核心文件.开机所需程序.函数库等等文件数 ...