DNS:使用 bind9 配置主从权威DNS服务器

这篇具有很好参考价值的文章主要介绍了DNS:使用 bind9 配置主从权威DNS服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面


  • 分享一些 使用 bind9 配置主从权威名称服务器的笔记
  • 理解不足小伙伴帮忙指正

对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德米安》


DNS 架构

向供应商注册新的域名时,必须提供该公共权威名称服务器的名称和IP地址。注册服务商将该信息放在父域的区域文件中(如NS,A和AAAA记录),以便DNS解析器可以找到您的名称服务器。为了帮助确保可靠性,应该至少有两个公共DNS服务器,并且它们应位于不同的站点,以避免由于网络故障而造成的中断。

外部主机如何通过缓存名称服务器权威名称服务器进行 DNS 解析,对记录执行DNS查找。假设还没有缓存的记录:

外部访问

DNS:使用 bind9 配置主从权威DNS服务器,服务管理与自动化,服务器,运维

客户的缓存名称服务器首先查询一个根名称服务器。它被定向到负责 com域的名称服务器池。其中一个服务器响应 example.com域的NS记录,因此 缓存的名称服务器查询一个面向公共的次要名称服务器

主名称服务器实际上不是公共的,但是辅助名称服务器可以从主名称服务器执行区域传输,以便它们拥有关于 example.com 区域的最新数据。下图说明了对于example.com 域内的内部仅缓存名称服务器,该过程是相同的:

内部访问

DNS:使用 bind9 配置主从权威DNS服务器,服务管理与自动化,服务器,运维

更好的方法是提供内部名称服务器可以查询的内部授权辅助服务器。当本地域存在问题时,这消除了外部查询,这更安全。

内部访问

DNS:使用 bind9 配置主从权威DNS服务器,服务管理与自动化,服务器,运维

为此,需要配置内部缓存名称服务器来转发对记录的请求。Com 到内部辅助服务器。(例如,使用Unbound时,您需要配置适当的forward-zone块。)

# forward-zone:
#       name: "example.com"
#       forward-addr: 192.0.2.68
#       forward-addr: 192.0.2.73@5355  # forward to port 5355.
#       forward-first: no
#       forward-tls-upstream: no
# forward-zone:
#       name: "example.org"
#       forward-host: fwd.example.com

主从权威 DNS 部署

配置主 DNS 服务器

安装 bind9

[root@serverb ~]# yum install  bind -y

一些准备工作

[root@serverb ~]# vim /etc/named.conf
[root@serverb ~]# chmod 640 /etc/named.conf
[root@serverb ~]# chgrp named /etc/named.conf
[root@serverb ~]# firewall-cmd --add-service=dns --permanent
success
[root@serverb ~]# firewall-cmd --reload
success
[root@serverb ~]# systemctl enable  named.service  --now
Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.
[root@serverb ~]#

serverb配置主 DNS,并且添加几条记录

  • 配置正向解析servera.blog.liruilong.com.,serverc.blog.liruilong.com. 地址分别为172.25.250.10, 172.25.250.12
  • 配置反向解析servera,serverc

编辑配置文件 /etc/named.conf

