当前位置:   article > 正文

搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验...

cp: overwrite '/etc/named.rfc1912.zones.bj'?是什么意思

1基本知识点

DNS服务

DNS:Domain Name System 应用层协议
C/S,53/udp, 53/tcp
BIND:Bekerley Internat Name Domain
ISC (www.isc.org)
本地名称解析配置文件:hosts

DNS域名

根域
一级域名:Top Level Domain: tld
com, edu, mil, gov, net, org, int,arpa
三类:组织域、国家域(.cn, .ca, .hk, .tw)、反向域
二级域名
三级域名
最多127级域名
ICANN(The Internet Corporation for Assigned Names and Numbers)
互联网名称与数字地址分配机构,负责在全球范围内对互联网通用顶级域名
(gTLD)以及国家和地区顶级域名(ccTLD)系统的管理、以及根服务器系统
的管理

DNS域名结构

搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

DNS解析

DNS查询类型:
递归查询
迭代查询
名称服务器:域内负责解析本域内的名称的主机
根服务器:13组服务器
解析类型:
FQDN --> IP
IP --> FQDN
注意:正反向解析是两个不同的名称空间,是两棵不同的解析树

DNS服务器类型

DNS服务器的类型:
主DNS服务器
从DNS服务器
缓存DNS服务器(转发器)

  • 主DNS服务器:管理和维护所负责解析的域内解析库的服务器
  • 从DNS服务器:从主服务器或从服务器“复制”(区域传输)解析库副本
    序列号:解析库版本号,主服务器解析库变化时,其序列递增
    刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔
    重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔
    过期时长:从服务器联系不到主服务器时,多久后停止服务
  • “通知”机制:主服务器解析库发生变化时,会主动通知从服务器

资源记录

区域解析库:由众多RR组成:
资源记录:Resource Record, RR
记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX
SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个
SOA记录,必须位于解析库的第一条记录
A:internet Address,作用,FQDN --> IP
AAAA:FQDN --> IPv6
PTR:PoinTeR,IP --> FQDN
NS:Name Server,专用于标明当前区域的DNS服务器
CNAME : Canonical Name,别名记录
MX:Mail eXchanger,邮件交换器
TXT:对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如:
SPF(反垃圾邮件)记录,https验证等
示例:_dnsauth TXT 2012011200000051qgs69bwoh4h6nht4n1h0lr038x

2基本环境安装

  1. root:~ # yum install -y bind
  2. root:~ # vim /etc/named.conf
  • 修改这两行,让所有主机都可访问

    listen-on port 53 { localhost; };
    allow-query { any; }
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

root:/etc/named # systemctl start named.service

3主从服务器搭建

搭建主服务器

  • 修改bind 配置文件
  1. vim /etc/named.conf
  2. // listen-on port 53 { 127.0.0.1; };
  3. // allow-query { localhost; };
  4. allow-transfer {从服务器IP;}; #只允许从服务器同步
  5. vim /etc/named.rfc1912.zones
  6. 添加
  7. zone "qh.com" IN {
  8. type master;
  9. file "qh.com.zone";
  10. }
  • 编辑DNS区域数据库文件
  1. root:/etc/named # cp -p /var/named/named.localhost /var/named/qh.com.zone
  2. root:/var/named $ vi /var/named/qh.com.zone
  3. $TTL 1D
  4. @ IN SOA master qh.com. (
  5. 2019042210 ; serial
  6. 1D ; refresh
  7. 1H ; retry
  8. 1W ; expire
  9. 3H ) ; minimum
  10. NS master
  11. master A 192.168.64.151
  12. dbserver1 A 1.1.1.1
  13. dbserver2 A 2.2.2.2

root:~ # systemctl restart named.service #重启服务

  • 测试
root:~ $ dig dbserver1.qh.com @192.168.64.151

搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

