Linux之DNS域名解析服务

news2024/11/26 0:48:21

目录

Linux之DNS域名解析服务

概述

产生原因

作用

连接方式

因特网的域名结构

拓扑

分类

域名服务器类型

​编辑 

DNS域名解析过程

分类

解析图

搭建DNS域名解析服务器

概述

安装软件

bind服务中三个关键文件

主配置文件分析

一般需要修改三部分:

区域配置文件

正向解析资源文件

反向解析资源文件

案例

        案例1 --- 正向解析        

准备工作

DNS配置

​编辑

        案例2 --- 反向解析 

准备工作

DNS配置

部署DNS从服务器

作用

案例 --- 主从服务器

完全区域传送


Linux之DNS域名解析服务

概述

产生原因

        IP 地址 --- 是互联网上计算机唯一的逻辑地址,通过 IP 地址实现不同计算机之间的相互通信,每台联网计算机都需要通过 IP 地址来互相联系和分别,但由于 IP 地址是由一串容易混淆的数字串构成,人们很难记忆所有计算机的 IP 地址,这样对于我们日常工作生活访问不同网站是很困难的。

        基于这种背景,人们在 IP 地址的基础上又发展出了一种更易识别的符号化标识,这种标识由人们自行选择的字母和数字构成,相比 IP 地址更易被识别和记忆,逐渐代替 IP 地址成为互联网用户进行访问互联的主要入口。这种符号化标识就是域名

        域名虽然更易被用户所接受和使用,但计算机只能识别纯数字构成的 IP 地址,不能直接读取域名。因此要想达到访问效果,就需要将域名翻译成 IP 地址。而 DNS 域名解析承担的就是这种翻译效果

作用

        DNS(Domain Name System)是互联网上的一项服务,用于将域名和IP地址进行相互映射,使人更方便的访问互联网

        正向解析 --- 域名->IP

        反向解析 --- IP->域名

连接方式

        DNS使用53端口监听网络

        查看方法 --- DNS默认以UDP这个较快速的数据传输协议来查询,但没有查询到完整的信息时,就会再次以TCP协议重新查询则启动DNS时,会同时启动TCP以及UDP的port53

因特网的域名结构

拓扑

        由于因特网的用户数量较多,则因特网命名时采用层次树状结构的命名方法

        域名(domain name) --- 任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名称

        域(domain) --- 是名字空间中一个可被管理的划分结构

注意:

        域名只是逻辑概念,并不代表计算机所在的物理地点

分类

        国家顶级域名 --- 采用ISO3166的规定,如:cn代表中国,us代表美国,uk代表英国,等等。国家域名又常记为CCTLD(country code top-level domains,cc表示国家代码contry-code)

通用顶级域
com公司企业
net网络服务机构
org非营利组织
int国际组织
gov美国的政府部门
mil美国的军事部门

        基础结构域名(infrastructure domain) --- 这种顶级域名只有一个,即arpa,用于反向域名解析,因此称为反向域名

域名服务器类型

组织结构

 

        根域名服务器 --- 最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。本地域名服务器要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助根域名服务器。则根域名服务器是最重要的域名服务器。假定所有的根域名服务器都瘫痪了,那么整个DNS系统就无法工作。所以根域名服务器并不直接把待查询的域名直接解析出IP地址,而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询

        顶级域名服务器 --- 负责管理在该顶级域名服务器注册的二级域名

        权限域名服务器 --- 负责一个“区”的域名服务器

        本地域名服务器 --- 本地域名服务器不属于域名服务器的层次结构,当主机发出DNS查询时,这个查询报文就发送给本地域名服务器

为了提高域名服务器的可靠性,DNS域名服务器都把数据复制到几个域名服务器来保存

        主服务器 --- 在特定区域内具有唯一性,负责维护该区域内的域名与 IP 地址之间的对应关系(真正干活的)

        从服务器 --- 从主服务器中获得域名与 IP 地址的对应关系并进行维护,以防主服务器宕机等情况(打下手的)

        缓存服务器 --- 通过向其他域名解析服务器查询获得域名与 IP 地址的对应关系,并将经常查询的域名信息保存到服务器本地,以此来提高重复查询时的效率,一般部署在企业内网的网关位置,用于加速用户的域名查询请求