options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { any; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        secroots-file   "/var/named/data/named.secroots";
        recursing-file  "/var/named/data/named.recursing";
        allow-query     { any; };
        .....

添加对应的 zone

zone "blog.liruilong.com" IN {
        type master;
        file "blog.liruilong.com.zone";
        forwarders {};
};

添加对应的 zone 数据

[root@serverb ~]# cat  /var/named/blog.liruilong.com.zone
$TTL 300
@ IN SOA serverb.blog.liruilong.com. dnslab.example.com. (
 2023072900 ; serial
 1H ; refresh
 5M ; retry
 1W ; expire
 1M ) ; minimum
    600 IN      NS      serverb.blog.liruilong.com.

serverb IN A 172.25.250.11
serverc IN A 172.25.250.12
servera IN A 172.25.250.10

[root@serverb ~]#

检测 zone 文件

[root@serverb ~]# vim /var/named/blog.liruilong.com.zone
[root@serverb ~]# named-checkzone  blog.liruilong.com.zone /var/named/blog.liruilong.com.zone
zone blog.liruilong.com.zone/IN: loaded serial 2023072900
OK

确认无误后,重启服务,测试

[root@serverb ~]# systemctl  restart  named
[root@serverb ~]# dig serverc.blog.liruilong.com. @serverb

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el8 <<>> serverc.blog.liruilong.com. @serverb
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9608
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 196c643e805924a3ea772e3264c649cef6a873b5c3803907 (good)
;; QUESTION SECTION:
;serverc.blog.liruilong.com.    IN      A

;; ANSWER SECTION:
serverc.blog.liruilong.com. 300 IN      A       172.25.250.12

;; AUTHORITY SECTION:
blog.liruilong.com.     600     IN      NS      serverb.blog.liruilong.com.

;; ADDITIONAL SECTION:
serverb.blog.liruilong.com. 300 IN      A       172.25.250.11

;; Query time: 0 msec
;; SERVER: 172.25.250.11#53(172.25.250.11)
;; WHEN: Sun Jul 30 19:30:22 CST 2023
;; MSG SIZE  rcvd: 137
[root@serverb ~]# dig servera.blog.liruilong.com. @172.25.250.11

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el8 <<>> servera.blog.liruilong.com. @172.25.250.11
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37549
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 7e67c9a9f9d30b3df695a33864c64a1bb0d653a623775fd6 (good)
;; QUESTION SECTION:
;servera.blog.liruilong.com.    IN      A

;; ANSWER SECTION:
servera.blog.liruilong.com. 300 IN      A       172.25.250.10

;; AUTHORITY SECTION:
blog.liruilong.com.     600     IN      NS      serverb.blog.liruilong.com.

;; ADDITIONAL SECTION:
serverb.blog.liruilong.com. 300 IN      A       172.25.250.11

;; Query time: 0 msec
;; SERVER: 172.25.250.11#53(172.25.250.11)
;; WHEN: Sun Jul 30 19:31:39 CST 2023
;; MSG SIZE  rcvd: 137

[root@serverb ~]#

反向解析配置

zone "25.172.in-addr.arpa" IN {
        type master;
        file "25.172.loopback"
        allow-update { none; };

};

这里修改完 配置文件提示上面的报错,缺少;

[root@serverb ~]# named-checkconf  /etc/named.conf
/etc/named.conf:67: missing ';' before 'allow-update'
[root@serverb ~]# vim /etc/named.conf
[root@serverb ~]# named-checkconf  /etc/named.conf
[root@serverb ~]#

重新编辑后测试OK

zone "25.172.in-addr.arpa" IN {
        type master;
        file "25.172.loopback";
        allow-update { none; };

};

编写对应的 zone 数据文件

[root@serverb ~]# cat /var/named/25.172.loopback
$TTL 1D
@       IN SOA  serverb.blog.liruilong.com rname.invalid. (
                                        2023073000       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      serverb.blog.liruilong.com.
10.250       PTR     servera.blog.liruilong.com.
11.250       PTR     serverb.blog.liruilong.com.
12.250       PTR     serverc.blog.liruilong.com.
[root@serverb ~]#

重启服务测试

[root@serverb ~]# vim /var/named/25.172.loopback
[root@serverb ~]# systemctl  restart  named
[root@serverb ~]# host serverc.blog.liruilong.com 172.25.250.11
Using domain server:
Name: 172.25.250.11
Address: 172.25.250.11#53
Aliases:

serverc.blog.liruilong.com has address 172.25.250.12
[root@serverb ~]# host servera.blog.liruilong.com 172.25.250.11
Using domain server:
Name: 172.25.250.11
Address: 172.25.250.11#53
Aliases:

servera.blog.liruilong.com has address 172.25.250.10
[root@serverb ~]# host 172.25.250.10 172.25.250.11
Using domain server:
Name: 172.25.250.11
Address: 172.25.250.11#53
Aliases:

10.250.25.172.in-addr.arpa domain name pointer servera.blog.liruilong.com.
[root@serverb ~]#

配置 DNS从服务器

[root@serverc ~]# yum install  bind -y

复制 配置文件

[root@serverc ~]# scp serverb:/etc/named.conf /etc/named.conf

需要修改的部分:

  • 将每个主要 (master) 区域条⽬转换为次要 (slave) 区域条⽬。
  • 将 type 指令的值更改为 slave。
  • 添加 masters 指令,以指向 serverb(主DNS) 后端接⼝ 192.168.0.11
  • 为⽂件位置加上前缀,以便在 slaves/ ⼦⽬录中创建区域⽂件。⽣成的⽂件应当包含以下内容:
zone "blog.liruilong.com" IN {
        type slave;
        file "slaves/blog.liruilong.com.zone";
        masters { 192.168.0.11; };
};


zone "25.172.in-addr.arpa" IN {
        type slave;
        file "slaves/25.172.loopback";
        masters { 192.168.0.11; };
};

修改配置文件,配置防火墙

[root@serverc ~]# vim /etc/named.conf
[root@serverc ~]# chmod 640 /etc/named.conf
[root@serverc ~]# chgrp named /etc/named.conf
[root@serverc ~]# firewall-cmd --add-service=dns --permanent
success
[root@serverc ~]# firewall-cmd --reload
success
[root@serverc ~]# systemctl enable  named.service  --now
Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.
[root@serverc ~]#

查看 zone 数据是否同步

[root@serverc named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@serverc named]# cd slaves/
[root@serverc slaves]# ls
25.172.loopback  blog.liruilong.com.zone
[root@serverc slaves]#

这个同步过来的zone数据是乱码的,直接看不了

[root@serverc ~]# host servera.blog.liruilong.com 172.25.250.11
Using domain server:
Name: 172.25.250.11
Address: 172.25.250.11#53
Aliases:

servera.blog.liruilong.com has address 172.25.250.10
[root@serverc ~]# host servera.blog.liruilong.com 172.25.250.12
Using domain server:
Name: 172.25.250.12
Address: 172.25.250.12#53
Aliases:

servera.blog.liruilong.com has address 172.25.250.10
[root@serverc ~]#

关于 DNS 主从服务器搭建就和小伙伴们分享到这里,简单介绍,更多配置小伙伴们可以查看帮助文档

博文部分内容参考

© 文中涉及参考链接内容版权归原作者所有,如有侵权请告知


https://www.isc.org/bind/

<RH358 授课课堂笔记>


© 2018-2023 liruilonger@gmail.com, All rights reserved. 保持署名-非商用-相同方式共享(CC BY-NC-SA 4.0)文章来源地址https://www.toymoban.com/news/detail-634325.html

到了这里,关于DNS:使用 bind9 配置主从权威DNS服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux配置DNS主从服务器

    实验设备   主服务器:OpenElur Linux  IP地址为192.168.188.129   从服务器:RedHat Linux  IP地址为192.168.188.128 实验步骤 1.进行主服务器的基础配置  2.配置主服务器的解析配置文件 3.进行从服务器的基础配置   4.实验结果检验

    2024年01月18日
    浏览(46)
  • Centos7搭建DNS(bind)服务器,配置域名泛解析记录

    前言就是没钱买域名,学习成本较大 (穷批哭死) ,再加上windows个人版的上的hosts文件不支持域名泛解析和多租户的域名解析,windows server环境又需要秘钥提供不支持长期学习,所以出一篇文章记录一下。 客户机:windows个人环境即可 服务器:两台nginx服务器(centos7)、一台

    2024年02月04日
    浏览(49)
  • 配置DNS主从服务器,实现真反向解析

    [root@bogon ~]# systemctl stop firewalld.service        #关闭防火墙 [root@bogon ~]# setenforce 0        #关闭selinux [root@bogon ~]# systemctl restart named        #启动dns服务 [root@bogon ~]# vim /etc/named.conf        #进入dns配置文件 [root@bogon ~]# vim /var/named/test_dns_openlab  ---创建文件并编写配置 [root@loc

    2024年01月21日
    浏览(39)
  • 配置dns主从服务器,实现正反向解析

    一、安装bind服务 二、修改主配置文件/etc/named.conf 三、配置数据配置文件/var/named/baidu 四、重启服务,进行测试

    2024年01月25日
    浏览(37)
  • RHCE: 主从DNS服务器配置 (实现正反向解析)

    准备工作: 配置DNS正向解析: 正向解析测试: 配置DNS反向解析: 主DNS服务器配置(修改资源文件进行主从同步) host (选项) (参数) 选项: -a : 显示详细的DNS信息 -c类型 : 指定查询类型,默认值为“IN” -C : 查询指定主机的完整的SOA记录 -r : 在查询域名时,不使用递归的

    2024年01月20日
    浏览(40)
  • 配置DNS主从服务器,能够实现正常的正反向解析

    目录 准备工作: 配置主服务器 配置从服务器 修改资源文件尝试进行主从同步 关闭防火墙及selinux:  安装软件包(主从服务器都需要): 该软件包服务名称为named。 服务文件: 配置服务文件并添加域(openlab.com): 反向域的ip是一个区段,不写主机位且反着写。 创建并添

    2024年01月17日
    浏览(41)
  • 【Linux】配置dns主从服务器,能够实现正常的正反向解析

    ​​​​​​1、首先,在主服务器上配置DNS解析器。打开配置文件 /etc/named.conf ,添加以下内容:   2、创建正向解析区域文件 example.com.zone ,并添加以下内容:   3、创建反向解析区域文件 xx.168.192.zone ,并添加以下内容: 4、在从服务器上进行相同的配置,只需将 type mas

    2024年01月23日
    浏览(37)
  • Linux设备配置DNS服务器,实现正向解析和反向解析,实现DNS主从服务器同步,实现批量域名正/反向解析

    本文基于Linux上CentOS 7版本配合bind(named)服务进行演示 目录 一.DNS域名服务器原理及作用等介绍 1.DNS简介:  2.原理简单介绍 3.常见域名后缀 4.DNS域名服务器类型 5.DNS服务器的对应关系查询方式 6.具体解析过程 二.bind(named)服务配置文件介绍 1.主配置文件在/etc/named.conf 2.数

    2024年02月08日
    浏览(33)
  • DNS主从服务器传递

    实验步骤 一、为网关服务器配置双网卡 在关机状态下再添加一块网卡,重启系统 ifconfig           //先查看增加的网卡名称 cd /etc/sysconfig/network-scripts/ cp ifcfg-ens33 ifcfg-ens36 vim ifcfg-ens33 DEVICE=ens33 IPADDR=192.168.1.1 NETMASK=255.255.255.0 vim ifcfg-ens36 DEVICE=ens36 IPADDR=12.0.0.1 NETMASK=255.255.25

    2024年01月20日
    浏览(31)
  • Linux搭建主从DNS服务器

    DNS(Domain Name System)是互联网上的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。 互联网的不同计算机之间通信是通过IP地址来进行实现的,每台联网计算机都需要通过 IP 地址来互相联系,但由于 IP 地址是由一串容易混淆的数

    2024年01月19日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包