搭建从服务器

  1. yum install bind
  2. vim /etc/named.conf
  3. // listen-on port 53 { 127.0.0.1; };
  4. // allow-query { localhost; };
  5. allow-transfer {none;}; #不允许任何机器同步
  6. vim /etc/named.rfc1912.zones
  7. zone "qh.com" {
  8. type slave;
  9. masters {主服务器IP;};
  10. file "slaves/qh.com.slave";
  11. };
  12. root:~ # systemctl start named.service
  • 从服务器进行同步
  1. root:/var/named/slaves # cp -p /var/named/named.localhost /var/named/slave/qh.com.slave
  2. root:/var/named # cd slaves/
  3. root:/var/named/slaves # chmod g+w qh.com.slave
  4. root:/var/named/slaves # rndc reload
  5. server reload successful
  6. root:/var/named/slaves # ll
  7. total 4
  8. -rw-rw---- 1 root named 152 Jun 21 2007 qh.com.slave
  • 测试
    root:~ $ vi /etc/sysconfig/network-scripts/ifcfg-ens33

    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

  1. root:~ $ service network restart
  2. Restarting network (via systemctl): [ OK ]
  3. root:~ $ cat /etc/resolv.conf
  4. ; generated by /usr/sbin/dhclient-script
  5. search localdomain
  6. nameserver 192.168.64.151
  7. nameserver 192.168.64.152
  • 断开151网卡
  • 在客户机测试
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验
  • 说明是从从服务器解析地址的,主从服务器已成功

4搭建反向主服务器

  • 配置文件
  1. zone "64.168.192.in-addr.arpa" IN {
  2. type master;
  3. file "192.168.64.zone";
  4. };
  • 区域数据库文件
  1. root:/var/named $ cp -p qh.com.zone 192.168.64.zone
  2. root:/var/named $ vim 192.168.64.zone
  3. $TTL 1D
  4. @ IN SOA master qh.com. ( 1 1H 10M 12H 1D )
  5. NS master
  6. master A 192.168.64.151
  7. 7 PTR websrv.qh.com.
  8. 6 PTR websrv.qh.com.
  9. 100 PTR mail.qh.com.
  10. root:~ $ rndc reload
  11. root:~ $ systemctl restart named.service
  • 测试
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

5父域委派子域到另一台服务器上

  • 主服务器
    1. yum install bind
    2. vim /etc/named.conf
    3. // listen-on port 53 { 127.0.0.1; };
    4. // allow-query { localhost; };
  • 在子域的DNS服务器上192.168.64.153
  1. root:/var/named # vi /etc/named.rfc1912.zones
  2. zone "beijing.qh.com" IN {
  3. type master;
  4. file "beijing.qh.com.zone";
  5. };
  6. root:/var/named # cp -p named.empty beijing.qh.com.zone
  7. root:/var/named # chmod g+w beijing.qh.com.zone
  8. root:~ $ vim /var/named/beijing.qh.com.zone
  9. $TTL 1D
  10. @ IN SOA master beijing.qh.com. (
  11. 2019042214 ; serial
  12. 1D ; refresh
  13. 1H ; retry
  14. 1W ; expire
  15. 3H ) ; minimum
  16. NS master
  17. master A 192.168.64.153
  18. websrv A 3.3.3.3
  19. www CNAME websrv #此处可使用别名
  20. root:~ $ systemctl start named.service
  • 测试成功
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

    6实现智能DNS

  • 主DNS
  1. root:~ # vim /etc/named.conf #三个不同地区网段
  2. acl beijingnet{
  3. 192.168.64.0/24;
  4. };
  5. acl shanghainet{
  6. 192.168.65.0/24;
  7. };
  8. acl othernet{
  9. any;
  10. };
  11. view beijingview{
  12. match-clients {beijingnet;};
  13. include "/etc/named/named.rfc1912.zones.bj";
  14. };
  15. view shanghaiview{
  16. match-clients {shanghainet;};
  17. include "/etc/named/named.rfc1912.zones.sh";
  18. };
  19. view otherview{
  20. match-clients {othernet;};
  21. include "/etc/named.rfc1912.zones";
  22. };
  23. ############################## zone开头的记录要放到includ包含的/etc/named.rfc1912.zones文件里

搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

  1. root:/var/named # cp -p qh.com.zone qh.com.bj ##创建北京与上海数据库
  2. root:/var/named # cp -p qh.com.zone qh.com.sh
  3. root:/var/named # cat qh.com.bj
  4. $TTL 1D
  5. @ IN SOA master qh.com ( 1 1D 1H 1W 3H )
  6. NS master
  7. master A 192.168.64.151
  8. www A 6.6.6.6
  9. root:/var/named # vi qh.com.sh
  10. $TTL 1D
  11. @ IN SOA master qh.com ( 1 1D 1H 1W 3H )
  12. NS master
  13. master A 192.168.64.151
  14. www A 7.7.7.7
  15. root:/var/named # cp qh.com.sh qh.com.zone #其他地区数据库
  16. cp: overwrite ‘qh.com.zone’? y
  17. root:/var/named # vi qh.com.zone
  18. $TTL 1D
  19. @ IN SOA master qh.com ( 1 1D 1H 1W 3H )
  20. NS master
  21. master A 192.168.64.151
  22. www A 8.8.8.8
  • 共三个数据库,对应不同地区
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验
  1. root:~ $ cp -p /etc/named.rfc1912.zones /etc/named/named.rfc1912.zones.bj
  2. root:~ $ cp -p /etc/named.rfc1912.zones /etc/named/named.rfc1912.zones.sh
  • 共三个区域数据库文件
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验
  • 开始关联数据库
root:/etc/named # vi named.rfc1912.zones.bj

搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

root:/etc/named # vi named.rfc1912.zones.sh

搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验
原有named.rfc1912.zones配置不变
搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

  • 语法检查

搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

  • 重启服务
  1. #报错
  2. root:/var/named # rndc reload
  3. rndc: connect failed: 127.0.0.1#953: connection refused
  4. # 尝试先重启服务在加载

搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

  • 测试
    必须把DNS指向所配服务器
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验
  • DNS服务器 有两个ip段
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验
  • 以64网段
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

  • 以65网段
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验
  • 其他网段
    1. 临时加一个网段
    2. 服务器:ip a a 192.168.63.1/24 dev ens33
    3. 客户端:ip a a 192.168.63.2/24 dev ens33
  • 测试均已成功
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

    7互联网DNS架构实验

  • 架构图
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验
  • 共7台主机,联合实现互联网dns架构
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验
  • 1将客户端dns服务器指向本地dns服务器
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验
  • 2将网站搭建好
  1. root:~ # yum install httpd
  2. root:~ # cd /var/www/html/
  3. root:/var/www/html # echo 192.168.64.57,hello >index.html
  4. root:/var/www/html # chmod a+r index.html
  5. root:/var/www/html # service httpd restart
  • 3客户端测试
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

  • 4配置主masterDNS
  1. root:~ # yum install bind
  2. root:~ # vi /etc/named.conf
  3. // listen-on port 53 { 127.0.0.1; };
  4. // allow-query { localhost; };
  5. allow-transfer {192.168.64.47;};
  6. root:~ # vi /etc/named.rfc1912.zones
  7. zone "qh.com" IN {
  8. type master;
  9. file "qh.com.zone";
  10. };
  11. root:~ # cd /var/named/
  12. root:/var/named # vi qh.com.zone
  13. $TTL 1D
  14. @ IN SOA ns1 qh.mail.com. ( 1 1H 10M 1D 3H )
  15. NS ns1
  16. NS ns2
  17. ns1 A 192.168.64.37
  18. ns2 A 192.168.64.47
  19. www A 192.168.64.57
  20. root:/var/named # chgrp named qh.com.zone
  21. root:/var/named # chmod 640 qh.com.zone
  22. #### 语法检查
  23. root:/var/named # named-checkconf
  24. #### 启动服务
  25. root:/var/named # systemctl start named.service
  • 5客户端测试master服务器
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验
  • 6搭建从服务器
  1. root:~ # yum install bind
  2. root:~ # vi /etc/named.conf
  3. // listen-on port 53 { 127.0.0.1; };
  4. // allow-query { localhost; };
  5. allow-transfer {none;};
  6. root:~ # vi /etc/named.rfc1912.zones
  7. zone "qh.com" {
  8. type slave;
  9. masters {192.168.64.37;};
  10. file "slaves/qh.com.slave";
  11. };
  12. root:/var/named/slaves # systemctl start named.service
  13. root:/var/named/slaves # rndc reload
  14. root:/var/named/slaves # ll
  15. total #已同步
  16. -rw-r--r-- 1 named named 269 Apr 23 16:34 qh.com.slave
  • 7测试从服务器
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验
  • 8配置com域服务器
  1. root:~ # yum install bind
  2. root:~ # vi /etc/named.conf
  3. // listen-on port 53 { 127.0.0.1; };
  4. // allow-query { localhost; };
  5. allow-transfer {none;};
  6. ------------------------------------------------
  7. root:~ # vi /etc/named.rfc1912.zones
  8. zone "com" IN {
  9. type master;
  10. file "com.zone";
  11. };
  12. ---------------------------------------------------------
  13. root:~ # cd /var/named/
  14. root:/var/named # vim com.zone
  15. $TTL 1D
  16. @ IN SOA NS1 qh.mail.com. (1 1D 1H 1W 3D )
  17. NS ns1
  18. qh NS qhns1
  19. qh NS qhns2
  20. ns1 A 192.168.64.27
  21. qhns1 A 192.168.64.37 #主服务器
  22. qhns2 A 192.168.64.47 #从服务器
  23. root:/var/named # chgrp named com.zone
  24. root:/var/named # chmod g+w com.zone
  25. root:/var/named # systemctl start named.service
  26. root:/var/named # rndc reload
  27. server reload successful
  • 9测试 (通过父域192.168.64.27测试)
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验
  • 10搭建根DNS
  1. root:~ # yum install bind
  2. root:~ # vi /etc/named.conf
  3. // listen-on port 53 { 127.0.0.1; };
  4. // allow-query { localhost; };
  5. zone "." IN {
  6. type master; #改为master自己做根
  7. file "root.zone";
  8. };
  9. root:~ # cd /var/named/
  10. root:/var/named # vim root.zone
  11. $TTL 1D
  12. @ IN SOA ns1 qh.mail.com. (1 1D 1H 1W 3D )
  13. NS ns1
  14. com NS comns1
  15. ns1 A 192.168.64.17
  16. comns1 A 192.168.64.27
  17. root:/var/named # chgrp named com.zone
  18. root:/var/named # chmod g+w com.zone
  19. root:/var/named # systemctl start named.service
  • 11测试(通过主根服务器测试)
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验
  • 12配置本地dns服务器
  1. root:~ # yum install bind
  2. root:~ # vi /etc/named.conf
  3. // listen-on port 53 { 127.0.0.1; };
  4. // allow-query { localhost; };
  5. root:/etc/sysconfig/network-scripts # vi /var/named/named.ca #改为下面配置
  6. . 518400 IN NS a.root-servers.net.
  7. a.root-servers.net. 3600000 IN A 192.168.64.17
  • 13清缓存
    root:/var/named # rndc flush #清理所有dns缓存
  • 14在本地dns修改安全配置
  1. root:~ # vi /etc/named.conf
  2. dnssec-enable no;
  3. dnssec-validation no;
  • 15测试
    搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

