当前位置: 首页 > news >正文

湖南大型网站建设公司排名/今日时政新闻

湖南大型网站建设公司排名,今日时政新闻,建设局网站授权委托书,网页设计与制作教程 刘瑞新主要内容: DNS服务基础及搭建、特殊解析(针对地址库文件:DNS轮询 DNS泛域名解析 DNS别名)、缓存DNS(全局转发forwarders)、DNS递归迭代(子域授权)、DNS主从架构搭建、DNS主从数据同步 一、DNS工…

主要内容:

DNS服务基础及搭建、特殊解析(针对地址库文件:DNS轮询 DNS泛域名解析 DNS别名)、缓存DNS(全局转发forwarders)、DNS递归迭代(子域授权)、DNS主从架构搭建、DNS主从数据同步

一、DNS工作原理

DNS域名解析系统(Domain Name System)

介绍:域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程,域名的解析工作由DNS服务器完成。

功能:

  • 正向解析:根据注册的域名查找其对应的IP地址;
  • 反向解析:根据IP地址查找对应的注册域名,不常用;

DNS服务器分类:

根域名服务器(权威DNS仅13台)、一级DNS服务器、二级DNS服务器、三级DNS服务器

DNS的分布式结构(大型,分布式的互联网DNS解析库)

根域名:即域名结尾的点(DNS域名默认会补全结尾的【.】)

例如:  www.qq.com —>  www.qq.com.

补充:根域名服务器负责专门维护结尾的点;

常见的顶级/一级域名:

  • ① 国家/地区域:.cn .us .kr .hk .tw ...
  • ② 组织域:.com .net .edu .org .gov .mil ...

FQDN完全合格主机名(Full Qualified Domain Name)

完全合格主机名 = 站点名.注册域名后缀

例如:站点名. .. .二级域.一级域.

DNS域名管理(了解)

IANA互联网数字分配机构(Internet Assigned Numbers Authority)

  • 整个域名系统的最高权威机构
  • 主管DNS根、.int、.arpa等国际化域名资源

CNNIC中国互联网络信息中心(China Internet Network Information Center)

  • 主管国家顶级域.cn

域名代理/注册/购买服务商

  • 新网,http://www.xinnet.com
  • 万网,http://www.net.cn
  • 中国互联,http://hulian.top

二、BIND服务分析

BIND(Berkeley Internet Name Domain)是一种开源的域名系统(DNS)软件,用于将域名转换为IP地址,从而实现互联网上的主机名解析。BIND由加州大学伯克利分校开发,现在由Internet Systems Consortium(ISC)维护和开发。

BIND服务的主要功能包括:

  1. 域名解析:BIND将人类可读的域名(如www.example.com)转换为计算机可理解的IP地址(如192.0.2.1),这是互联网通信的基础。

  2. 权威名称服务器:BIND可以配置为权威名称服务器,负责特定域名的解析。权威名称服务器存储并提供特定域名的DNS记录。

  3. 递归名称服务器:BIND也可以配置为递归名称服务器,为客户端提供完整的域名解析服务。递归服务器会代表客户端查询其他DNS服务器,直到找到所需的IP地址。

  4. 缓存名称服务器:BIND可以缓存查询结果,以提高后续相同查询的响应速度,减少网络流量。

BIND的工作原理基于客户端-服务器模型:

  • DNS客户端:通常是操作系统或应用程序,发送DNS查询请求。
  • DNS服务器:运行BIND软件的计算机,接收并处理DNS查询请求,返回相应的IP地址或其他DNS记录。

BIND支持多种配置选项和安全特性,如DNSSEC(DNS Security Extensions),用于增强DNS的安全性,防止DNS欺骗和缓存投毒等攻击。

1)BIND服务器端程序

  • 主要执行程序:/usr/sbin/named
  • 系统服务:named
  • 所需软件包:bind(主程序)、bind-chroot(提供牢笼政策,安全,监控bind程序)
  • 默认端口:TCP/UDP 53
  • 运行时的虚拟根环境:/var/named/chroot

2)DNS配置文件

  1. 主配置文件:/etc/named.conf     //设置负责解析的域名(需要提前备份)
  2. 地址库文件:/var/named/..     //完全合格的主机名与IP地址对应关系

注意:主配置文件的3种注释方法:[ // ]或[ /* 内容 */ ]或[ # ]

注意:每一个[ {}; 及 ;]分号后面严禁多空格,但空行可以

注意:每一个[ {}; ]成对出现

3)/etc/named.conf主配置文件

全局配置部分,设置监听地址/端口、地址库存放位置等

关键信息解析:

[Directory]   定义地址库文件的默认存放路径

注意:allow-query{any;};中的any,代表任何人查询,该条记录不加也默认全部

注意:listen-on port 53 { any; };可以使本机所有地址可以响应,删除该条记录后,没有指定则默认允许所有地址监听53端口;

区域配置部分,定义DNS区域、类型、地址文件路径等

关键信息解析:

[Zone]   定义解析域名区域

[IN]  表示Internet

[Type]  类型:master(主)或slave(从)

[File]   指定地址库文件(建议文件名:解析域名开头.zone结尾)

4)地址库文件(默认在/var/named/下)

建立地址库文件条件:

① 保证named用户对地址库文件有读取权限

② 所有的域名都要以点作为结尾,如果没有以点作为结尾,那么默认补全主配置文件负责的域名;

全局TTL配置项及SOA记录:

  • $TTL(Time To Live生存时间)
  • SOA(Start Of Authority授权信息开始)
  • 分号”;”开始的部分表示注释

关键信息解析:

