如何在Ubuntu 22.04上将BIND配置为私有网络DNS服务器
引言
管理服务器配置和基础设施的重要部分之一是通过名称维护查找网络接口和IP地址的方法。一种方法是设置正确的域名系统(DNS)。使用完全合格的域名(FQDN)来指定网络地址,而不是IP地址,可以优化服务和应用程序的配置,并增加配置文件的可维护性。为您的私有网络设置自己的DNS是改进服务器管理的好方法。
在本教程中,您将使用两台Ubuntu 22.04服务器设置一个内部DNS服务器。您将使用BIND名称服务器软件(BIND9)来解析私有主机名和私有IP地址。这提供了一种集中管理内部主机名和私有IP地址的方式,在您的环境扩展到多个主机时不可或缺。
先决条件
要完成此教程,您需要以下基础设施。请确保在同一数据中心启用专用网络,并在每台服务器上创建:
- A fresh Ubuntu 22.04 server to serve as the Primary DNS server, ns1.
- (Recommended) A second Ubuntu 22.04 server to serve as a Secondary DNS server, ns2.
- At least one additional server. This guide assumes you have two additional servers, which will be referred to as client servers. These client servers must be created in the same datacenter where your DNS servers are located.
在每台这些服务器上,根据我们的Ubuntu 22.04初始服务器设置指南,配置一个管理员sudo用户并设置防火墙。
如果你对DNS概念不熟悉,我们建议你至少阅读我们的《DNS管理入门》前三部分。
Info
示例基础设施和目标
为了本文的目的,我们将假设以下内容:
- You have two servers which will be designated as your DNS name servers. This guide will refer to these as ns1 and ns2.
- You have two additional client servers that will be using the DNS infrastructure you create, referred to as host1 and host2 in this guide. You can add as many client servers as you’d like.
- All of these servers exist in the same datacenter. This tutorial assumes that this datacenter is called nyc3.
- All of these servers have private networking enabled and are on the 10.128.0.0/16 subnet (you will likely have to adjust this for your servers).
- All servers are connected to a project that runs on example.com. This guide outlines how to set up an internal, private DNS system, so you can use any domain name you’d like instead of example.com. The DNS servers will always attempt to first route requests internally, meaning they won’t try to reach the given domain on the public internet. However, using a domain you own may help avoid conflicts with publicly routable domains.
考虑到这些假设,本指南中的示例将使用基于子域nyc3.example.com的命名方案来引用示例私有子网或区域。因此,host1的私有全限定域名(FQDN)将是host1.nyc3.example.com。以下表格包含本指南中示例中使用的相关详细信息。
Host | Role | Private FQDN | Private IP Address |
---|---|---|---|
ns1 | Primary DNS Server | ns1.nyc3.example.com |
10.128.10.11 |
ns2 | Secondary DNS Server | ns2.nyc3.example.com |
10.128.20.12 |
host1 | Generic Host 1 | host1.nyc3.example.com |
10.128.100.101 |
host2 | Generic Host 2 | host2.nyc3.example.com |
10.128.200.102 |
Note
在本教程结束时,你将拥有一个主要的DNS服务器ns1,以及一个可选的备用DNS服务器ns2,ns2将作为备份服务器。
在按照本教程进行操作时,可能会有一些需要在特定服务器上运行的命令。所有在ns1上运行的命令都会以蓝色背景显示,就像这样:
同样地,所有必须在ns2上运行的命令将具有红色背景。
任何在您的客户服务器上必须运行的命令都将有绿色的背景。
并且必须在多台服务器上运行的任何命令将具备标准的海军背景。
最后,需要注意的是,每当一个命令或代码块包含像这样突出显示的文本时,这意味着该文本很重要。在本指南中,我们将使用这种突出显示的方式来表示一些需要用您自己的设置替换的详细信息,或者需要修改或添加到配置文件中的突出显示的文本。举个例子,如果示例中包含类似host1.nyc3.example.com的内容,请用您自己服务器的FQDN进行替换。
让我们首先在主要和备用的DNS服务器ns1和ns2上安装BIND。
步骤1 – 在DNS服务器上安装BIND
在ns1和ns2两个DNS服务器上,通过输入以下命令来更新apt软件包缓存:
- sudo apt update
然后在每台机器上安装BIND。
- sudo apt install bind9 bind9utils bind9-doc
Silicon Cloud的私有网络仅使用IPv4。如果您是这种情况,请将BIND设置为IPv4模式。在两台服务器上,使用您喜欢的文本编辑器编辑默认的命名设置文件。以下示例使用nano:
- sudo nano /etc/default/named
在 OPTIONS 参数末尾添加 -4。
. . .
OPTIONS="-u bind -4"
当你完成后保存并关闭文件。如果你使用nano编辑文件,你可以按下CTRL + X,Y,然后按ENTER来保存并关闭。
重新启动BIND以实施更改。
- sudo systemctl restart bind9
既然已经安装了BIND,让我们来配置主要的DNS服务器吧。
步骤2 — 配置主要的DNS服务器。
BIND的配置由多个文件组成,这些文件从主配置文件named.conf中引入。这些文件名以named开头,因为这是BIND运行的进程名称(named的缩写是“name daemon”,即“域名守护进程”)。我们将从配置named.conf.options文件开始。
配置选项文件
在ns1上,打开named.conf.options文件进行编辑。
- sudo nano /etc/bind/named.conf.options
在现有选项块的上方创建一个名为“trusted”的新ACL(访问控制列表)块。在这里,您将定义一个客户端列表,该列表将允许递归DNS查询(即与ns1位于同一数据中心的服务器)。添加以下行以将ns1、ns2、host1和host2添加到您的可信客户端列表中,并确保用自己服务器的私有IP地址替换示例地址。
acl "trusted" {
10.128.10.11; # ns1
10.128.20.12; # ns2
10.128.100.101; # host1
10.128.200.102; # host2
};
options {
. . .
现在你已经有了可信的 DNS 客户端列表,你可以编辑选项块。以下是目前块的开头:
. . .
};
options {
directory "/var/cache/bind";
. . .
}
在目录指令下方,添加标记的配置行(并替换成适当的ns1私有IP地址)。
. . .
};
options {
directory "/var/cache/bind";
recursion yes; # enables recursive queries
allow-recursion { trusted; }; # allows recursive queries from "trusted" clients
listen-on { 10.128.10.11; }; # ns1 private IP address - listen on private network only
allow-transfer { none; }; # disable zone transfers by default
forwarders {
8.8.8.8;
8.8.4.4;
};
. . .
};
注意到前方的阻塞器中包含两个IP地址:8.8.8.8和8.8.4.4。这个阻塞器定义了转发器,这是BIND使用的一种特殊机制,用于减少与外部名称服务器的链接上的流量。BIND还可以使用转发器允许那些无法直接访问互联网的服务器进行查询。这可以通过减少本地网络上的负载来提高对这些查询的响应速度。
这个地址块中的两个IP地址代表着Google的公共DNS解析器,但任何公共递归域名服务器的IP地址都可以在这里使用。例如,您可以使用Cloudflare的DNS服务器IP地址(1.1.1.1)代替。
当您完成后,保存并关闭named.conf.options文件。上述配置指定只有您自己的服务器(即可信任的服务器)能够查询您的DNS服务器以获取外部域名。
接下来,您将通过配置named.conf.local文件来指定您的DNS区域。
配置本地文件
在ns1上打开named.conf.local文件进行编辑。
- sudo nano /etc/bind/named.conf.local
除了几条注释外,文件将为空。在这里,您将指定正向和反向区域。DNS区域指定了一个特定范围来管理和定义DNS记录。由于本指南的示例域名都位于nyc3.example.com子域中,我们将将其用作我们的正向区域。由于我们的示例服务器的私有IP地址都在10.128.0.0/16 IP空间中,以下示例将设置一个反向区域,以便我们可以在该范围内定义反向查找。
请添加以下行,将区域名称替换成您自己的名称,并将允许转移指令中的次要DNS服务器的私有IP地址进行替换以添加前向区。
. . .
zone "nyc3.example.com" {
type primary;
file "/etc/bind/zones/db.nyc3.example.com"; # zone file path
allow-transfer { 10.128.20.12; }; # ns2 private IP address - secondary
};
假设我们的私有子网是10.128.0.0/16,通过以下代码行添加反向区域(请注意,我们的反向区域名以128.10开头,这是10.128的倒转顺序)。
. . .
};
zone "128.10.in-addr.arpa" {
type primary;
file "/etc/bind/zones/db.10.128"; # 10.128.0.0/16 subnet
allow-transfer { 10.128.20.12; }; # ns2 private IP address - secondary
};
如果你的服务器跨越多个私有子网但位于同一个数据中心,请确保为每个不同的子网指定一个额外的区域和区域文件。在添加完所有所需区域后,保存并关闭named.conf.local文件。
现在你已经在BIND中指定了你的区域,你需要创建相应的正向和反向区域文件。
创建正向区文件
正向区文件是您定义正向DNS查找的DNS记录的位置。也就是说,当DNS接收到一个名字查询,比如host1.nyc3.example.com,它将在正向区文件中查找以解析host1对应的私有IP地址。
创建目录以存放您的区域文件。根据named.conf.local的配置,该位置应为/etc/bind/zones。
- sudo mkdir /etc/bind/zones
我们将以示例db.local区域文件为基础,创建我们的前向区域文件。请使用以下命令将其复制到正确的位置:
- sudo cp /etc/bind/db.local /etc/bind/zones/db.nyc3.example.com
现在编辑您的转发区文件:
- sudo nano /etc/bind/zones/db.nyc3.example.com
最初,它将包含以下内容:
$TTL 604800
@ IN SOA localhost. root.localhost. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS localhost. ; delete this line
@ IN A 127.0.0.1 ; delete this line
@ IN AAAA ::1 ; delete this line
首先,您需要编辑SOA记录。将第一个localhost替换为ns1的FQDN,然后将root.localhost替换为admin.nyc3.example.com。每次编辑区域文件之前,您需要递增序列值,然后重新启动named进程。在此处,将其递增到3。
. . .
;
$TTL 604800
@ IN SOA ns1.nyc3.example.com. admin.nyc3.example.com. (
3 ; Serial
. . .
接下来,删除文件末尾的三条记录(SOA记录之后)。如果不确定要删除哪些行,请参考前面示例中标有”delete this line”注释的行。
在文件末尾,使用以下行添加您自己的名称服务器记录(将名称替换为您自己的名称)。请注意,第二列指定这些为NS记录。
. . .
; name servers - NS records
IN NS ns1.nyc3.example.com.
IN NS ns2.nyc3.example.com.
现在,为属于这个区域的主机添加A记录。这包括任何你想以.nyc3.example.com结尾的服务器(替换名称和私有IP地址)。使用我们的示例名称和私有IP地址,我们将添加ns1、ns2、host1和host2的A记录如下:
. . .
; name servers - A records
ns1.nyc3.example.com. IN A 10.128.10.11
ns2.nyc3.example.com. IN A 10.128.20.12
; 10.128.0.0/16 - A records
host1.nyc3.example.com. IN A 10.128.100.101
host2.nyc3.example.com. IN A 10.128.200.102
我们最后的示例正向区文件将包含以下内容:
$TTL 604800
@ IN SOA ns1.nyc3.example.com. admin.nyc3.example.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
; name servers - NS records
IN NS ns1.nyc3.example.com.
IN NS ns2.nyc3.example.com.
; name servers - A records
ns1.nyc3.example.com. IN A 10.128.10.11
ns2.nyc3.example.com. IN A 10.128.20.12
; 10.128.0.0/16 - A records
host1.nyc3.example.com. IN A 10.128.100.101
host2.nyc3.example.com. IN A 10.128.200.102
保存并关闭db.nyc3.example.com文件。
现在让我们继续处理反向区域文件。
创建反向区文件(们)
反向区文件是您定义反向 DNS 查找的 DNS PTR 记录的地方。也就是说,当 DNS 收到一个 IP 地址查询,例如 10.128.100.101,它将在反向区文件中查找并解析相应的全限定域名,比如 host1.nyc3.example.com。
在ns1上,对于在named.conf.local文件中指定的每个反向区域,创建一个反向区域文件。我们将根据样本db.127区域文件创建我们的示例反向区域文件。BIND使用此文件存储本地环回接口的信息;127是代表localhost的IP地址的第一个八位字节(127.0.0.1)。使用以下命令将此文件复制到正确的位置(替换目标文件名以使其与您的反向区域定义匹配)。
- sudo cp /etc/bind/db.127 /etc/bind/zones/db.10.128
编辑与在named.conf.local中定义的反向区域对应的反向区域文件。
- sudo nano /etc/bind/zones/db.10.128
最初,这个文件将包含以下内容:
$TTL 604800
@ IN SOA localhost. root.localhost. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS localhost. ; delete this line
1.0.0 IN PTR localhost. ; delete this line
和正向区域文件一样,您需要编辑SOA记录并递增序列值。
@ IN SOA ns1.nyc3.example.com. admin.nyc3.example.com. (
3 ; Serial
. . .
现在删除文件末尾的两条记录(SOA记录之后的记录)。如果不确定要删除哪些行,请参考前面的示例中标有“删除此行”的注释。
在文件末尾,使用以下行添加您自己的名称服务器记录(将名称替换为您自己的名称)。请注意,第二列指明这些是NS记录。
. . .
; name servers - NS records
IN NS ns1.nyc3.example.com.
IN NS ns2.nyc3.example.com.
然后为所有位于您正在编辑的区域文件的子网上的服务器添加PTR记录。在我们的例子中,这包括所有的主机,因为它们都位于10.128.0.0/16子网上。请注意,第一列由服务器的私有IP地址的后两个八位组按相反顺序组成。一定要替换名称和私有IP地址以匹配您的服务器。
. . .
; PTR Records
11.10 IN PTR ns1.nyc3.example.com. ; 10.128.10.11
12.20 IN PTR ns2.nyc3.example.com. ; 10.128.20.12
101.100 IN PTR host1.nyc3.example.com. ; 10.128.100.101
102.200 IN PTR host2.nyc3.example.com. ; 10.128.200.102
你最终的反向区域文件将会类似于以下内容:
$TTL 604800
@ IN SOA nyc3.example.com. admin.nyc3.example.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
; name servers
IN NS ns1.nyc3.example.com.
IN NS ns2.nyc3.example.com.
; PTR Records
11.10 IN PTR ns1.nyc3.example.com. ; 10.128.10.11
12.20 IN PTR ns2.nyc3.example.com. ; 10.128.20.12
101.100 IN PTR host1.nyc3.example.com. ; 10.128.100.101
102.200 IN PTR host2.nyc3.example.com. ; 10.128.200.102
保存并关闭反向区域文件。如果您需要添加更多的反向区域文件,请重复此步骤。
你已经编辑完文件了,下一步可以检查文件是否有错误。
检查BIND配置语法
运行以下命令来检查 named.conf* 文件的语法:
- sudo named-checkconf
如果您的命名配置文件没有语法错误,则不会出现错误消息,并且您将返回到您的shell提示符。如果配置文件存在问题,请查看错误消息和“配置主DNS服务器”部分,然后再次尝试named-checkconf。
named-checkzone命令可用于检查区域文件的正确性。它的第一个参数指定区域名称,第二个参数指定相应的区域文件,而这两个参数在named.conf.local文件中定义。
例如,要检查 nyc3.example.com 的转发区域配置,请运行以下命令(将名称更改为与您的转发区域和文件匹配):
- sudo named-checkzone nyc3.example.com /etc/bind/zones/db.nyc3.example.com
zone nyc3.example.com/IN: loaded serial 3 OK
要检查128.10.in-addr.arpa反向区域的配置,请运行以下命令(更改数字以匹配您的反向区域和文件):
- sudo named-checkzone 128.10.in-addr.arpa /etc/bind/zones/db.10.128
当你的所有配置文件和区域文件都没有错误时,你就可以准备重启BIND服务了。
重新启动BIND
重新启动BIND服务
- sudo systemctl restart bind9
如果您配置了UFW防火墙,请输入以下命令打开对BIND的访问权限。
- sudo ufw allow Bind9
你的主要DNS服务器已经设置并且准备好回应DNS查询。让我们继续配置备用DNS服务器。
第三步 — 配置备用DNS服务器
在大多数环境中,建立一个次要的DNS服务器是个好主意,如果主要服务器不可用,次要服务器可以响应请求。幸运的是,配置次要DNS服务器比设置主要DNS服务器要简单得多。
在ns2上,编辑named.conf.options文件。
- sudo nano /etc/bind/named.conf.options
在文件顶部,添加包含所有受信任服务器的私有IP地址的访问控制列表(ACL)。
acl "trusted" {
10.128.10.11; # ns1
10.128.20.12; # ns2
10.128.100.101; # host1
10.128.200.102; # host2
};
options {
. . .
在目录指令下方,添加以下行:
. . .
recursion yes;
allow-recursion { trusted; };
listen-on { 10.128.20.12; }; # ns2 private IP address
allow-transfer { none; }; # disable zone transfers by default
forwarders {
8.8.8.8;
8.8.4.4;
};
. . .
保存并关闭named.conf.options文件。
该文件应与ns1的named.conf.options文件完全相同,只需配置为监听ns2的私有IP地址。
现在编辑named.conf.local文件。
- sudo nano /etc/bind/named.conf.local
定义与主DNS服务器上的主要区域对应的次要区域。请注意,此类型为次要,该文件不包含路径,并且应设置primaries指令为主DNS服务器的私有IP地址。如果您在主DNS服务器中定义了多个反向区域,请确保全部添加在此处。
zone "nyc3.example.com" {
type secondary;
file "db.nyc3.example.com";
primaries { 10.128.10.11; }; # ns1 private IP
};
zone "128.10.in-addr.arpa" {
type secondary;
file "db.10.128";
primaries { 10.128.10.11; }; # ns1 private IP
};
现在保存并关闭named.conf.local文件。
运行以下命令来检查配置文件的有效性:
- sudo named-checkconf
如果这个命令没有返回任何错误,请重新启动BIND服务。
- sudo systemctl restart bind9
然后通过修改UFW防火墙规则允许DNS连接到服务器。
- sudo ufw allow Bind9
现在,你已经拥有了私有网络名称和IP地址解析的主要和次要DNS服务器。现在,你需要配置客户服务器,以使用你的私有DNS服务器。
第四步 – 配置DNS客户端
在信任的ACL中的所有服务器在查询DNS服务器之前,您必须配置每个服务器使用ns1和ns2作为名称服务器。
假设您的客户服务器正在运行Ubuntu操作系统,您需要找到与您的私有网络关联的设备。您可以通过使用ip地址命令查询私有子网来完成此操作。在每台客户机上运行以下命令,将突出显示的子网替换为您自己的子网。
- ip address show to 10.128.0.0/16
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 altname enp0s4 altname ens4 inet 10.128.100.101/16 brd 10.128.255.255 scope global eth1 valid_lft forever preferred_lft forever
在这个例子中,私有接口是eth1。本节中的示例将引用eth1作为私有接口,但您应该根据自己的服务器的私有接口更改这些示例。
在Ubuntu 22.04上,网络配置使用了Netplan,这是一个抽象概念,允许您编写标准化的网络配置并将其应用于与之兼容的后端网络软件。要配置DNS,您需要编写一个Netplan配置文件。
在/etc/netplan中创建一个名为00-private-nameservers.yaml的新文件。
- sudo nano /etc/netplan/00-private-nameservers.yaml
在内部添加以下内容。您需要修改私有网络的接口、您的ns1和ns2 DNS服务器的地址以及DNS区域。
Note
network:
version: 2
ethernets:
eth1: # Private network interface
nameservers:
addresses:
- 10.128.10.11 # Private IP for ns1
- 10.132.20.12 # Private IP for ns2
search: [ nyc3.example.com ] # DNS zone
当你完成后,请保存并关闭文件。
接下来,告诉Netplan尝试使用新的配置文件,使用netplan try命令。如果出现导致网络中断的问题,Netplan将在超时后自动回滚更改。
- sudo netplan try
Warning: Stopping systemd-networkd.service, but it can still be activated by: systemd-networkd.socket Do you want to keep these settings? Press ENTER before the timeout to accept the new configuration Changes will revert in 120 seconds
如果倒计时在底部正确更新,新配置至少足够正常,不会中断你的SSH连接。按下回车键接受新的配置。
现在,检查系统的DNS解析器以确定是否已应用您的DNS配置。
- sudo resolvectl status
向下滚动,直到找到您的私有网络接口部分。您的DNS服务器的私有IP地址应首先列出,然后是一些备选值。您的域名应在“DNS域名”之后列出。
. . . Link 3 (eth1) Current Scopes: DNS Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported Current DNS Server: 67.207.67.3 DNS Servers: 10.128.10.11 10.128.20.12 67.207.67.3 67.207.67.2 DNS Domain: nyc3.example.com
您的Ubuntu客户端现在已经配置为使用内部DNS服务器。
第五步 – 测试客户端
使用nslookup测试您的客户端是否能够查询您的名称服务器。您应该能够在您配置并在可信的访问控制列表中的所有客户端上执行此操作。
你可以首先进行前向查找。
前向查找
运行以下命令,执行前向查找以获取host1.nyc3.example.com的IP地址。
- nslookup host1
查询 host1 展开为 host1.nyc3.example.com,因为搜索选项设置为您的私有子域,DNS 查询会在查找其他主机之前尝试在该子域上查找。以前的命令将返回如下的输出:
Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: Name: host1.nyc3.example.com Address: 10.128.100.101
接下来,您可以进行逆向查询。
反向查找 chá
为了测试反向查找, 使用 host1 的私有 IP 地址查询 DNS 服务器。
- nslookup 10.128.100.101
这应该返回以下输出: (Zhè
11.10.128.10.in-addr.arpa name = host1.nyc3.example.com. Authoritative answers can be found from:
如果所有的名称和IP地址都解析为正确的值,那意味着你的区域文件已经正确配置。如果你收到了意外的值,请确保在你的主DNS服务器上检查区域文件(例如db.nyc3.example.com和db.10.128)。
作为最后一步,本教程将介绍如何管理您的区域记录。
第六步 – 维护DNS记录。
既然您已经有一个工作正常的内部DNS,那么您需要维护您的DNS记录,以便它们准确地反映出您的服务器环境。
将主机添加到DNS。
每当您向您的环境中(在同一数据中心)添加主机时,您都希望将其添加到DNS中。以下是您需要采取的步骤列表:
主域名服务器
- Forward zone file: Add an A record for the new host, increment the value of Serial
- Reverse zone file: Add a PTR record for the new host, increment the value of Serial
- Add your new host’s private IP address to the trusted ACL (named.conf.options)
测试你的配置文件。
- sudo named-checkconf
- sudo named-checkzone nyc3.example.com /etc/bind/zones/db.nyc3.example.com
- sudo named-checkzone 128.10.in-addr.arpa /etc/bind/zones/db.10.128
然后重新加载BIND。
- sudo systemctl reload bind9
您的主服务器现在应该为新主机进行配置。
备用名称服务器
- Add your new host’s private IP address to the trusted ACL (named.conf.options)
检查配置语法:
- sudo named-checkconf
然后重新加载BIND:
- sudo systemctl reload bind9
你的备用服务器现在会接受来自新主机的连接。
设置新主机来使用您的 DNS
- Configure /etc/resolv.conf to use your DNS servers
- Test using nslookup
从DNS中删除一个主机
如果您需要从环境中移除主机或仅希望将其从DNS中移除,只需删除在将服务器添加到DNS时添加的所有内容(即前面步骤的相反操作)。
结论 (jié
现在你可以通过名称来引用服务器的私有网络接口,而不是IP地址。这使得配置服务和应用程序更加简单,因为您不再需要记住私有IP地址,文件也会变得更易读易懂。此外,现在您可以在一个地方即主DNS服务器中更改配置以指向新的服务器,而不必编辑各种分布式配置文件,从而优化了维护。
一旦您设置了内部DNS,并且您的配置文件正在使用私有FQDN来指定网络连接,就至关重要的是正确维护您的DNS服务器。如果它们都变得不可用,依赖它们的服务和应用程序将无法正常运行。这就是为什么建议设置至少一个辅助服务器,并维护所有服务器的工作备份的原因。
如果你想了解更多关于DNS的知识,我们鼓励你阅读我们的文章《DNS术语、组成部分和概念简介》,获取更多了解。