一些过程中可能遇到的错误

  1. root:/var/named # systemctl start named.service
  2. Job for named.service failed because the control process exited with error code. See "systemctl status named.service" and "journalctl -xe" for details.

一般可以通过systemctl status named.service -l 命令可以查看当前错误类型
搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

  1. #dig A example.com
  2. ; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> A example.com
  3. ;; global options: +cmd
  4. ;; Got answer:
  5. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30523
  6. ...
  7. SERVFAIL:The nameserver encountered a problem while processing the query.
  8. • 可使用dig +trace排错,可能是网络和防火墙导致
  9. NXDOMAIN:The queried name does not exist in the zone.
  10. • 可能是CNAME对应的A记录不存在导致
  11. REFUSED:The nameserver refused the client's DNS request due to policy
  12. restrictions.
  13. • 可能是DNS策略导致
  14. • NOERROR不代表没有问题,也可以是过时的记录
  15. •查看是否为权威记录,flags:aa标记判断
  16. •被删除的记录仍能返回结果,可能是因为*记录存在
  17. •如:*.example.com. IN A 172.25.254.254
  18. •注意“.”的使用
  19. •避免CNAME指向CNAME记录,可能产生回环
  20. •est.example.com. IN CNAME lab.example.com.
  21. •lab.example.com. IN CNAME test.example.com.
  22. •正确配置PTR记录,许多服务依赖PTR,如sshd,MTA
  23. •正确配置轮询round-robin记录

转载于:https://blog.51cto.com/9019400/2383531

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/189917
推荐阅读
相关标签
  

闽ICP备14008679号