DNS域名解析过程

分类

        递归解析 --- DNS服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。如果DNS服务器本地没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结果提交给用户

        迭代解析(反复)--- DNS服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台DNS服务器的地址,用户再向这台DNS服务器提交请求,依次反复,直到返回查询结果

解析图

过程分析:

        第一步 --- 在浏览器中输入www.163.com 域名,本地电脑会检查浏览器缓存中有没有这个域名对应的解析过的 IP 地址,如果缓存中有,这个解析过程就结束。

注意:

        浏览器缓存域名也是有限制的,不仅浏览器缓存大小有限制,而且缓存的时间也有限制,通常情况下为几分钟到几小时不等,域名被缓存的时间限制可以通过 TTL 属性来设置。这个缓存时间太长和太短都不太好,如果时间太长,一旦域名被解析到的 IP 有变化,会导致被客户端缓存的域名无法解析到变化后的 IP 地址,以致该域名不能正常解析,这段时间内有一部分用户无法访问网站。如果设置时间太短,会导致用户每次访问网站都要重新解析一次域名

        第二步 --- 如果浏览器缓存中没有数据,浏览器会查找操作系统缓存中是否有这个域名对应的 DNS 解析结果。其实操作系统也有一个[域名解析]的过程,在 Linux 中可以通过 /etc/hosts 文件来设置,而在 windows 中可以通过配置 C:\Windows\System32\drivers\etc\hosts 文件来设置,用户可以将任何域名解析到任何能够访问的 IP 地址。例如,我们在测试时可以将一个域名解析到一台测试服务器上,这样不用修改任何代码就能测试到单独服务器上的代码的业务逻辑是否正确。正是因为有这种本地 DNS 解析的规程,所以有黑客就可能通过修改用户的域名来把特定的域名解析到他指定的 IP 地址上,导致这些域名被劫持

        第三步 --- 前两步是在本地电脑上完成的,若无法解析时,就要用到我们网络配置中的 "DNS 服务器地址" 了。操作系统会把这个域名发送给这个本地 DNS 服务器。每个完整的内网通常都会配置本地 DNS 服务器,例如用户是在学校或工作单位接入互联网,那么用户的本地 DNS 服务器肯定在学校或工作单位里面。它们一般都会缓存域名解析结果,当然缓存时间是受到域名的失效时间控制的。大约 80% 的域名解析到这里就结束了,后续的 DNS 迭代和递归也是由本地 DNS 服务器负责

        第四步 --- 如果本地 DNS 服务器仍然没有命中,就直接到根 DNS 服务器请求解析

        第五步 --- 根 DNS 服务器返回给本地 DNS 域名服务器一个顶级 DNS 服务器地址,它是国际顶级域名服务器,如. com、.cn、.org 等,全球只有 13 台左右

        第六步 --- 本地 DNS 服务器再向上一步获得的顶级 DNS 服务器发送解析请求

        第七步 ---接受请求的顶级 DNS 服务器查找并返回此域名对应的 Name Server 域名服务器的地址,这个 Name Server 服务器就是我要访问的网站域名提供商的服务器,其实该域名的解析任务就是由域名提供商的服务器来完成。 比如我要访问 www.baidu.com,而这个域名是从 A 公司注册获得的,那么 A 公司上的服务器就会有 www.baidu.com 的相关信息

        第八步 --- 返回该域名对应的 IP 和 TTL 值,本地 DNS 服务器会缓存这个域名和 IP 的对应关系,缓存时间由 TTL 值控制

        第九步 --- Name Server 服务器收到查询请求后再其数据库中进行查询,找到映射关系后将其IP地址返回给本地DNS服务器

        第十步 --- 本地DNS服务器把解析的结果返回给本地电脑,本地电脑根据 TTL 值缓存在本地系统缓存中,域名解析过程结束在实际的 DNS 解析过程中,可能还不止这 10 步,如 Name Server 可能有很多级,或者有一个 GTM 来负载均衡控制,这都有可能会影响域名解析过程

