Linux基础服务——Bind DNS服务 Part2

DNS反向解析与区域传送

实验环境延续Part1的实验环境。

反向区域配置

正向解析是域名到IP地址的映射,反向解析则是IP地址到域名的解析,在区域名称方面有较大的的不同。

(下图为定义区域的基本样例)

且反向解析使用PTR记录表明反向解析记录,且所指向的域名必须是FQDN(SOA记录不需要改变,$ORIGIN变量的默认值也与正向解析相同)

定义完毕区域并编写完成区域文件后重新启动named服务即可生效

[root@localhost named]# systemctl restart named

反向解析测试

区域传送(zone transfer)

添加一台相同配置的虚拟机进入环境中,IP地址为192.168.100.60。(软件安装略)

如果我们想让第二台虚拟机提供备份的DNS服务,那么需要将第一台服务器的区域记录传送至第二台服务器,从服务器不能对记录进行修改,接下来进行区域传送的配置。

首先修改区域文件的记录,对第二台虚拟机进行解析,并指定第二台服务器的NS记录使其能够为区域进行解析。

然后在主服务器上进行传送权限的配置。我们需对区域定义的部分进行修改。

添加的allow-transfer指定了该区域可以被传送到那些主机。接下来配置第二台虚拟机。同样的,只需要在区域定义的部分修改部分即可。

type指定了区域类型为辅助区域,masters参数指定了它将向那台服务器进行区域传送,file指定文件保存位置(相对于/var/named/)

配置完毕后,确认防火墙配置是否正确(TCP与UDP53端口放行),重启服务即可。

[root@localhost named]# systemctl restart named

查看日志

Jun 07 07:25:10 localhost.localdomain named[1342]: zone test.com/IN: Transfer started.
Jun 07 07:25:10 localhost.localdomain named[1342]: transfer of 'test.com/IN' from 192.168.100.50#53: connected using 192.168.100.60#50187
Jun 07 07:25:10 localhost.localdomain named[1342]: zone test.com/IN: transferred serial 0
Jun 07 07:25:10 localhost.localdomain named[1342]: transfer of 'test.com/IN' from 192.168.100.50#53: Transfer status: success
Jun 07 07:25:10 localhost.localdomain named[1342]: transfer of 'test.com/IN' from 192.168.100.50#53: Transfer completed: 1 messages, 6 records, 178 bytes, 0.001 secs (178000 bytes/sec) Jun 07 07:25:10 localhost.localdomain named[1342]: zone 100.168.192.in-addr.arpa/IN: Transfer started.
Jun 07 07:25:10 localhost.localdomain named[1342]: transfer of '100.168.192.in-addr.arpa/IN' from 192.168.100.50#53: connected using 192.168.100.60#40069
Jun 07 07:25:10 localhost.localdomain named[1342]: zone 100.168.192.in-addr.arpa/IN: transferred serial 0
Jun 07 07:25:10 localhost.localdomain named[1342]: transfer of '100.168.192.in-addr.arpa/IN' from 192.168.100.50#53: Transfer status: success
Jun 07 07:25:10 localhost.localdomain named[1342]: transfer of '100.168.192.in-addr.arpa/IN' from 192.168.100.50#53: Transfer completed: 1 messages, 6 records, 205 bytes, 0.001 secs (205000 bytes/sec)

可以看到区域传送已经传送完毕,到文件系统中查看。

[root@localhost slaves]# pwd
/var/named/slaves
[root@localhost slaves]# ls
test.com.ptr.zone test.com.zone

区域文件被传送到了服务器中。接下来测试主辅的DNS。

主从DNS测试

使用Linux客户机的dig命令进行测试(客户机的DNS服务器需配置为192.168.100.50和192.168.100.60)

[root@localhost ~]# dig www.test.com

; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8 <<>> www.test.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 171
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 7682c1196c8fb2fe8ac2854b60be0629b89d5d1616f419f5 (good)
;; QUESTION SECTION:
;www.test.com. IN A ;; ANSWER SECTION:
www.test.com. 86400 IN A 192.168.100.20 ;; AUTHORITY SECTION:
test.com. 86400 IN NS dns2.test.com.
test.com. 86400 IN NS dns.test.com. ;; ADDITIONAL SECTION:
dns.test.com. 86400 IN A 192.168.100.50
dns2.test.com. 86400 IN A 192.168.100.60 ;; Query time: 0 msec
;; SERVER: 192.168.100.50#53(192.168.100.50)
;; WHEN: Mon Jun 07 15:42:34 EDT 2021
;; MSG SIZE rcvd: 154