[NS]   域名服务器(Name Server)记录

[A]   地址(Address)记录,仅用于正向解析区域(ipv4地址解析记录)

[AAAA]   地址(Address)记录,ipv6地址解析记录

5)检查配置语法

① 检测主配置文件是否正确(仅供参考)

命令:named-checkconf 主配置文件(/etc/named.conf)

[root@svr7 ~]# named-checkconf /etc/named.conf

如图:

② 检测地址库文件是否正确(仅供参考)

命令:named-checkzone 解析域名 地址库文件

[root@svr7 ~]# named-checkzone tedu.cn /var/named/tedu.cn.zone
zone tedu.cn/IN: loaded serial 0
OK

如图:

6)软件包bind-utils提供以下域名查询工具 :

① 使用Host测试命令,指定DNS地址

命令:host 查询域名或IP地址 [DNS服务器地址]

② nslookup域名解析测试

命令:nslookup 查询域名或IP地址 [DNS服务器地址]

③ dig深度挖掘查询工具

命令:dig 查询域名或IP地址 [@DNS服务器地址] [-t 资源类型]

示例:构建DNS服务器  

步骤1:安装软件包

[root@svr7 ~]# yum -y install bind bind-chroot.x86_64
[root@svr7 ~]# rpm -q bind bind-chroot
bind-9.9.4-61.el7.x86_64
bind-chroot-9.9.4-61.el7.x86_64

步骤2:备份DNS的主配置文件

[root@svr7 ~]# cp /etc/named.conf /root/     //备份主配置文件

步骤3:修改主配置文件内容

[root@svr7 ~]# cat /etc/named.conf      //查看主配置文件原内容
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.htmloptions {
listen-on port 53 { 127.0.0.1; };      //监听端口53和本机的IPv4地址
listen-on-v6 port 53 { ::1; };          //监听端口53和本机的IPv6地址
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";
allow-query     { localhost; };     //允许本机参与/*- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.- If you are building a RECURSIVE (caching) DNS server, you need to enablerecursion.- If your recursive DNS server has a public IP address, you MUST enable accesscontrol to limit queries to your legitimate users. Failing to do so willcause your server to become part of large scale DNS amplificationattacks. Implementing BCP38 within your network would greatlyreduce such attack surface
*/
recursion yes;dnssec-enable yes;     //安全的DNS配置
dnssec-validation yes;/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";managed-keys-directory "/var/named/dynamic";pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};logging {channel default_debug {file "data/named.run";severity dynamic;};
};zone "." IN {
type hint;
file "named.ca";
};include "/etc/named.rfc1912.zones";       //Include可调用其它配置文件
include "/etc/named.root.key";

删除并保留关键配置信息:

[root@svr7 ~]# vim /etc/named.conf
options {directory       "/var/named";
};
zone "." IN {type hint;    //hint针对于根域名file "named.ca";
};

 修改相关关键配置:

options {directory       "/var/named";     //定义地址库文件默认存放路径
};
zone "tedu.cn" IN {           //定义负责的解析tedu.cn域名(定义正向区域)type master;          //权威主DNS服务器(区域类型为主DNS)file "tedu.cn.zone";    //地址库文件
};

步骤4:通过复制named.localhost模板,建立地址库文件

[root@svr7 ~]# cd /var/named/
[root@svr7 named]# ls
chroot  dynamic   named.empty      named.loopback
data    named.ca  named.localhost  slaves
[root@svr7 named]# cp named.localhost tedu.cn.zone      //错误方式
[root@svr7 named]# ls -l tedu.cn.zone
-rw-r-----. 1 root root 152 3月  17 10:59 tedu.cn.zone
注意:DNS服务需要以named身份运行,不能Root权限运行,假设DNS被攻击,权限太大后果严重,且named不属于属主root,属组root,其他人也没有r权限[root@svr7 ~]# id named     //自动生成用户
uid=25(named) gid=25(named) 组=25(named)
[root@svr7 named]# ls -l named.localhost       //权限为640,属组named
-rw-r-----. 1 root named 152 6月  21 2007 named.localhost
[root@svr7 named]# ls -l /etc/named.conf       //权限为640,属组named
-rw-r-----. 1 root named 498 3月  17 10:54 /etc/named.conf[root@svr7 named]# cp -p named.localhost tedu.cn.zone    //保持权限进行复制
cp:是否覆盖"tedu.cn.zone"? yes
[root@svr7 named]# ls -l tedu.cn.zone
-rw-r-----. 1 root named 152 6月  21 2007 tedu.cn.zone

注意1:地址库文件的命名,必须按照/etc/named.conf主配置文件中指定的地址库文件修改;

注意2:DNS软件包安装后会自动生成named 用户,所有的DNS运行会以named身份运行,且所有相关的配置文件权限为640,属组都为named,在此情况下建议修改新建的地址库文件的属组,使其有r权限;补充:cp -p保持权限和归属关系不变进行复制

步骤5:修改地址库文件