注意:

        从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间使用的交互查询就是迭代查询

        114.114.114.114国内移动、电信和联通通用的DNS,手机和电脑端都可以使用,干净无广告,解析成功率相对来说更高,国内用户使用的比较多,而且速度相对快、稳定,是国内用户上网常用的DNS。

        223.5.5.5223.6.6.6阿里提供的免费域名解析服务器地址

        8.8.8.8GOOGLE公司提供的DNS,该地址是全球通用的,相对来说,更适合国外以及访问国外网站的用户使用

搭建DNS域名解析服务器

概述

        BIND --- Berkeley Internet Name Domain ,伯克利因特网域名解析服务是一种全球使用最广泛的、最高效的、最安全的域名解析服务程序

安装软件

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

bind服务中三个关键文件

        /etc/named.conf  --- 主配置文件,共59行,去除注释和空行之和有效行数仅30行左右,用于设置bind服务程序的运行

        /etc/named.rfc1912.zones --- 区域配置文件(zone),用于保存域名IP地址对应关系文件的所在位置,类似于图书目录,当需要修改域名与IP映射关系时需要在此文件中查找相关文件位置

        /var/named 目录 --- 数据配置文件目录,该目录存储保存域名和IP地址映射关系的数据文件

主配置文件分析

主配置文件共4部分组成

        options{}

        logging{}

        zone{}

        include

常用参数