以上可见相应的Server为192.168.100.50服务器,将主DNS关闭后再次进行测试。

[root@localhost ~]# dig www.test.com

; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8 <<>> www.test.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44650
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 527a8826a09007e405815b9560be06449ec3acd3b38c6dee (good)
;; QUESTION SECTION:
;www.test.com. IN A ;; ANSWER SECTION:
www.test.com. 86400 IN A 192.168.100.20 ;; AUTHORITY SECTION:
test.com. 86400 IN NS dns.test.com.
test.com. 86400 IN NS dns2.test.com. ;; ADDITIONAL SECTION:
dns.test.com. 86400 IN A 192.168.100.50
dns2.test.com. 86400 IN A 192.168.100.60 ;; Query time: 0 msec
;; SERVER: 192.168.100.60#53(192.168.100.60)
;; WHEN: Mon Jun 07 15:43:00 EDT 2021
;; MSG SIZE rcvd: 154

可见Server转变成为了192.168.100.60,它们同时提供了服务。

区域文件的更新

当在区域文件内添加内容时,需要更新SOA记录中的Serial(序列号),对于区域传送来说,它通过Serial的大小来区分区域文件的新旧,Serial值越大则区域文件越新。例如我需要在100.168.192.in-addr.arpa区域文件中添加一条A记录,那么我就需要将Serial加一,如下。

Serial由0变为1,然后查看系统日志观察区域传送的更新(从服务器端日志)

Jun 07 08:02:00 localhost.localdomain named[1570]: client @0x7f12e80bf9f0 192.168.100.50#37234: received notify for zone '100.168.192.in-addr.arpa'
Jun 07 08:02:00 localhost.localdomain named[1570]: zone 100.168.192.in-addr.arpa/IN: notify from 192.168.100.50#37234: zone is up to date
Jun 07 08:03:21 localhost.localdomain named[1570]: client @0x7f12e80bf9f0 192.168.100.50#35630: received notify for zone 'test.com'
Jun 07 08:03:21 localhost.localdomain named[1570]: zone test.com/IN: notify from 192.168.100.50#35630: zone is up to date
Jun 07 08:03:21 localhost.localdomain named[1570]: client @0x7f12e80bf9f0 192.168.100.50#58424: received notify for zone '100.168.192.in-addr.arpa'
Jun 07 08:03:21 localhost.localdomain named[1570]: zone 100.168.192.in-addr.arpa/IN: notify from 192.168.100.50#58424: serial 1
Jun 07 08:03:21 localhost.localdomain named[1570]: zone 100.168.192.in-addr.arpa/IN: Transfer started.
Jun 07 08:03:21 localhost.localdomain named[1570]: transfer of '100.168.192.in-addr.arpa/IN' from 192.168.100.50#53: connected using 192.168.100.60#49353
Jun 07 08:03:21 localhost.localdomain named[1570]: zone 100.168.192.in-addr.arpa/IN: transferred serial 1
Jun 07 08:03:21 localhost.localdomain named[1570]: transfer of '100.168.192.in-addr.arpa/IN' from 192.168.100.50#53: Transfer status: success
Jun 07 08:03:21 localhost.localdomain named[1570]: transfer of '100.168.192.in-addr.arpa/IN' from 192.168.100.50#53: Transfer completed: 1 messages, 9 records, 262 bytes, >
Jun 07 08:03:21 localhost.localdomain named[1570]: zone 100.168.192.in-addr.arpa/IN: sending notifies (serial 1)

可以看到,主服务器发出了通知告诉从服务器,区域文件需要被升级,那么从服务器将会开启区域传送传送新的区域文件到本机,在日志中Serial将会被记录。