[root@svr7 ~]# cat /var/named/tedu.cn.zone     //查看地址库文件内容
$TTL 1D      //$TTL(Time To Live生存时间)
@ IN SOA @ rname.invalid. (      //SOA(Start Of Authority授权信息开始)0 ; serial       //分号”;”开始的部分表示注释1D ; refresh1H ; retry1W ; expire3H ) ; minimum
NS @        //NS,域名服务器(Name Server)记录
A 127.0.0.1   //A,ipv4地址解析记录
AAAA ::1       //AAAA,ipv6地址解析记录

修改相关关键配置:

[root@svr7 ~]# vim /var/named/tedu.cn.zone
$TTL 1D
@ IN SOA @ rname.invalid. (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum
tedu.cn.    NS svr7     //建议写主机名svr7.tedu.cn(保证上下一致)
svr7     A 192.168.4.7     //svr7解析结果为192.168.4.7
www      A   1.1.1.1
ftp      A   2.2.2.2

解释:tedu.cn域名区域 — NS名字服务器声明 — 由svr7.tedu.cn负责

  • 注意1:NS前面的域名区域可以空白不写,因主配置文件zone已定义【tedu.cn】,所以在地址库文件的域名区域位置会自动补全tedu.cn.
  • 注意2:地址库文件要求完全合格主机名,所以必须要以[ . ]点结尾(例如:tedu.cn.),若不加点,会按照主配置文件定义自动补全tedu.cn.,一般建议只需写站点名即可;
  • 注意3:由上NS声明记录,至下A正向解析记录(NS记录必须在A记录前面)
  • 注意4:主配置文件要求域名区域不能以【.】结尾,地址库文件要求必须以【.】结尾(默认补全);

步骤6:检测主配置文件和地址库文件是否正确

[root@svr7 ~]# named-checkconf /etc/named.conf     //无输出则无错误
[root@svr7 ~]# named-checkzone tedu.cn /var/named/tedu.cn.zone
zone tedu.cn/IN: loaded serial 0
OK

步骤7:重启服务

[root@svr7 ~]# systemctl restart named

步骤8:服务验证(主机A或主机B都可以,都需要修改/etc/resolv.conf)

[root@svr7 ~]# echo nameserver 192.168.4.7 > /etc/resolv.conf  //指定DNS解析
[root@svr7 ~]# cat /etc/resolv.conf
nameserver 192.168.4.7[root@svr7 ~]# nslookup svr7.tedu.cn      //nslookup域名解析测试
Server: 192.168.4.7     //来自192.192.168.4.7回应
Address: 192.168.4.7#53     //53端口
Name: svr7.tedu.cn
Address: 192.168.4.7[root@svr7 ~]# nslookup www.tedu.cn
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: www.tedu.cn
Address: 1.1.1.1[root@svr7 ~]# nslookup ftp.tedu.cn
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: ftp.tedu.cn
Address: 2.2.2.2

常见报错:超时报错

  • 原因1:未配置/etc/resolv.conf或找不到指定解析的DNS服务器,则将解析请求指向127.0.0.1去解析,如果本机不是DNS则解析超时;
  • 原因2:地址库文件权限不足
  • 原因3:防火墙与SELinux限制
[root@svr7 ~]# nslookup ftp.tedu.cn
;; connection timed out; no servers could be reached
  • 补充:nslookup测试解析时,默认先查看/etc/resolv.conf里是否有指定的DNS服务器可以去进行解析测试;当/etc/resolv.conf没有指定使用的DNS服务器,则尝试将请求给回本机127.0.0.1,假如本机是一台DNS服务器,则由本机进行解析,如果本机不是DNS服务器,则回复超时;
  • 补充:/etc/hosts文件为本地解析(没有DNS情况下使用),相比/etc/resolv.conf文件,优先级最高

常见报错:拷贝到地址库权限不足(cp -p)

[root@svr7 named]# nslookup www.lol.cn
Server:		192.168.4.7
Address:	192.168.4.7#53** server can't find www.lol.cn: SERVFAIL

常见报错:检查地址库配置语法时,输入的区域不存在则报错

[root@svr7 named]# named-checkzone lol22.com lol.cn.zone 
lol.cn.zone:8: ignoring out-of-zone data (lol.cn)
zone lol.com/IN: has no NS records
zone lol.com/IN: not loaded due to errors.

常见报错:has no NS reords.. 地址库文件的域名没有加根域名[ . ]

[root@svr7 named]# named-checkzone lol22.com lol.cn.zone 
lol.cn.zone:8: ignoring out-of-zone data (lol.cn)
zone lol.com/IN: has no NS records
zone lol.com/IN: not loaded due to errors.

解决办法:

[root@svr7 ~]# vim /var/named/tedu.cn.zone
gz.tedu.cn.      NS      pc207
pc207   A       192.168.4.207
www     A       14.14.14.14

DNS查询测试

方法1:

[root@pc207 ~]# host www.lol.com 192.168.4.207
Using domain server:
Name: 192.168.4.207
Address: 192.168.4.207#53
Aliases:
www.lol.com has address 11.12.13.14

方法2:

[root@pc207 ~]# nslookup www.lol.com 192.168.4.207
Server: 192.168.4.207
Address: 192.168.4.207#53
Name: www.lol.com
Address: 11.12.13.14

总结:快速搭建DNS服务器基本思路

  1. 安装软件包bind、bind-chroot
  2. 备份并修改主配置文件/etc/named.conf
  3. 复制模板并建立地址库文件/var/name/.. ..
  4. 检测主配置文件、地址库文件语法是否错误named-checkconf、namd-checkzone
  5. 重启服务named
  6. 检测DNS解析nslookup

案例:多区域域名解析(在主配置文件中,每新增一个zone,则对应一个地址库文件)

[root@svr7 ~]# vim /etc/named.conf     //修改主配置文件
options {directory       "/var/named";
};
zone "tedu.cn" IN {type master;file "tedu.cn.zone";
};
zone "lol.com" IN {          //新增加一个解析区域type master;file "lol.com.zone";
};[root@svr7 ~]# cd /var/named/
[root@svr7 named]# cp -p tedu.cn.zone lol.com.zone   //复制地址库文件
[root@svr7 named]# vim lol.com.zone   //建立地址库文件
$TTL 1D
@       IN SOA  @ rname.invalid. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimum
lol.com.        NS      svr7    //NS声明记录
svr7    A       192.168.4.7
www     A       4.4.4.4     //正向解析记录
vip     A       5.5.5.5[root@svr7 named]# named-checkconf /etc/named.conf    //检查配置语法
[root@svr7 named]# named-checkzone lol.com /var/named/lol.com.zone
zone lol.com/IN: loaded serial 0
OK
[root@svr7 named]# systemctl restart named   //重启服务[root@svr7 ~]# echo nameserver 192.168.4.7 > /etc/resolv.conf
[root@svr7 ~]# cat /etc/resolv.conf
nameserver 192.168.4.7[root@svr7 ~]# nslookup svr7.lol.com
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: svr7.lol.com
Address: 192.168.4.7

注意:主配置文件里,不同的域名不能共用同一个地址库文件

三、特殊解析(针对地址库文件)

1)DNS轮询

基于DNS的站点负载均衡,一个域名对应多个不同解析IP,每个IP提供镜像服务内容;

补充:生产环境中不会用该方式进行负载均衡(了解)

例如:

[root@svr7 ~]# vim /var/named/lol.com.zone
[root@svr7 ~]# cat /var/named/lol.com.zone
...
lol.com. NS svr7
svr7    A       192.168.4.7
www     A       192.168.4.10      //站点名相同,解析的IP地址不同
www     A       192.168.4.20
www     A       192.168.4.30
...
[root@svr7 ~]# systemctl restart named
[root@svr7 ~]# nslookup www.lol.com
Server: 192.168.4.7
Address: 192.168.4.7#53Name: www.lol.com
Address: 192.168.4.20
Name: www.lol.com
Address: 192.168.4.30
Name: www.lol.com
Address: 192.168.4.10[root@svr7 ~]# ping www.lol.com
PING www.lol.com (192.168.4.20) 56(84) bytes of data.
...
[root@svr7 ~]# ping www.lol.com
PING www.lol.com (192.168.4.30) 56(84) bytes of data.
...
[root@svr7 ~]# ping www.lol.com
PING www.lol.com (192.168.4.10) 56(84) bytes of data.
...

2)DNS泛域名解析