[root@localhost ~]# vim /etc/named.conf 
options {  # 全局参数设置
        listen-on port 53 { 127.0.0.1; }; # 重要,监听允许访问的ip与端口,可以使用IP地址、网段、所有主机(any)
        listen-on-v6 port 53 { ::1; };# 重要,监听允许访问的ipV6与端口
        directory       "/var/named";  # DNS数据目录位置,默认即可
        dump-file       "/var/named/data/cache_dump.db"; # 默认缓存文件位置,默认即可
        statistics-file "/var/named/data/named_stats.txt"; # DNS状态文件保存文件,默认即可
        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     { localhost; };  # 重要,表示允许那些客户端进行访问,可以书写IP地址、网段、所有主机(any)
        recursion yes;   # 重要,允许递归查询,若删除则为迭代查询

        dnssec-validation yes; # 开启加密,默认即可

        managed-keys-directory "/var/named/dynamic";  # 指定目录中文件保存位置,用于管理密钥(DNSSEC)

        pid-file "/run/named/named.pid"; # pid文件保存路径,默认即可
        session-keyfile "/run/named/session.key"; # 会话密钥存储路径,自动生成,默认即可
   
   
logging {  # 指定日志记录的分类及其存储目录
        channel default_debug {   # 设置日志输出方式
                file "data/named.run";  # 产生日志信息文件的位置
                severity dynamic;   # 日志级别
        };
};

zone "." IN {    # zone 表示区域, "." 表示根,此处设置DNS根服务器的相关内容
        type hint;    # 表示服务器的类型为根
        file "named.ca";  # 用于保存dns根服务器信息的文件,存储路径/var/named/named.ca,一共有13台ipv4和13台ipv6根服务器信息
};

include "/etc/named.rfc1912.zones";  # 表示当前DNS服务器的区域配置文件位置
include "/etc/named.root.key";   # 密钥存储文件位置

一般需要修改三部分:

  • listen-on port 53 { 127.0.0.1; } --- 即监听ip及端口

  • allow-query { localhost; } --- 允许那些客户端访问

  • recursion yes --- 是否开启递归查询

区域配置文件

作用

        /etc/named.rfc1912.zones文件为bind服务程序的区域配置文件,用来保存域名与IP地址映射关系文件的位置,是一系列功能模板的集合

正向解析

[root@localhost ~]# vim /etc/named.rfc1912.zones 
zone "localhost.localdomain" IN {  # 正向解析域名
        type master; # 服务类型:master表示主服务器,slave表示从服务器,hint根服务器
        file "named.localhost";  # 域名与IP地址规则文件存储位置
        allow-update { none; };  # 允许那些客户端动态更新本机域名解析
};

# allow-update:允许更新解析库内容,一般关闭
# allow-query: 允许查询的主机,白名单
# allow-tranfter : 允许同步的主机,白名单,常用
# allow-recursion: 允许递归的主机

反向解析

zone "1.0.0.127.in-addr.arpa" IN { # 表示127.0.0.1的反向解析配置,IP地址需要倒置书写,只需书写网段即可
        type master;  
        file "named.loopback";  # 反向解析的规则文件保存位置
        allow-update { none; };
};

正向解析资源文件

[root@localhost ~]# vim /var/named/named.localhost 

$TTL 1D  # 设置生存周期时间,为1天,$表示宏定义
@       IN SOA  @ rname.invalid. (
# @ :表示zone域,现在表示域名,如baidu.com
# IN SOA : 授权信息开始
# rname.invalid. : 域名管理员的邮箱(不能使用@,使用点替代邮件分隔符@)
                                     0       ; serial  # 序列号,10位以内的整数
                                     1D      ; refresh # 更新频率为1天
                                     1H      ; retry   # 失败重试时间为1小时
                                     1W      ; expire  # 失效时间1周
                                     3H )    ; minimum # 缓存时间为3小时
		IN	NS	ns.域名.


ns		IN	A	域名解析服务器IP地址
www		IN	A   域名解析服务器IP地址
bbs		IN	A   域名解析服务器IP地址
mail	IN	A   域名解析服务器IP地址

# A:表示IPv4地址, AAAA表示IPv6地址

注意:

        推荐对该模板文件进行局部修改

域名解析记录分析

        A记录 --- A 代表 Address,用来指定域名对应的 IP 地址,如将 item.taobao.com 指定到 115.238.23.xxx,将 switch.taobao.com 指定到 121.14.24.xxx

        MX记录 --- Mail Exchange,就是可以将某个域名下的邮件服务器指向自己的 Mail Server,如 taobao.com 域名的 A 记录 IP 地址是 115.238.25.xxx,如果将 MX 记录设置为 115.238.25.xxx,即 xxx@taobao.com 的邮件路由,DNS 会将邮件发送到 115.238.25.xxx 所在的服务器,而正常通过 Web 请求的话仍然解析到 A 记录的 IP 地址

        NS记录 --- 为某个域名指定 DNS 解析服务器,也就是这个域名由指定的 IP 地址的 DNS 服务器取解析

        CNAME 记录 --- Canonical Name,即别名解析。所谓别名解析就是可以为一个域名设置一个或者多个别名,如将 aaa.com 解析到 bbb.net、将 ccc.com 也解析到 bbb.net,其中 bbb.net 分别是 aaa.com 和 ccc.com 的别名

        TXT 记录 ---为某个主机名或域名设置说明,如可以为 ddd.net 设置 TXT 记录为 "这是 XXX 的博客" 这样的说明

反向解析资源文件

[root@localhost ~]# vim /var/named/named.loopback 
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum

IN		 NS       ns.域名.   # 域名服务器记录,注意结尾的点
ns		 IN	  A   域名解析服务器的IP地址
IP地址	PTR      域名.   # PTR 指针记录,用于反向解析

案例

        案例1 --- 正向解析        

服务器IP客户端IP网址
192.168.149.128192.168.149.137www.joker1.com

准备工作

#关闭selinux与filewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld

#服务端server安装DNS软件
[root@localhost ~]# yum install bind -y

# 服务端设置静态IP地址
[root@localhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.149.128/24 ipv4.gateway 192.168.149.2 ipv4.dns 114.114.114.114
[root@localhost ~]# nmcli c reload
[root@localhost ~]# nmcli c up ens160 

# 客户端设置静态IP地址
[root@localhost ~]# nmcli c modify ens33 ipv4.method manual ipv4.addresses 192.168.149.137/24 ipv4.gateway 192.168.149.2 ipv4.dns 114.114.114.114
[root@localhost ~]# nmcli c reload 
[root@localhost ~]# nmcli c up ens33 

DNS配置

        第一步:服务端操作,编辑DNS主配置文件

[root@localhost ~]# vim /etc/named.conf 
       listen-on port 53 { any; };   # 监听所有主机的53端口

        allow-query     { any; }; # 允许所有客户端连接

        第二步:服务端操作,编辑区域配置文件,可以选择一个模板修改,也可以全部清空重新输入

[root@localhost ~]# vim /etc/named.rfc1912.zones 
zone "joker1.com" IN {    #区域名为joker1
        type master;
        file "joker1.com.zone";    #数据配置文件文件名为joker.com.zone
        allow-update { none; };
};

        第三步:服务端操作,编辑数据配置文件,使用拷贝命令将正向解析数据配置文件的模板一份,在修改局部

[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -a named.localhost joker1.com.zone     # 拷贝数据配置文件
[root@localhost named]# ls
data     joker1.com.zone  named.empty      named.loopback
dynamic  named.ca         named.localhost  slaves
[root@localhost named]# vim joker1.com.zone     # 修改为:
$TTL 1D
joker1.com.    IN SOA  ns.joker1.com.  andy.joker1.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
joker1.com.            IN      NS      ns.joker1.com.
ns.joker1.com.         IN      A       192.168.149.128
www.joker1.com.        IN      A       192.168.149.128
bbs.joker1.com.        IN      A       192.168.149.128
ftp.joker1.com.        IN      A       192.168.149.128
www1.joker1.com.       IN      CNAME   www.joker1.com.

        第四步:重启服务

[root@localhost named]# systemctl restart named

        第五步:测试 --- 将客户端node1的网卡配置文件中DNS解析的地址修改为server端的IP地址,以后客户端node1的DNS申请交由服务端处理

#在客户端进行操作
[root@localhost ~]# vim /etc/NetworkManager/system-connections/ens33.nmconnection
[ipv4]
address1=192.168.149.137/24,192.168.48.2
dns=192.168.149.128;
method=manual

[root@localhost ~]# nmcli c reload # 重载配置文件
[root@localhost ~]# nmcli c up ens33 # 激活
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/6)

#客户端测试
[root@localhost ~]# nslookup
[root@localhost ~]# nslookup 
> www.joker1.com

> bbs.joker1.com

> www1.joker1.com

>  # ctrl+d退出交互模式

[root@localhost ~]# nslookup www.joker1.com

[root@localhost ~]# host www.joker1.com

[root@localhost ~]# dig 192.168.149.128 www.joker1.com

        案例2 --- 反向解析 

服务器IP客户端IP网址
192.168.149.128192.168.149.137www.joker1.com

准备工作

#关闭selinux与filewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld

#服务端server安装DNS软件
[root@localhost ~]# yum install bind -y

# 服务端设置静态IP地址
[root@localhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.149.128/24 ipv4.gateway 192.168.149.2 ipv4.dns 114.114.114.114
[root@localhost ~]# nmcli c reload
[root@localhost ~]# nmcli c up ens160 

# 客户端设置静态IP地址
[root@localhost ~]# nmcli c modify ens33 ipv4.method manual ipv4.addresses 192.168.149.137/24 ipv4.gateway 192.168.149.2 ipv4.dns 192.168.149.128
[root@localhost ~]# nmcli c reload 
[root@localhost ~]# nmcli c up ens33 

DNS配置

        第一步:服务端操作,编辑主配置文件

[root@localhost ~]# vim /etc/named.conf 
       listen-on port 53 { any; };   # 监听所有主机的53端口

       allow-query     { any; }; # 允许所有客户端连接

        第二步:辑区域配置文件,选择反向解析模版修改,注意 --- IP地址需要反向书写,且不写主机号

[root@localhost named]# vim /etc/named.rfc1912.zones 
zone "149.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.149.arpa";
        allow-update { none; };
};

# IP地址反向书写,只需书写网段号,再加上固定的扩展名.in-addr.arpa即可

        第三步: 服务端操作,编辑数据配置文件,复制一份反向解析模版(named.loopback),在修改局部参数

[root@localhost /]# cd /var/named/
[root@localhost named]# cp -a named.loopback 192.168.149.arpa
[root@localhost named]# vim 192.168.149.arpa
$TTL 1D
@       IN SOA  ns.joker2.com.  admin.joker2.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ns.joker2.com.
130     IN      PTR     ns.joker2.com.
130     IN      PTR     www.joker2.com.
130     IN      PTR     bbs.joker2.com.

        第四步:服务端操作,重启服务

[root@localhost named]# systemctl restart named

        第五步:客户端操作,测试

[root@localhost ~]# nslookup  192.168.149.128
128.149.168.192.in-addr.arpa	name = ns.joker2.com.
128.149.168.192.in-addr.arpa	name = bbs.joker2.com.
128.149.168.192.in-addr.arpa	name = www.joker2.com.

部署DNS从服务器

作用

        DNS作为重要的互联网基础设施服务,保证 DNS 域名解析服务的正常运转至关重要,只有这样才能提供稳定、快速且不间断的域名查询服务

        DNS域名解析服务中,从服务器可以从主服务器上获取指定的区域数据文件,从而起到备份解析记录与负载均衡的作用,因此通过部署从服务器可以减轻主服务器的负载压力,还可以提升用户的查询效率

注意 

  • 时间同步必须保持一致性

  • bind最好使用同一版本

案例 --- 主从服务器

完全区域传送

  • 一个区域文件复制到多个从服务器上的过程称为区域传送

  • 主服务器的所有信息全部复制到从服务器中,称为完全区域传送,即复制整个区域文件

实验说明

设备IP系统
主服务器192.168.48.128RHEL8.5
从服务器192.168.48.130RHEL8.5

第一步:两个主机恢复快照,安装软件,设置静态IP

#主服务器server主机操作
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.149.128/24 ipv4.gateway 192.168.149.2 ipv4.dns 192.168.149.128 
[root@localhost ~]# nmcli c up ens160 
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)

#从服务器操作
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.149.130/24 ipv4.gateway 192.168.149.2 ipv4.dns 192.168.149.130
[root@localhost ~]# nmcli c up ens160 

第二步:主服务端server操作,设置主配置文件

[root@localhost ~]# vim /etc/named.conf 
		listen-on port 53 { any; };

        allow-query     { any; };

第三步:主服务端server操作,设置区域配置文件

[root@localhost ~]# vim /etc/named.rfc1912.zones 
zone "joker2.com" IN {    # 设置正向解析
        type master;
        file "joker2.com.zone";
        allow-update { 192.168.149.130; };
};

# 重点:改为allow-transfer { 从服务器IP地址; } 

zone "149.168.192.in-addr.arpa" IN {    # 设置反向解析
        type master;
        file "192.168.149.arpa";
        allow-update { 192.168.149.131; };
};

 第四步:主服务端操作,设置正反向解析的数据配置文件

[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -a named.localhost joker2.com.zone
[root@localhost named]# vim joker2.com.zone 
$TTL 1D
@       IN SOA  ns.joker2.com.  jenny.joker2.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                NS      ns.joker2.com.
                NS      slave.joker2.com.      # 增加从服务器的NS记录
ns      IN      A       192.168.48.128
www     IN      A       192.168.48.128
ftp     IN      A       192.168.48.128
slave   IN      A       192.168.48.130         # 增加从服务器的A记录

[root@localhost named]# pwd
/var/named
[root@localhost named]# cp -a named.loopback 192.168.149.arpa
[root@localhost named]# vim 192.168.149.arpa 
# 反向解析
$TTL 1D
@       IN SOA  ns.joker2.com.   jenny.joker2.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                NS      ns.joker2.com.
                NS      slave.joker2.com.
130     IN      PTR     www.joker2.com.
130     IN      PTR     ftp.joker2.com.
131     IN      PTR     slave.joker2.com.

第五步:主服务端操作,重启服务

[root@localhost named]# systemctl start named

第六步:从服务器端操作,修改主配置文件

[root@localhost ~]# vim /etc/named.conf 
 		listen-on port 53 { any; };

        allow-query     { any; };

第七步:从服务器端操作,修改区域配置文件,注意:此服务类型为slave(从)

zone "joker2.com" IN {
        type slave;    # 类型修改为从
        file "slaves/joker2.com.zone";     # 数据配置文件必须为slaves目录下
        masters { 192.168.149.128; };    # 增加主服务端的IP地址
};

zone "149.168.192.in-addr.arpa" IN {
        type slave;
        file "slaves/192.168.149.arpa";
        masters { 192.168.149.130; };
};

第八步:从服务器端操作,重启服务,注意:当从服务器端重启后,会拉取文件

[root@localhost /]# cd /var/named/
[root@localhost named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@localhost named]# ls slaves/
[root@localhost named]# systemctl start named
[root@localhost named]# ls slaves/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/980306.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ubuntu 20.04 设置 authorized_keys 让 VS Code ssh 远程免密连接

相关文章 VSCode SSH 连接远程ubuntu Linux 主机 前言 前面记录了 VS Code 可以通过 SSH 远程连接 ubuntu Linux 主机,比如代码放在远程 ubuntu 主机上, windows 端 VS Code 通过 ssh 远程连接 ubuntu,并打开 远程主机上的 代码 如果不设置…

手游折扣平台app排行,打折手游平台排行

随着手游市场的不断发展,出现了越来越多的手游折扣平台。在这些平台中,有些提供各种各样的手机游戏,并提供丰厚的福利。本文将向您介绍手游折扣平台app排行,打折手游平台排行。对于目前的游戏来说,无非是哪里玩更划算&…

Eclipse安装及配置tomcat

1.Eclipse安装 1.java -version检查一下有没有jdk 如没有则下载 下载路径:https://www.oracle.com/java/technologies/javase-jdk8-downloads.html 2.Eclipse下载链接:https://www.eclipse.org/downloads/ 3.安装完之后就启动你会看见一个欢迎页面&am…

网络电视盒子哪个好?数码老贾横评整理电视盒子推荐

大家好,我是老贾,今天测评的主题是网络电视盒子哪个好,为让结果更加真实客观,我购入了市面上最热销的12款电视盒子,花费14天时间详细对比芯片、内存、用料、系统、广告等等方面,最终整理了五款表现最佳的电…

摘要-签名-PKI-访问控制-DOS-欺骗技术

摘要-签名-PKI-访问控制-DOS-欺骗技术 信息摘要数字签名 信息摘要 信息摘要通过哈希函数生成的 信息摘要保证数据的完整性 MD5 和 SHA-1 数字签名 唯一确定发送方 基于非对称加密技术(公钥和私钥技术)

Android Framework——进程间通讯学习,从Binder使用看起

前言 Binder 是安卓中非常重要的进程间通讯工具,通过Binder 安卓在ServiceManager中对外提供了一系列的服务。学习Binder,将很好地为我们学习framework开个好头。 Android 使用多进程 Android 开启进程方式很简单,在AndoridMenifest中给四…

ubuntu server 更改时区:上海

1. 打开终端,在命令行中以超级用户或具有sudo权限的用户身份运行以下命令: sudo dpkg-reconfigure tzdata 这会打开一个对话框,用于选择系统的时区设置。 2. 在对话框中,使用上下箭头键在地区列表中选择"Asia"&#x…

蓝桥杯打卡Day4

文章目录 首字母大写字符串转换整数 一、首字母大写IO链接 本题思路:本题就是语法题 #include <bits/stdc.h>int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cout.tie(nullptr);std::string str;std::getline(std::cin,str);for(int i0;i&…

多态(个人学习笔记黑马学习)

多态分为两类 静态多态: 函数重载和 运算符重载属于静态多态&#xff0c;复用函数名动态多态: 派生类和虚图数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑定 编译阶段确定函数地址动态多态的函数地址晚绑定 运行阶段确定函数地址 1、基本语法 #include &…

IMX6ULL移植篇-uboot源码主要文件说明

一. uboot 源码分析前提 由于 uboot 会使用到一些经过编译才会生成的文件&#xff0c;因此&#xff0c;我们在分析 uboot的时候&#xff0c;需要先编译一下 uboot 源码工程。 这里所用的开发板是 nand-flash 版本。 本文学习续上一篇文章&#xff0c;如下&#xff1a; IMX6U…

zabbix 自动发现

哈喽大家好&#xff0c;我是咸鱼 昨天老大让我初始化一批服务器&#xff0c;吭哧吭哧弄完之后需要把这批机器添加到 zabbix 上去 但是我发现一台一台添加效率好低&#xff0c;而且特别繁琐&#xff0c;当时我没有想出有什么好的方法&#xff0c;今天上网搜了一下相关资料之后…

Android Automotive概述

Android开发者的新赛道 在智能手机行业初兴起时&#xff0c;包括BAT在内许多传统互联网企业都曾布局手机产业&#xff0c;但是随着手机市场的基本定型&#xff0c;造车似乎又成了各大资本下一个追逐的方向。百度、小米先后宣布造车&#xff0c;阿里巴巴则与上汽集团共同投资创…

Camunda 7.x 系列【48】候选用户和用户组

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 2.7.9 本系列Camunda 版本 7.19.0 源码地址:https://gitee.com/pearl-organization/camunda-study-demo 文章目录 1. 概述2. 案例演示1. 概述 在之前的文档中,用户任务都是基于的Assignee设置固定的执行人…

车联网仿真工具Veins学习1

准备条件 假如你是一个小白&#xff0c;先找到相关的参考资料&#xff08;已根据上一篇博客安装好Veins&#xff09;&#xff0c;主要是官方文档和相关的博客&#xff0c;官方提供了一个example&#xff0c;我找到的资料如下&#xff1a; Frequently Asked Questions (FAQ) O…

C++ - 多态的实现原理

前言 本博客主要介绍C 当中 多态语法的实现原理&#xff0c;如果有对 多态语法 有疑问的&#xff0c;请看下面这篇博客&#xff1a; 探究&#xff0c;为什么多态的条件是那样的&#xff08;虚函数表&#xff09; 首先&#xff0c;调用虚函数必须是 父类的 指针或 引用&#xf…

py脚本解决ArcGIS Server服务内存过大的问题

在一台服务器上&#xff0c;使用ArcGIS Server发布地图服务&#xff0c;但是地图服务较多&#xff0c;在发布之后&#xff0c;服务器的内存持续处在95%上下的高位状态&#xff0c;导致服务器运行状态不稳定&#xff0c;经常需要重新启动。重新启动后重新进入这种内存高位的陷阱…

并行和并发的区别

从操作系统的角度来看&#xff0c;线程是CPU分配的最小单位。 并行就是同一时刻&#xff0c;两个线程都在执行。这就要求有两个CPU去分别执行两个线程。并发就是同一时刻&#xff0c;只有一个执行&#xff0c;但是一个时间段内&#xff0c;两个线程都执行了。并发的实现依赖于…

立晶半导体Cubic Lattice Inc 专攻音频ADC,音频DAC,音频CODEC,音频CLASS D等CL7016

概述&#xff1a; CL7016是一款高保真USB Type-C兼容音频编解码芯片。可以录制和回放有24比特音乐和声音。内置回放通路信号动态压缩&#xff0c; 最大42db录音通路增益&#xff0c;PDM数字麦克风&#xff0c;和立体声无需电容耳机驱动放大器。 5V单电源供电。兼容USB 2.0全速工…

三分法,伟大无比的二分法扩展,本节带部分数论问题。

一&#xff0c;引导简介 简单的来看三分法实际就是二分法的另一种扩展&#xff0c;可以完全的看成二分法&#xff0c;我们介绍几个特殊的点&#xff0c;才能使用这个解法来进行相关的算法求解&#xff1a;求解单调性改变的点&#xff0c;在本个区间中只有一个导数为 0 的点&…

基于qt软件的网上聊天室软件

1.服务器: 1).功能: 用于创建一个客户端&#xff0c;通过文本编辑器来获得端口号&#xff0c;根据获得的端口号创建服务器&#xff0c;等待客户端连接 创建成功会提示服务器创建成功 在收到客户端发送的信息时&#xff0c;把这条信息发送给其他所有客户端&#xff0c;实现群…