使用Bind提供的域名解析服务

news2024/9/19 10:37:45

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 

目录

一、DNS域名解析服务

二、安装Bind服务程序

1、正向解析

2、反向解析

三、部署从服务器

四、安全的加密传输

五、部署缓存服务器

六、分离解析技术

致谢


一、DNS域名解析服务

DNS(Domain Name System)域名系统技术;这是一项用于管理和解析域名与IP地址对应关系的技术,就是能够接收用户输入的域名或IP地址,然后自动查找与之匹配(或者说具有映射关系)的IP地址或域名,即将域名解析为IP地址(正向解析),或将IP地址解析为域名(反向解析)。

DNS域名解析服务采用类似目录树的层次结构来记录域名与IP地址之间的对应关系,从而形成一个分布式的数据库系统:

域名一般分为国际域名和国内域名。原则上来讲,域名后缀都有严格的定义,但在实际使用中可以不必严格遵守。常见的域名后缀有.com(商业组织).org(非盈利组织).gov(政府部门).net(教研机构).pub(公共大众).cn(中国国家顶级域名)等。

NDS技术作为互联挖基础设置中重要的一环,为网民提供不简单、稳定且快速的域名查询服务,保证互联网的正常运转,提供了下面三种类型的服务器:

  • 主服务器:在特定区域内具有唯一性,负责维护该区域内的域名或IP地址之间的对应关系
  • 从服务器:从主服务器中获得域名与IP地址的对应关系并进行维护,以防主服务器宕机等情况
  • 缓存服务器:通过向其他域名解析服务器查询获得域名与IP地址的对应关系,并将经常查询的域名信息保存到服务器本地,以此来提高重复查询时的效率

主服务器用于管理域名和IP地址对应关系的真正服务器,从服务器帮助主服务器"打下手";缓存服务器一般部署在企业内网的网关位置,用于加速用户的域名查询请求。

DNS域名解析服务采用分布式的数据结构来存放海量的"区域数据"信息,在执行用户发起的域名查询请求时,具有递归查询迭代查询两种方式。

  • 递归查询:DNS服务器在收到用户发起的请求时,必须像用户返回一个准确的查询信息。如果DNS服务器本地没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结果提交给用户。
  • 迭代查询:DNS服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台DNS服务器的地址,用户再向这台DNS服务器提交请求,依次反复,知道返回查询结果

向DNS服务器发起域名查询请求的流程:

当用户向网络指定的NDS服务器发起一个域名请求时,通常会有本地由此NDS服务器向上级的DNS服务器发送迭代查询请求;再没有就在向上级NDS请求直到获得结果;其中最高级、最权威的根DNS服务总共有13台:

名称管理单位地理位置IP地址
AINTERNIC.NET美国-弗吉尼亚州198.41.0.4
B美国信息科学研究所美国-加利福尼亚州128.9.0.107
CPSINet公司美国-弗吉尼亚州192.33.4.12
D马里兰大学美国马里兰州128.8.10.90
E美国航空航天管理局美国加利福尼亚州192.203.230.10
F英特网软件联盟美国加利福尼亚州192.5.5.241
G美国国防部网络信息中心美国弗吉尼亚州192.112.36.4
H美国陆军研究所美国马里兰州128.63.2.53
IAutonomica公司瑞典-斯德哥尔摩192.36.148.30
JVerSign公司美国-弗吉尼亚州192.58.128.30
KRIPE NCC英国-伦敦193.0.14.129
LIANA美国-弗吉尼亚州199.7.83.42
MWIDE Project日本-东京202.12.27.33

IPv4体系已经不能满足要求,IPv6协议开始普及。

二、安装Bind服务程序

BIND(Berkeley Internet Name Domain,伯克利英特网名称域)服务是全球范围内使用最广泛、最安全可靠且高效的域名解析服务程序。DNS域名解析服务作为互联网基础设施服务,建议在生产环境中安装部署bind服务程序时加上chroot(牢笼机制)扩展包,便有效地限制bind服务程序仅能对自身的配置文件进行操作,以确保整个服务器的安全。

 [root@Linux ~]# yum install bind-chroot

在bind服务程序中有下面这三个比较关键的文件:

  • 主配置文件(/etc/named.conf):而且在去除注释信息和空行之后,实际有效的参数仅有30行左右,这些参数用来定义bind服务程序的运行
  • 区域配置文件(/etc/named.rfc1912.zones):用来保存域名和IP地址对应关系的所在位置。
  • 数据配置文件目录(/var/named):该目录用来保存域名和IP地址真实对应关系的数据配置文件