匹配本域内未定义的任何主机地址,可以直接以[ * ]条目匹配,一般只用在正向区域文件中(最低优先级匹配,即使输入站点名错误,也可匹配)

例如:

[root@svr7 ~]# vim /var/named/tedu.cn.zone
...
tedu.cn. NS svr7
svr7 A 192.168.4.7
...
*       A       6.6.6.6       //注意[ * ]不代表通配符,表示任意站点名
tedu.cn. A      7.7.7.7
[root@svr7 ~]# systemctl restart httpd[root@svr7 ~]# nslookup sss.tedu.cn       //输入不存在或未定义站点名
Server: 192.168.4.7
Address: 192.168.4.7#53Name: sss.tedu.cn
Address: 6.6.6.6[root@svr7 ~]# nslookup tedu.cn     //不写完整合格域名也可匹配(例如qq.com不写www)
Server: 192.168.4.7
Address: 192.168.4.7#53Name: tedu.cn
Address: 7.7.7.7

3)DNS的解析记录的别名

[CNAME]  解析记录的别名,解析结果与已存在的记录解析结果一致

注意:解析记录必须是已存在的

例如:

[root@svr7 ~]# vim /var/named/tedu.cn.zone
...
tedu.cn. NS svr7
svr7 A 192.168.4.7
...
ftp     A       2.2.2.2
vip     CNAME   ftp      //解析结果与ftp一致
[root@svr7 ~]# systemctl restart named
[root@svr7 ~]# nslookup vip.tedu.cn
Server: 192.168.4.7
Address: 192.168.4.7#53vip.tedu.cn canonical name = ftp.tedu.cn.
Name: ftp.tedu.cn
Address: 2.2.2.2

四、递归/迭代查询(递归/迭代解析)

  • 递归查询:客户端发送请求给首选DNS服务器,首选DNS服务器与其他的DNS服务器交互,最终将解析结果带回来过程;
  • 迭代查询: 客户端发送请求给首选DNS服务器,首选DNS服务器告知下一个DNS服务器地址;

DNS查询的工作方式:(经历一次递归,多次迭代)

例如:

  • 主机1构建DNS服务器负责tedu.cn
  • 主机2构建DNS服务器负责bj.tedu.cn

条件:主机1需要与主机2能够正常通行

[root@pc207 ~]# yum -y install  bind  bind-chroot
[root@pc207 ~]# vim /etc/named.conf
options {directory       "/var/named";
};
zone "bj.tedu.cn" IN {type master;file "bj.tedu.cn.zone";
};[root@pc207 ~]# cd /var/named/
[root@pc207 ~]# cp -p named.localhost bj.tedu.cn.zone
[root@pc207 ~]# vim bj.tedu.cn.zone
...
bj.tedu.cn.     NS   pc207
pc207         A    192.168.4.207
www          A    9.9.9.9[root@pc207 ~]# systemctl restart named[root@pc207 ~]# nslookup www.bj.tedu.cn 192.168.4.7  //nslookup支持指定DNS服务器地址
Server:   192.168.4.7
Address:  192.168.4.7#53
** server can’t find www.bj.tedu.cn: NXDOMAIN

补充:由于想让DNS主机1去解析主机2的bj.tedu.cn,在未做子域授权情况下,主机1是无法解析主机2的域名,需要进行子域授权。

  • 主机1:子域授权