Linux基础服务——Bind DNS服务 Part2的更多相关文章

  1. Linux基础服务——Bind DNS服务 Part1

    Linux基础服务--Bind DNS服务 Part1 DNS正向解析 实验环境: CentOS8.3.2011 IP地址:192.168.100.50 VMware虚拟环境 NAT网段 需要解析的区 ...

  2. Bind DNS服务——转发与区域记录更新

    Linux基础服务--Bind DNS服务 Part4 转发与区域记录更新 一个DNS服务器不可能保存所有的区域记录,所以我们一般都会将其他的区域纪录转发到其他的服务器上进行解析. Bind9提供了全 ...

  3. Bind DNS服务——基础知识

    Linux基础--Bind DNS服务 Part0 DNS简介 域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库 ...

  4. 前6名免费DNS服务 - 公共DNS服务

    前6名免费DNS服务 - 公共DNS服务 谷歌 8.8.8.8,8.8.4.4备份,用户将期望并获得高可用性,如DNSSEC等过滤和安全保护. OpenDNS 现在是Cisco帝国的一部分,主要是20 ...

  5. Linux服务之DNS服务篇

    一.DNS服务概述 DNS(Domain Name System)域名系统,在TCP/IP 网络中有非常重要的地位,能够提供域名与IP地址的解析服务. DNS 是一个分布式数据库,命名系统采用层次的逻 ...

  6. NTP服务和DNS服务(week3_day3)--技术流ken

    NTP时间服务器 作用:ntp主要是用于对计算机的时间同步管理操作. 时间是对服务器来说是很重要的,一般很多网站都需要读取服务器时间来记录相关信息,如果时间不准,则可能造成很大的影响. 部署安装NTP ...

  7. 末学者笔记--NTP服务和DNS服务

    NTP时间服务器 一.概念: 作用:ntp主要是用于对计算机的时间同步管理操作. 时间是对服务器来说是很重要的,一般很多网站都需要读取服务器时间来记录相关信息,如果时间不准,则可能造成很大的影响. 二 ...

  8. NTP服务和DNS服务

    1.NTP时间服务器 作用:NTP主要用于对计算机的时间同步管理操作 1.1  NTP部署 服务端:192.168.16.6 客户端:192.168.16.7 [root@localhost ~]# ...

  9. (一)跟我一起玩Linux网络服务:DNS服务——BIND(/etc/named.conf、/var/named)设置实现和解释

    2015年3月24更新 添加了要加的配置域名解析器(否则会找不到域名)     一.创建该实验的的模型   配置完gate虚拟机的两张网卡后,就启动gate的转发 [root@localhost ro ...

随机推荐

  1. 【OO课下讨论】bug中的“二八定律”

    bug中的"二八定律" 本文主要为讨论2020/3/17下午OO课讨论的第三个思考题设立 有一个经典的经验性原则,叫帕累托原则,也称为二八定律.这个原则在经济.社会和科技等多个领域 ...

  2. nginx添加module之threads

    一.安装nginx yum安装nginx 折叠源码 1 2 3 4 5 6 7 8 9 10 11 12 # 添加nginx源 rpm -ivh http://nginx.org/packages/c ...

  3. Android LayoutInflater.inflate源码解析

    一年多以前看过源码,感觉了解比较透彻了,长时间不经大脑思考,靠曾经总结的经验使用inflate方法,突然发现不知道什么时候忘记其中的原理了,上网查了一些资料,还各有不同,反而把我搞糊涂了,还是自己看源 ...

  4. 线程安全(ThreadSafety)

    这节讲一下线程安全的例子,以及如何解决线程安全问题. 上节提到了线程安全的问题,说了一个例子,1000个人抢100张票,这节就从此案例着手,下面先看一下代码实现: private static int ...

  5. [MySQL数据库之数据库相关概念、MySQL下载安装、MySQL软件基本管理、SQL语句]

    [MySQL数据库之数据库相关概念.MySQL下载安装.MySQL软件基本管理.SQL语句] 数据库相关概念 数据库管理软件的由来 数据库管理软件:本质就是个C/S架构的套接字程序. 我们在编写任何程 ...

  6. 『动善时』JMeter基础 — 22、JMeter中实现参数化(CSV)

    目录 1.参数化的定义 2.什么情况下需要用到参数化 3.JMeter实现参数化的方式 4.CSV数据文件设置界面详细说明 (1)CSV数据文件设置组件界面说明 (2)补充说明:Recycle on ...

  7. stressapptest测试用例testcase方法aarch64

    ### https://github.com/stressapptest/stressapptest aarch64 To build from source, the build/installat ...

  8. 1.5 RPM红帽软件包1.6 Yum软件仓库

    1.5 RPM红帽软件包 在RPM(红帽软件包管理器)公布之前,要想在Linux系统中安装软件只能采取源码包的方式安装.早期在Linux系统中安装程序是一件非常困难.耗费耐心的事情,而且大多数的服务程 ...

  9. Docker网络(5)

    一.docker网络介绍 大量的互联网应用服务需要多个服务组件,这往往需要多个容器之间通过网络通信进行相互配合 docker 网络从覆盖范围可分为单个 host 上的容器网络和跨多个 host 的网络 ...

  10. 043.Python线程基本介绍

    一 线程的基本概念 1.1 进程和线程 进程是资源分配的最小单位 线程是计算机中调度的最小单位 进程池: 开启过多的进程并不一走提高你的效率, 如果cp负载任务过多,平均单个任务执行的效率就会低,反而 ...