在Linux系统中,bind服务程序的名称为named;对主配置文件的11行和19行的地址均修改为any,分别表示服务器上的所有IP地址均可提供DNS域名解析服务,以及允许所有人对本服务器发送DNS查询请求。

 [root@Linux ~]# 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.
 //
 ​
 options {
 11  listen-on port 53 { any; };
     listen-on-v6 port 53 { ::1; };
     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";
 19  allow-query     { any; };
 ...

如前所述,bind服务程序的区域配置文件(/etc/named.rfc1912.zones)用来保存域名和IP地址对应关系的所在位置。其定义了域名与IP地址解析规则保存的文件位置以及服务类型等内容,而没有包含具体的域名、IP地址对应关系等信息。服务类型有三种,分别为hint(根区域)、master(主区域),slave(辅助区域),其中常用的master和slave指的就是主服务器和从服务器。其中正向解析参数:

反向解析参数:

下面分别修改文件,可执行named-checkconf命令named-checkzone命令检查配置文件中的错误;

1、正向解析

DNS域名服务中,正向解析是指根据域名(主机名)查找到对应的IP地址

第1步编辑区域配置文件。该文件中默认有了一下参数,旨在让用户有一个参考;修改为下面的信息,也可将信息删除,只保留自己的域名解析信息:

 [root@Linux ~]# vim /etc/named.rfc1912.zones
 zone "linuxprobe.com" IN {
         type master;
         file "linuxprobe.com.zone";
         allow-update {none;};
 };

第2步编辑数据配置文件。从/etc/named目录中复制一份正向解析的模板文件(named.loacalhost),然后把域名和IP地址的对应数据填写数据配置文件中并保存。在复制时加上-a参数以保留原始文件的所有者、所属组、权限等信息;

 [root@Linux ~]# cd /var/named/
 [root@Linux named]# ls -al named.localhost 
 -rw-r----- 1 root named 152 Mar 28 02:33 named.localhost
 [root@Linux named]# cp -a named.localhost linuxprobe.com.zone

保存退出并重启named服务程序;正向解析文件中的参数较多,下面给出简要说明;

 [root@Linux named]# vim linuxprobe.com.zone
 $TTL 1D     # 生存周期为1天
 @   IN SOA      linuxprobe.com root.linuxprobe.com (
     # 授权信息开始 # NDS区域的地址 # 域名管理员的邮箱(不要用@符号)
                     0   ; serial    # 更新序列号
                     1D  ; refresh   # 更新时间
                     1H  ; retry     # 重试延时
                     1W  ; expire    # 失效时间
                     3H )    ; minimum   #无效解析记录的缓存时间
         NS  ns.linuxprobe.com.  # 域名服务器记录
 ns      IN A    10.0.0.2        # 地址记录
 www     IN A    10.0.0.2        # 地址记录
 [root@Linux named]# systemctl restart named
 [root@Linux named]# systemctl enable named
 Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.

解析文件中,除了A记录类型代表将域名指向一个IPv4地址,而AAAA则代表指向IPv6地址,此外还有8种类型:

记录类型作用
A将域名指向一个IPv4地址
CNAME将域名指向另一个域名
AAAA将域名指向一个IPv6地址
NS将子域名指定其他NDS服务器解析
MX将域名指向邮件服务器地址
SRV记录提供特定的服务的服务器
TXT文本内容一般为512字节,常作为反垃圾邮件的SPF记录
CAAVA认证办法机构授权校验
显性URL将域名重定向到另外一个地址
隐性URL与显性URL类型,但是会隐藏真实目标地址

第3步校验解析结果。为了检验,先把Linux系统网卡中的NDS地址参数修改成本机IP地址,如图;nslookup命令用于检测能否从DNS服务器中查询到域名与IP地址的解析记录;

 
 [root@Linux named]# nmcli connection up System_ens33
 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
 [root@Linux named]# nslookup
 > ns.linuxprobe.com
 Server:     10.0.0.2
 Address:    10.0.0.2#53

若解析出的结果不是10.0.0.2,大概率是虚拟机选择了联网模式,由互联网DNS服务器进行了解析。此时去确认服务器信息是否为"Adress: 10.0.0.2#53",即由本地服务器10.0.0.2的53端口号进行解析,不是则重启网卡;

2、反向解析

将用户提交的IP地址解析为对应的域名信息,一般用于对某个IP地址上绑定的所有域名进行整体屏蔽,屏蔽由某些域名发送的垃圾邮件。也可针对某个IP地址进行反向解析,大致判断出有多少个网站运行在上面。购买虚拟主机时,可以使用这一功能验证虚拟机提供商是否有严重的超售问题;

第1步编辑区域配置文件。记住此处定义的数据配置文件名称,还需要在/var/named目录中建立与其对应的同名文件;在定义zone(区域)时应该要把IP地址反写;

 [root@Linux ~]# vim /etc/named.rfc1912.zones 
 zone "linuxprobe.com" IN {
     type master;
     file "linuxprobe.com.zone";
     allow-update {none;};
 };
 ​
 zone "0.0.10.in-addr.arpa" IN {
     type master;
     file "10.0.0.arpa";
     allow-update {none;};
 };

第2步编辑数据配置文件。首先从/var/named目录中复制一份反向解析的模板文件(named.loopback),然后把下面的参数填写到配置文件中。其中IP地址仅需写主机位;

 [root@Linux named]# cd /var/named
 [root@Linux named]# cp -a named.loopback 10.0.0.arpa
 [root@Linux named]# vim 10.0.0.arpa 
 $TTL 1D
 @   IN SOA  linuxprobe.com. root.linuxprobe.com. (
                     0   ; serial
                     1D  ; refresh
                     1H  ; retry
                     1W  ; expire
                     3H )    ; minimum
     NS  ns.linuxprobe.com.
 ns  A   10.0.0.2
 10  PTR ns.linuxprobe.com.
 10  PTR www.linuxprobe.com.
 20  PTR bbs.linuxprobe.com.
 [root@Linux named]# systemctl restart named

第3步检验;与正向解析步骤一致;修改网卡DNS;

[root@Linux named]# nslookup 
> 10.0.0.10
10.0.0.10.in-addr.arpa	name = www.linuxprobe.com.
10.0.0.10.in-addr.arpa	name = ns.linuxprobe.com.
> 10.0.0.20
20.0.0.10.in-addr.arpa	name = bbs.linuxprobe.com.

三、部署从服务器

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

主机名称操作系统IP地址
主服务器RHEL 810.0.0.2
从服务器RHEL 810.0.0.3

第1步在主服务器的区域配置文件中允许该从服务器的更新请求,即修改allow-update{允许更新区域信息的主机地址;参数,然后重启主服务器的DNS服务程序。

[root@Linux ~]# cat /etc/named.rfc1912.zones 
...
zone "linuxprobe.com" IN {
	type master;
	file "linuxprobe.com.zone";
	allow-update { 10.0.0.3;};
};

zone "0.0.10.in-addr.arpa" IN {
	type master;
	file "10.0.0.arpa";
	allow-update { 10.0.0.3;};
};

第2步在主服务器上配置防火墙放行规则,让DNS协议流量可以被顺利传递:

[root@Linux ~]# iptables -F
[root@Linux ~]# firewall-cmd --permanent --zone=public --add-service=dns
success
[root@Linux ~]# firewall-cmd --reload 
success

第3步在从服务器上安装bind-chroot软件包,修改配置文件让从服务器也能够对外提供DNS服务,并且测试与主服务器的网络连通性:

[root@localhost ~]# cat /etc/named.conf
...
options {
	listen-on port 53 { any; };		# 修改此处
	listen-on-v6 port 53 { ::1; };
	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";
	recursing-file  "/var/named/data/named.recursing";
	secroots-file   "/var/named/data/named.secroots";
	allow-query     { any; };	# 修改此处
...

[root@localhost ~]# ping -c 4 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=0.378 ms
...

第4步在从服务器中填写主服务器的IP地址与要抓取的区域信息,然后重启服务。注意此时的服务类型应该是slave(从),而不再是master(主)。masters参数后面应该为主服务器的IP地址,而且fie参数后面定义的是同步数据配置文件后要保存到的位置,稍后可以在该目录内看到同步的文件。

[root@localhost ~]# cat /etc/named.rfc1912.zones 
...
zone "linuxprobe.com" IN {
	type slave;
	masters { 10.0.0.2; };
	file "slaves/linuxprobe.com.zone";
};
zone "0.0.10.in-addr.arpa" IN {
	type slave;
	masters { 10.0.0.2; };
	file "slave/10.0.0.arpa";
};
...

第5步检验解析结果。从服务器的DNS服务程序重启后,一般就已经自动从主服务器上同步了数据配置文件,而且该文件默认会放置在区域配置文件中所定义的目录位置中。

随后修改从服务器的网络参数,把DNS地址参数修改成10.0.0.3,这样即可使用从服务器自身提供的DNS域名解析服务。最后就可以使用nsookup命令顺利看到解析结果了。

[root@localhost ~]# cd /var/named/slaves
[root@localhost slaves]# ls
10.0.0.arpa linuxprobe.com.zone
[root@localhost slaves]# nslookup
> www.linuxprobe.com
Server:			10.0.0.3
Address:		10.0.0.3#53

Name:	www.linuxprobe.com
Address: 10.0.0.2
> 10.0.0.2
10.0.0.2.in-addr.arpa		name = www.linuxprobe.com.

四、安全的加密传输

域名解析服务是互联网基础设施中重要的一环,所有的网络应用都依赖于DNS才能正常运行。

互联网中的绝大多数DNS服务器(超过95%)都是基于BIND域名解析服务搭建的,而bind服务程序为了提供安全的解析服务,已经对TSIG RFC 2845加密机制提供了支持。TSIG主要是利用了密码编码的方式来保护区域信息的传输(Zone Transfer),即TSIG加密机制保证了DNS服务器之间传输域名区域信息的安全性。

前面配置bind服务程序并重启后,即可看到主服务器中获取到的数据配置文件

主机名称操作系统IP地址
主服务器RHEL 810.0.0.2
从服务器RHEL 810.0.0.3
[root@Linux named]# ls -al /var/named/slaves/
total 0
drwxrwx--- 2 named named   6 Mar 28 02:33 .
drwxrwx--T 6 root  named 187 Jul  9 23:00 ..
[root@Linux named]# rm -rf /var/named/slaves/*

第1步在主服务器中生成密钥dnssec-keygen命令用于生成安全的DNS服务密钥,语法:“dnssec-keygen[参数],其常用参数如下:

参数作用
-a指定加密算法,包括RSAMD5(RSA)、RSASHA1、DSA、NSEC3RSASHA1、NSEC3DSA等
-b密钥长度(HMAC-MD5的密钥长度在1~512位之间)
-n密钥的类型(HOST表示与主机相关)

生成一个主机名称为master-slave的128位HMAC-MD5算法的密钥文件。执行后默认在当前目录中生成公钥和私钥文件,把私钥文件中Key参数后面的值记录下来,一会儿要将其写入传输配置文件中。

[root@Linux named]# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST master-slave
Kmaster-slave.+157+48471
[root@Linux named]# ls -l Kmaster-slave.+157+48471.*
-rw------- 1 root root  56 Jul  9 23:18 Kmaster-slave.+157+48471.key
-rw------- 1 root root 165 Jul  9 23:18 Kmaster-slave.+157+48471.private
[root@Linux named]# cat Kmaster-slave.+157+48471.private 
Private-key-format: v1.3
Algorithm: 157 (HMAC_MD5)
Key: uQZRHjbU5ISYXTOahb5Ahg==
Bits: AAA=
Created: 20240709151830
Publish: 20240709151830
Activate: 20240709151830

第2步在主服务器中创建密钥验证文件。进入bind服务程序用于保存配置文件的目录,把刚刚生成的密钥名称、加密算法和私钥加密字符串按照下面格式写入到tansfer.key传输配置文件中。为了安全起见,需要将文件的所属组修改成named,并将文件权限设置得要小一点,然后把该文件做一个硬链接到/etc目录中。

[root@Linux named]# cd /var/named/chroot/etc/
[root@Linux etc]# vim transfer.key
key "master-slave" {
	algorithm hmac-md5;
	secret "uQZRHjbU5ISYXTOahb5Ahg==";
};
[root@Linux etc]# chown root:named transfer.key 
[root@Linux etc]# chmod 640 transfer.key 
[root@Linux etc]# ln transfer.key /etc/transer.key

第3步开启并加载Bind服务的密钥验证功能。首先需要在主服务器的主配置文件中加载密钥验证文件,然后进行设置,使得只允许带有master-slave密钥认证的DNS服务器同步数据配置文件

[root@Linux etc]# vim /etc/named.conf 
...
include "/etc/transfer.key";		# 添加这行

options {
	listen-on port 53 { any; };
	listen-on-v6 port 53 { ::1; };
	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; };
	allow-transfer	{ key master-slave; };		# 添加这行
...
[root@Linux etc]# systemctl restart named

至此,DNS主服务器的TSIG密钥加密传输功能就已经配置完成。此时清空DNS从服务器同步目录中所有的数据配置文件,然后再次重启bind服务程序,这时就已经不能像刚才那样自动获取到数据配置文件了

[root@Linux etc]# rm -rf /var/named/slaves/*
[root@Linux etc]# systemctl restart named
[root@Linux etc]# ls /var/named/slaves/

第4步配置从服务器,使其支持密钥验证。和主服务器的方法大致相同,都需要在bind服务程序的配置文件目录中创建密钥认证文件,设置相应的权限,把该文件做一个硬链接到/etc目录中。

[root@Linux named]# cd /var/named/chroot/etc/
[root@Linux etc]# vim transfer.key
key "master-slave" {
	algorithm hmac-md5;
	secret "uQZRHjbU5ISYXTOahb5Ahg==";
};
[root@Linux etc]# chown root:named transfer.key 
[root@Linux etc]# chmod 640 transfer.key 
[root@Linux etc]# ln transfer.key /etc/transer.key

第5步开启并加载从服务器的密钥验证功能。在主配置文件中加载密钥认证文件,按照指定格式写主服务器的IP地址和密钥名称。注意,密钥名称等参数位置不要太靠前,大约在第51行比较合适,否则bind服务程序会因为没有加载完预设参数而报错:

[root@Linux etc]# vim /etc/named.conf 
//
include "/etc/transfer.key";		# 添加这行
...
server 10.0.0.2
{
	keys { master-slave}
};
zone "." IN {
	type hint;
	file "named.ca"
};
...

第6步DNS从服务器同步域名区域数据。在从服务器上重启bind服务程序,发现能顺利地同步到数据配置文件了。

[root@Linux ~]# systemctl restart named
[root@Linux ~]# ls /var/named/slaves
10.0.0.arpa		linuxprobe.com.zone

第7步再次进行解析验证,功能正常,发现是由10.0.0.3从服务器进行解析的

[root@Linux ~]# nslookup www.linuxprobe.com
Server:			10.0.0.3
Address:		10.0.0.3#53

[root@Linux ~]# nslookup 10.0.0.2
10.0.0.2.in-addr.arpa		name = www.linuxprobe.com.

五、部署缓存服务器

DNS缓存服务器(Caching DNS Server)是一种不负责域名数据维护的DNS服务器。

简单来说,缓存服务器就是把用户经常使用到的域名与lP地址的解析记录保存在主机本地,从而提升下次解效率。实际的应用并不广泛;能否成功还与上级DNS服务器的允许策略有关,了解即可

六、分离解析技术

为了满足海内外读者的需求,可以购买多台服务器并分别部署在全球各地,然后再使用DNS服务的分离解析功能,即可让位于不同地理范围内的读者通过访问相同的网址,而从不同的服务器获取到相同的数据。

例如,按照表13-5所示,分别为处于北京的DNS服务器和处于美国的DNS服务器分配不同的IP地址,然后让国内读者在访问时自动匹配到北京的服务器,而让海外读者自动匹配到美国的服务器,如图13-13所示。

主机名称操作系统IP地址
DNS服务器RHEL 8北京网络:122.71.115.10
美国网络:106.185.25.10
北京用户Windows 10122.71.115.1
海外用户Windows 10106.18525.1

第1步修改bind服务程序的主配置文件,把第11行的监听端口与第19行的允许查询主机修改为any。由于配置的DNS分离解析功能与DNS根服务器配置参数有冲突,所以需要把第52~55行的根域信息删除。

[root@Linux ~]# vim /etc/named.conf
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

# zone "." IN {
#         type hint;
#         file "named.ca";
# };

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

第2步编辑区域配置文件。把区域配置文件中原有的数据清空;

首先使用acl参数分别定义两个变量名称(china与america),当下面需要匹配!P地址时只需写入变量名称即可,这样不仅容易阅读识别,而且也利于修改维护。

难点是理解view参数的作用。它的作用是通过判断用户的IP地址是中国的还是美国的,然后去分别加载不同的数据配置文件(linuxprobe.com.china或linuxprobe.com.america)。这样,当把相应的!P地址分别写入到数据配置文件后,即可实现DNS的分离解析功能。这样一来,当中国的用户访问linuxprobe.com域名时,便会按照linuxprobe.com.china数据配置文件内的IP地址找到对应的服务器。

[root@Linux ~]# vim /etc/named.rfc1912.zones
acl "china" { 122.71.115.0/24; };
acl "america" { 106.185.25.0/24 };
view "china"{
	match-clients { "china"; };
	zone "linuxprobe.com" {
	type master;
	file "linuxprobe.con.china";
	};
};
view "america" {
	match-clients { "america"; };
	zone "linuxprobe.com" {
	type master;
	file "linuxprobe.com.america";
	};
};

第3步建立数据配置文件

[root@Linux ~]# cd /var/named
[root@Linux named]# cp -a named.localhost linuxprobe.com.china
[root@Linux named]# cp -a named.localhost linuxprobe.com.america
[root@Linux named]# vim linuxprobe.com.china
$TTL 1D
@	IN SOA	linuxprobe.com. root.linuxprobe.com. (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
	NS	ns.linuxprobe.com.
ns	A	122.71.115.10
www IN A 122.71.115.15
[root@Linux named]# vim linuxprobe.com.america
$TTL 1D
@	IN SOA	linuxprobe.com. root.linuxprobe.com. (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
	NS	ns.linuxprobe.com.
ns	A	106.185.25.10
www IN A 106.185.25.15

第4步重新启动named服务程序,验证结果。将客户端主机(Windows系统或Linux系统均可)的IP地址分别设置为122.71.115.1与106.185.25.1,将DNS地址分别设置为服务器主机的两个!P地址。这样,当尝试使用nslookup命令解析域名时就能清晰地看到解析结果

致谢

在此,我要对所有为知识共享做出贡献的个人和机构表示最深切的感谢。同时也感谢每一位花时间阅读这篇文章的读者,如果文章中有任何错误,欢迎留言指正。 

学习永无止境,让我们共同进步!!

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

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

相关文章

AI算法19-偏最小二乘法回归算法Partial Least Squares Regression | PLS

偏最小二乘法回归算法简介 算法概述 偏最小二乘法模型可分为偏最小二乘回归模型和偏最小二乘路径模型。其中偏最小二乘回归模型是一种新型的多元统计方法,它集中了主成分分析、典型相关分析和线性回归的特点,特别在解决回归中的共线性问题具有无可比拟…

在JavaScript中,什么是解构赋值(destructuring assignment)?

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介在JavaScript中,什么是解构赋值(destructuring assignment)?1. 引言2. 解构赋值的概念3. 数组解构赋值3.1 基本语法3.2 跳过元素3.3 默认值3.4 交换变量值 4. 对象解构赋值4.1 基本语…

“解锁物流新纪元:深入探索‘沂路畅通‘分布式协作平台“

"解锁物流新纪元:深入探索沂路畅通分布式协作平台" 在21世纪的数字浪潮中,物流行业作为连接生产与消费的关键纽带,其重要性不言而喻。然而,随着市场规模的持续扩大和消费者需求的日益多样化,传统物流模式已…

150个pb网站模板(都是成品网站,上传php空间即可使用),建站必备

一网友提供的150个pb网站模板,其实就是成品网站,上传php空间即可使用,属于建站公司或者建站开发人员必备的资源。 一共150个基于pb的成品网站,基本上都可以找到适应你手头客户需要的一款,简单修改一下即可交活收钱了。…

LinuxShell编程1———shell基础命令

文章目录 前言 一、shell基础知识 1、shell概念 2、Shell的功能 接收:用户命令 调用:相应的应用程序 解释并交给:内核去处理 返还:内核处理结果 3、Shell种类(了解) 3.1、MS-DOS 3.2、Windows的…

图片在线怎样做二维码?制作二维码展示图片的制作方法

图片想要更快捷的分享给其他人展示,除了通过网站平台之外,比如朋友圈、qq空间、微博等方式外,现在很多人也会通过生成二维码的方法,让其他人可以通过扫描二维码查看图片。图片转换二维码的好处有很多,比如可以节省空间…

【C++航海王:追寻罗杰的编程之路】智能指针

目录 1 -> 为什么需要智能指针? 2 -> 内存泄漏 2.1 ->什么是内存泄漏,以及内存泄漏的危害 2.2 -> 内存泄漏分类 2.3 -> 如何避免内存泄漏 3 -> 智能指针的使用及原理 3.1 -> RAII 3.2 -> 智能指针的原理 3.3 -> std…

IDEA创建普通Java项目

环境准备 Java环境 运行javac查看java环境是否安装完成 开发工具Intellij IDEA 下载地址:https://www.jetbrains.com/idea/download/?sectionwindows 创建项目 点击新建项目 填入项目名字,项目路径,选择maven,点击下面的创建 运行项目 …

贪心,CF 1891C - Smilo and Monsters

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1891C - Smilo and Monsters 二、解题报告 1、思路分析 操作二显然很划算的,但是操作2有代价,为了更划算,我们要让操作2的操作次数最少 即,操作二尽可能用在…

Apollo docker-compose

来源 https://www.apolloconfig.com/#/zh/deployment/quick-start-docker 路径 /usr/apollo Sql 自己复制 Vim docker-compose.yml #如果安装过了 记得删除mysql 历史文件 rm -r /var/lib/mysql version: 2.1services:apollo-quick-start:image: nobodyiam/apollo-quick…

MongoDB教程(六):mongoDB复制副本集

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 文章目录 引言一、MongoD…

React 速通笔记

前言 最近刚学完 React,想着把笔记分享给大家,本笔记特别适合从事后端想要学习前端的人。我看视频是黑马最新的 React 视频(黑马程序员前端React18入门到实战视频教程,从reacthooks核心基础到企业级项目开发实战(B站评…

Windows 2012安装之实现远程连接

新建虚拟机 点击稍后安装操作系统 点击Microsoft Windows(W) 选择Windows Server 2012 设置虚拟机名称、安装位置 选择你的电脑核数 点击编辑虚拟机设置 点击CD/DVD(SATA) 使用ISO映像文件(M) 配置完之后点击确定 然后开启虚拟机 下一步: 点击现在安装&#xff1a…

51单片机(STC8H8K64U/STC8051U34K64)_RA8889驱动大屏_硬件SPI4_参考代码(v1.3)

单片机实际不限,这里采用的STC最新、主推的型号,比如STC8H8K64U、STC8051U34K64进行实验测试,您可以换用不同型号。目前测试这两个系列,显示速度均相当不错,软件设计也是极为简单。各篇文章下方均提供源码供参考下载。…

Java 反射用法和8道练习题

目录 一、什么是反射二、反射的核心接口和类三、测试代码 Bean 类和目录结构Person 类代码目录结构 四、获取 Class 对象五、获取构造方法 Constructor 并使用六、获取成员变量 Field 并使用七、获取成员方法 Method 并使用八、练习1. 使用反射获取String类的所有公有方法&…

在python里构建你的投资组合portfolio--最好用的pandas零基础

有人可能觉得软件数据分析门槛很高,自学也坚持不下来, 其实分解成一个小的功能和任务,对零基础自学者非常有帮助。 今天用python中最好用的数据分析包pandas为例: 用最简单的代码完成全流程 构建投资组合 → 获取数据 → 进行分…

均匀性大于98%均匀光源积分球

在光学技术的浩瀚星空中,均匀光源积分球犹如一颗璀璨的明珠,以其卓越的均匀性能,照亮了科研、检测、照明等多个领域的探索之路。当谈及均匀性超过98%的积分球时,我们不禁要深入其内部,探索这一科技奇迹背后的原理与应用…

phenocycler发现免疫治疗反应关键的肿瘤微环境区域

T 细胞介导的抗原特异性反应对于有效的免疫监视至关重要。然而T细胞如何进入肿瘤微环境并操纵局部组织微环境来实现效应器功能,以及这些局部的细胞结构如何对T细胞疗法或者其他免疫治疗做出反应仍然不清楚。近期来自斯坦福大学的研究者利用小鼠模型和临床患者样本&a…

10位工程师做SW大装配设计工作站怎么选

在日益复杂的工程环境中,SolidWorks(SW)作为一款全球装机量较大的三维设计、动画、仿真模拟计算软件,已成为工程师们不可或缺的工具。 对于涉及大型装配设计的项目,选择一款合适的SW工作站显得尤为关键。在选择SW大装…

【0630开发者活动】机器学习算法在存内计算芯片WTM2101上的部署

前言 WTM2101芯片是由Witin知存科技开发的高性能存内计算芯片,专为加速AI计算设计,如图1.1所示。存内计算作为一种革命性技术,其主要优势在于将计算功能直接集成到存储器中,从而显著减少数据在芯片内部的传输距离,降低…