[root@svr7 /]# vim /var/named/tedu.cn.zone
tedu.cn.    NS    svr7
bj.tedu.cn.  NS    pc207     //增加主机2的NS说明记录
svr7        A    192.168.4.7
pc207       A      192.168.4.207     //增加主机2的解析记录
www         A      192.168.4.20
ftp         A      2.2.2.2
*           A      4.4.4.4
tedu.cn.    A      5.5.5.5
vip        CNAME  ftp
[root@svr7 /]# systemctl restart named
  •  主机2:测试
[root@pc207 /]# nslookup   www.bj.tedu.cn      192.168.4.7
Server:         192.168.4.7
Address:        192.168.4.7#53Non-authoritative answer:    //非权威解答(不是主机1的回答)
Name:   www.bj.tedu.cn
Address: 9.9.9.9

1)开启/禁用递归

命令:[ recursion yes; ]  开启递归(递归查询默认开启)

命令:[ recursion no; ]  禁用递归

2)验证迭代查询

使用dig命令,更专业的DNS测试工具

由软件包 bind-utils 提供

格式:dig @DNS服务器 目标地址

五、缓存DNS概述

作用:缓存解析结果,加快访问,也可做访问限制;全球公共的缓存DNS:8.8.8.8、114.114.114.114

 - 主用适用环境:互联网出口带宽较低的企业局域网络、IPS服务商的公共DNS服务器

缓存DNS结构特点:

  1. 在内网中搭建本地的缓存DNS服务器,无需访问外网缓存DNS服务器
  2. 本地的缓存DNS服务器转发指定的公共DNS服务器,把解析结果反馈客户端,并把解析结果记录在本地的内存,提高查询访问速度,重启后缓存数据丢失(类似递归)

注意:缓存DNS可以有区域配置和地址库文件,也可没有区域配置和地址库文件,有则专门进行解析了,没有则递归指定的DNS服务器解析。

解析记录来源:

方式1:全局转发,将请求转发给指定的公共DNS(其他缓存DNS),请求递归服务;

方式2:根域迭代,依次向根、一级、二级...域的DNS服务器迭代

六、全局转发式缓存

基本配置步骤:

1.建立named.conf主配置文件

命令:[ forwarders { 公共DNS; }; ]    转发器

2.重启named服务

3.验证缓存DNS服务器

例如:(主机A不做任何操作,只针对主机B操作)

[root@pc207 ~]# vim /etc/named.conf     //只保留全局配置,删除区域配置
options {directory "/var/named";forwarders {192.168.4.7; };      //转发给192.168.4.7
};
[root@pc207 ~]# systemctl restart named     //重启服务[root@pc207 ~]# nslookup www.lol.com 192.168.4.207  //指定4.207,转发给4.7解析
Server: 192.168.4.207
Address: 192.168.4.207#53Non-authoritative answer:        //非权威解答(转发给4.7解析了)
Name: www.lol.com
Address: 1.1.1.1

七、DNS主/从架构概述

作用:提高可靠性,从DNS服务器备份主DNS服务器的数据

① 主域名服务器

  • 特定DNS区域的官方服务器,具有唯一性;
  • 负责维护该区域内所有的“域名IP地址”记录;

② 从域名服务器

  • 也称为辅助域名服务器(可以没有)
  • 其维护的“域名地址”记录取决于主域名服务器

案例环境:

  • 主DNS服务器的IP地址为192.168.4.7/24
  • 从DNS服务器的IP地址为192.168.4.207/24
  • 其中任何一台都能提供lol.com域的主机查询,返回相同的解析结果

— 建立主DNS服务器:

步骤1:添加访问控制

- 在主配置文件,授权从DNS服务器,允许其下载地址记录

[root@svr7 ~]# man named.conf    //可参考man帮助
[root@svr7 ~]# vim /etc/named.conf
options {directory "/var/named";allow-transfer { 192.168.4.207; };   //允许进行传输数据(未授权主机将不能作为从DNS)
};
zone "tedu.cn" IN {type master;file "tedu.cn.zone";
};
zone "lol.com" IN {type master;file "lol.com.zone";
};

注意:allow-transfer { 192.168.4.207; }; 需要注意必须有空格

步骤2:调整主DNS的解析记录

- 在地址库文件,设置主、从NS记录,并提供相应的A记录

[root@svr7 ~]# vim /var/named/lol.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum
lol.com. NS svr7
lol.com. NS pc207    //增加从DNS服务器的NS声明
svr7    A       192.168.4.7
pc207   A       192.168.4.207
www     A       4.4.4.4
vip     A       5.5.5.5
[root@svr7 ~]# systemctl restart named

 步骤3:测试主DNS服务器

[root@svr7 ~]# nslookup pc207.lol.com
Server: 192.168.4.7
Address: 192.168.4.7#53Name: pc207.lol.com
Address: 192.168.4.207

— 建立从DNS服务器:

步骤1:安装软件包

[root@pc207 ~]# yum -y install bind bind-chroot.x86_64
[root@pc207 ~]# ls /var/named/
chroot  dynamic   named.empty      named.loopback
data    named.ca  named.localhost  slaves
[root@pc207 ~]# ls -ld /var/named/slaves/
drwxrwx---. 2 named named 6 4月  13 2018 /var/named/slaves/

补充:由于地址库文件默认存放在/var/named/目录下,而该目录对DNS的生成用户named只有r权限,需要wx权限,才能将主DNS下载的地址库文件保存;slave目录为主从配置准备,默认770权限

步骤2:从DNS的区域定义

[root@pc207 ~]# vim /etc/named.conf
options {directory "/var/named";
};
zone "lol.com" IN {type slave;       //区域类型为从服务器file "/var/named/slaves/lol.com.slave";    //指定地址库文件(确保named用户有读写执行权限)masters { 192.168.4.7; };     //指定主DNS服务器masterfile-format text;        //地址库文件明文存储(不加此项,地址库文件为加密)
};
  • 补充:从服务器根据指定的192.168.4.7即主服务器,请求并下载lol.com的地址库文件,命名为file指定的地址库文件名(不建议于主服务器地址库同名),因为是从服务器,建议命名为.salve结尾的文件;
  • 补充:因无rwx权限,无法存放在/var/named目录,需指定存放目录/var/named/slaves/;
  • 补充:可写相对路径salve/lol.com.salve

注意:指定主服务器的字段是:masters,type类型是master

步骤3:重启服务

[root@pc207 ~]# ls /var/named/slaves/     //显示为空
[root@pc207 ~]# systemctl restart named   //重启从DNS服务
[root@pc207 ~]# ls /var/named/slaves/     //找到主DNS把相应的地址库文件进行下载
lol.com.slave

步骤4:验证服务

[root@pc207 ~]# vim  /etc/resolv.conf    //指定DNS解析IP
nameserver 192.168.4.7
nameserver 192.168.4.207[root@pc207 ~]# nslookup pc207.lol.com
Server: 192.168.4.7
Address: 192.168.4.7#53Name: pc207.lol.com
Address: 192.168.4.207

常见问题:若不在/etc/resolv.conf增加DNS解析IP,则由本机DNS进行解析

[root@pc207 ~]# nslookup pc207.lol.com
Server: 127.0.0.1
Address: 127.0.0.1#53Name: pc207.lol.com
Address: 192.168.4.207

补充:/etc/resolv.conf  最多写3条

八、DNS主从数据同步

主机1:(主DNS服务器)

[root@svr7 /]# vim /var/named/lol.com.zone
...2021031701     ; serial   //数据的版本号,由10个数字组成1D      ; refresh   //每隔1天主从进行数据交互1H      ; retry     //失效之后的时间间隔每一个1小时1W      ; expire    //真正的失效时间,1周3H )    ; minimum   //失效记录的记忆时间3小时
lol.com.    NS   svr7
lol.com.    NS   pc207
svr7          A     192.168.4.7
pc207       A     192.168.4.207         
www         A     11.12.13.14      //修改记录
[root@svr7 /]# systemctl restart named

主机2:(从DNS服务器)

[root@pc207 /]# nslookup www.lol.com 192.168.4.207
Server: 192.168.4.207
Address: 192.168.4.207#53Name: www.lol.com
Address: 11.12.13.14

补充:数据的版本号 数字越大越新

注意:数据版本更新,都要在主DNS服务器操作,否则导致服务失败

扩展:DNS记录类型介绍

1)NS记录

NS记录 NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。 您注册域名时,总有默认的DNS服务器,每个注册的域名都是由一个DNS域名服务器来进行解析的,DNS服务器NS记录地址一般以以下的形式出现: ns1.domain.com、ns2.domain.com等。 简单的说,NS记录是指定由哪个DNS服务器解析你的域名

2)A记录

A记录 A(Address)记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置域名的子域名。通俗来说A记录就是服务器的IP,域名绑定A记录就是告诉DNS,当你输入域名的时候给你引导向设置在DNS的A记录所对应的服务器。 简单的说,A记录是指定域名对应的IP地址

3)MX记录

MX记录 MX(Mail Exchanger)记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。例如,当Internet上的某用户要发一封信给 user@mydomain.com 时,该用户的邮件系统通过DNS查找mydomain.com这个域名的MX记录,如果MX记录存在, 用户计算机就将邮件发送到MX记录所指定的邮件服务器上

4)CHAME记录(—>DNS的解析记录的别名)

CNAME记录 CNAME(Canonical Name )别名记录,允许您将多个名字映射到同一台计算机。通常用于同时提供WWW和MAIL服务的计算机。例如,有一台计算机名为 “host.mydomain.com”(A记录),它同时提供WWW和MAIL服务,为了便于用户访问服务。可以为该计算机设置两个别名(CNAME):WWW和MAIL, 这两个别名的全称就“www.mydomain.com”和“mail.mydomain.com”,实际上他们都指向 “host.mydomain.com”

扩展:/etc/hosts 和 /etc/resolv.conf

1)/etc/hosts文件(负责ip地址与域名快速解析的文件)

用途:将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址;(不同的linux版本,文件名也可能不同,比如Debian的对应文件是/etc/hostname)

hosts文件包含了ip地址和主机名之间的映射,包括主机名的别名,在没有域名服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的ip地址,否则就需要使用DNS服务程序来解决;通常可以将常用的域名和ip地址映射加入到hosts文件中,实现快速方便的访问

2)优先级:dns缓存 > hosts > dns服务 

3)/etc/resolv.conf文件(可以提供DNS服务器域名和IP地址,帮助解析)

用途:/etc/resolv.conf是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序。该文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件。

/etc/resolv.conf文件的关键字

  • - nameserver    //定义DNS服务器的IP地址
  • - domain       //定义本地域名
  • - search        //定义域名的搜索列表
  • - sortlist        //对返回的域名进行排序

小结:

本篇章节为 【第一阶段】SERVICES-DAY2 的学习笔记,可以初步了解到 DNS服务基础及搭建、特殊解析(针对地址库文件:DNS轮询 DNS泛域名解析 DNS别名)、缓存DNS(全局转发forwarders)、DNS递归迭代(子域授权)、DNS主从架构搭建、DNS主从数据同步。除此之外推荐参考相关学习网址:

  • 什么是 DNS_DNS如何工作_权威性DNS服务器 | Cloudflare 中国官网 | Cloudflare

Tip:毕竟两个人的智慧大于一个人的智慧,如果你不理解本章节的内容或需要相关笔记、视频,可私信小安,请不要害羞和回避,可以向他人请教,花点时间直到你真正的理解

相关文章:

Linux云计算 |【第一阶段】SERVICES-DAY2

主要内容: DNS服务基础及搭建、特殊解析(针对地址库文件:DNS轮询 DNS泛域名解析 DNS别名)、缓存DNS(全局转发forwarders)、DNS递归迭代(子域授权)、DNS主从架构搭建、DNS主从数据同步 一、DNS工…...

el-upload照片墙自定义上传多张图片(手动一次性上传多张图片)包含图片回显,删除

需求:el-upload照片墙自定义上传多张图片(手动一次性上传多张图片)包含图片回显,删除,预览,在网上看了很多,都没有说怎么把数据转为file格式的,找了很久最终实现, 难点&a…...

三星Unpacked发布会即将举行:有新款折叠屏手机,还有智能戒指

随着7月的脚步渐近,科技界的目光再次聚焦于三星,它即将在法国巴黎举办今年的第二场Unpacked发布会。这不仅是一场新品的展示,更是三星对创新科技的一次深刻诠释。 从Galaxy Z Fold 6的全新设计,到Galaxy Z Flip 6的显著升级&…...

【Python】Matplotlib简要教程

文章目录 一、简介二、一些基本概念2.1 图表元素2.2 常见图表类型2.3 主要绘图函数及其返回值2.4 Artists 的概念 三、基本图表详解3.1 成对数据3.11 折线图:plot()🟨设置图表样式🟨设置各种标签🟨设置坐标轴🟨绘制子图…...

数驭未来,景联文科技构建高质大模型数据库

国内应用层面的需求推动AI产业的加速发展。根据IDC数据预测,预计2026年中国人工智能软件及应用市场规模会达到211亿美元。 数据、算法、算力是AI发展的驱动力,其中数据是AI发展的基石,中国的数据规模增长速度预期将领跑全球。 2024年《政府工…...

视频汇聚平台EasyCVR启动出现报错“cannot open shared object file”的原因排查与解决

安防视频监控EasyCVR安防监控视频系统采用先进的网络传输技术,支持高清视频的接入和传输,能够满足大规模、高并发的远程监控需求。EasyCVR平台支持多种视频流的外部分发,如RTMP、RTSP、HTTP-FLV、WebSocket-FLV、HLS、WebRTC、fmp4等&#xf…...

VMware 安装完,设备管理器中没有虚拟网卡(vmnet0、wmnet1、vmnet8) / 虚拟网络编辑器中没有桥接模式

问题:VMware 安装完,设备管理器中没有虚拟网卡(vmnet0、wmnet1、vmnet8) / 虚拟网络编辑器中没有桥接模式 1、确认 Device Install Service 和 Device Setup Manager 没有被禁用 Device Install Service 和 Device Setup Manager是 Windows 操作系统中…...

构建高效Node.js中间层:探索请求合并转发的艺术

🎉 博客主页:【剑九 六千里-CSDN博客】 🎨 上一篇文章:【CSS盒模型:掌握网页布局的核心】 🎠 系列专栏:【面试题-八股系列】 💖 感谢大家点赞👍收藏⭐评论✍ 引言&#x…...

中断和EXIT原理介绍

中断和EXIT原理介绍 一、中断的介绍?二、EXIT的介绍1.EXIT作用2.EXIT的详情3.EXIT中AFIO复用的作用4.STM32中AFIO复用作用 一、中断的介绍? 二、EXIT的介绍 EXTI(Extern Interrupt)外部中断 1.EXIT作用 EXTI可以监测指定GPIO口…...

vcpkg或者命令行需要设置代理时如何设置

当使用命令行或者vcpkg时,有时候需要设置代理来下载一些代码,那么可以这样: 本地先起一个http或者socks5的代理服务器。监听127.0.0.1:10808如果本地是http代理服务器,在命令行执行: set http_proxyhttp://127.0.0.1:…...

tensorflow安装及数据操作----学习笔记(一)

安装Miniconda 下载对应系统版本的Miniconda。我的系统是ubuntu,所以选择Miniconda3 Linux 64-bit。下载后执行下载的sh脚本 sh Miniconda3-latest-Linux-x86_64.sh -b执行后,运行conda初始化命令 ~/miniconda3/bin/conda init关闭当前命令终端&#…...

顺序表和单链表的经典算法题

目录 前言 一、基础思想(数组) 1. 移除元素 2.删除有序元素的重复项 3.合并两个有序数组 二、单链表算法 1.移除链表元素 2.翻转链表 3.合并两个有序的链表 前言 Hello,小伙伴们,今天我们来做一个往期知识的回顾,今天我将…...

python基础知识点(蓝桥杯python科目个人复习计划71)

做些简单题 第一题:确定字符串是否包含唯一字符 题目描述: 实现一个算法来识别一个字符串的字符是否是唯一的。 若唯一输出YES,否则输出NO。 输入描述: 输入一个字符串,长度不超过100. 输出描述; 输出一行&…...

【大数据专题】Flink题库

1 . 简述什么是Apache Flink ? Apache Flink 是一个开源的基于流的有状态计算框架。它是分布式地执行的,具备低延迟、高吞吐的优秀性能,并且非常擅长处理有状态的复杂计算逻辑场景 2 . 简述Flink 的核心概念 ? Flink 的核心概念…...

Python鲁汶意外莱顿复杂图拓扑分解算法

🎯要点 🎯算法池化和最佳分区搜索:🖊网格搜索 | 🖊发现算法池 | 🖊返回指定图的最佳划分 | 🖊返回指定图的最佳分区 | 🎯适应度和聚类比较功能:🖊图的划分 |…...

【C++】类和对象之继承

目录 继承的概念和定义 继承的概念 继承的定义 继承的定义格式 继承关系和访问限定符 继承基类成员访问方式的变化 访问权限实例 基类和派生类对象赋值转换 继承中的作用域 派生类的默认成员函数 继承与友元 继承与静态成员 复杂的菱形继承及菱形虚拟继承 继承的…...

如何在LlamaIndex中使用RAG?

如何在LlamaIndex中使用RAG 什么是 Llama-Index LlamaIndex 是一个数据框架,用于帮助基于 LLM 的应用程序摄取、构建结构和访问私有或特定领域的数据。 如何使用 Llama-Index ? 基本用法是一个五步流程,将我们从原始、非结构化数据导向基于该数据生成…...

css气泡背景特效

css气泡背景特效https://www.bootstrapmb.com/item/14879 要创建一个CSS气泡背景特效,你可以使用CSS的伪元素(:before 和 :after)、border-radius 属性来创建圆形或椭圆形的“气泡”,以及background 和 animation 属性来设置背景…...

7.23模拟赛总结 [数据结构优化dp] + [神奇建图]

目录 复盘题解T2T4 复盘 浅复盘下吧… 7:40 开题 看 T1 ,起初以为和以前某道题有点像,子序列划分,注意到状态数很少,搜出来所有状态然后 dp,然后发现这个 T1 和那个毛关系没有 浏览了一下,感觉 T2 题面…...

MySQL-视 图

视 图 创建视图 视图是从一个或者几个基本表(或视图)导出的表。它与基 本表不同,是一个虚表。 语法: create view 视图名 【view_xxx/v_xxx】 说明: • view_name 自己定义的视图名; • as 后面是这…...

PHP SimpleXML

PHP SimpleXML PHP的SimpleXML扩展提供了一个非常方便的方式来处理XML数据。它是PHP内置的,因此不需要安装额外的库。SimpleXML可以将XML数据转换成对象,使得操作XML变得简单直观。本文将详细介绍SimpleXML的使用方法,包括加载XML、访问和修…...

【Spring Boot 自定义配置项详解】

文章目录 一、配置文件1. properties配置1.1 创建配置文件1.2 添加配置项1.3 在应用中使用配置项1.4 多环境配置 2. YAML配置2.1 创建配置文件2.2 添加配置项2.3 在应用中使用配置项2.4 多环境配置 二、自定义配置类1. 创建配置类2. 使用配置类 一、配置文件 Spring Boot支持多…...

电机相位接线错误导致的潜在问题

交流电机有两种基本类型:单相和三相。一般来说,单相交流电机通常用于家用电器等住宅应用,而三相交流电机则用于工业应用。这主要是因为大多数家庭使用单相电源,而大多数工业场所使用三相电源。 鉴于这两种不同的电源方案&#xf…...

react中如何mock数据

1.需求说明 因为前后端分离开发项目,就会存在前端静态页面写好了,后端数据接口还没写好;这时候前端就需要自己定义数据来使用。 定义数据有三种方式:直接写死数据、使用mock软件、json-server工具 这里讲解通过json-server工具…...

通过Faiss和DINOv2进行场景识别

目标:通过Faiss和DINOv2进行场景识别,确保输入的照片和注册的图片,保持内容一致。 MetaAI 通过开源 DINOv2,在计算机视觉领域取得了一个显着的里程碑,这是一个在包含1.42 亿张图像的令人印象深刻的数据集上训练的模型…...

新手入门基础Java

一:基础语法 1.Java的运行机制 2. Java基本语法 1.注释、标识符、关键字; 2.数据类型(四类八种) 3.类型转换 1.自动转换;2.强制转换; 4.常量和变量 1.常量;2.变量; 3.变量的作用域 5.运算符 1.算数运算符;2.赋值运算符;3.关系运算符; 4.逻辑运算符;5.自…...

2024最新版虚拟便携空调小程序源码 支持流量主切换空调型号

产品截图 部分源代码展示 urls.js Object.defineProperty(exports, "__esModule", {value: !0 }), exports.default ["9c5f1fa582bee88300ffb7e28dce8b68_3188_128_128.png", "E-116154b04e91de689fb1c4ae99266dff_960.svg", "573eee719…...

前端在浏览器总报错,且获取请求头中token的值为null

前端请求总是失败说受跨域请求影响,但前后端配置已经没有问题了,如下: package com.example.shop_manage_sys.config;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Conf…...

html+css前端作业 王者荣耀官网6个页面无js

htmlcss前端作业 王者荣耀官网6个页面无js 下载地址 https://download.csdn.net/download/qq_42431718/89571150 目录1 目录2 项目视频 王者荣耀6个页面(无js) 页面1 页面2 页面3 页面4 页面5 页面6...

在windows上使用Docker部署一个简易的web程序

使用Docker部署一个python的web服务🚀 由于是从事算法相关工作,之前在项目中,需要将写完的代码服务,部署在docker上,以此是开始接触了Docker这个工具,由于之前也没系统学习过,之后应该可能还会用…...