前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >DNS:DNS问题故障排查的一些笔记

DNS:DNS问题故障排查的一些笔记

作者头像
山河已无恙
发布于 2023-08-21 06:49:09
发布于 2023-08-21 06:49:09
1.7K00
代码可运行
举报
文章被收录于专栏:山河已无恙山河已无恙
运行总次数:0
代码可运行

1写在前面

  • 分享一些 DNS 排故的笔记给小伙伴
  • 博文内容涉及 DNS 解析顺序,解析响应码说明,常见排故方式以及原因
  • 理解不足小伙伴帮忙指正

对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德米安》


2排故DNS问题

名称解析遇到问题时,考虑从以下几点来解决:

  • 客户端上 /etc/hosts/etc/resolv.conf
  • 客户端使用的缓存名称服务器的操作
  • 向缓存名称服务器提供数据的权威名称服务器的操作
  • 权威名称服务器上的数据
  • 用于在这些系统之间通信的网络配置

DNS 解析顺序

DNS是系统最常用的名称解析方法, 但DNS不是系统解析主机名和IP地址的唯一方法。/etc/nsswitch.conf 文件中的hosts行控制查找主机名的方式。hosts: files dns myhostname

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@serverb ~]# cat /etc/nsswitch.conf  | grep host
#     hosts: files dns
#     hosts: files dns  # from user file
hosts:      files dns myhostname
[root@serverb ~]#

files:首先在本地 /etc/hosts 文件中查找,可以手动指定主机名与 IP 地址之间的映射关系。如果主机名在该文件中找到匹配项,系统将直接使用该 IP 地址,不进行 DNS 查询。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@serverb ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

172.25.254.254  classroom.example.com classroom
172.25.254.254  content.example.com content
172.25.254.254  materials.example.com materials
172.25.250.254  workstation.lab.example.com workstation
### rht-vm-hosts file listing the entries to be appended to /etc/hosts

172.25.250.254  bastion.lab.example.com bastion
172.25.250.9    workstation.lab.example.com workstation
172.25.250.10   servera.lab.example.com servera
172.25.250.11   serverb.lab.example.com serverb
172.25.250.12   serverc.lab.example.com serverc
172.25.250.13   serverd.lab.example.com serverd

[root@serverb ~]#

dns:然后执行DNS域名解析查找/etc/resolv.conf,如果在 /etc/hosts 文件中找不到匹配项,系统将使用 DNS 解析器进行域名解析。解析器会检查 /etc/resolv.conf 文件以获取 DNS 服务器的配置信息。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@serverb ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search lab.example.com example.com
nameserver 172.25.250.254
[root@serverb ~]#
  • search lab.example.com example.com 指定了DNS搜索域名,即在解析主机名时,会自动添加这些域名后缀。
  • nameserver 172.25.250.254 指定了DNS服务器的IP地址,即在解析主机名时,会向该IP地址的DNS服务器发送查询请求。如果第一个 DNS 服务器无法提供解析结果,解析器将尝试后续的 DNS 服务器,直到找到匹配的解析结果或遍历完所有配置的 DNS 服务器

myhostname:最后使用查找本地配置系统主机名,表示系统将使用本地主机名来解析主机名。本地主机名可以通过 /etc/hostname 文件或通过网络配置获得。使用 myhostname 关键字时,系统将尝试将主机名解析为本地主机名的 IP 地址。

模拟普通应用程序 DNS 解析过程

glibc-common 软件包中的 getent 命令,会按照/etc/nsswitch.conf所指定的主机名称解析顺序执行名称解析。这种解析过程也是大多数应用程序解析的过程

使用方式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@servera ~]# getent hosts classroom.example.com
172.25.254.254 classroom.example.com classroom

servera.blog.liruilong.com 进行解析,没有得到任何信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@serverb ~]# getent hosts servera.blog.liruilong.com

/etc/hosts 文件添加,解析成功

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@serverb ~]# echo "192.168.0.10 servera.blog.liruilong.com" >> /etc/hosts
[root@serverb ~]# getent hosts servera.blog.liruilong.com
192.168.0.10    servera.blog.liruilong.com
[root@serverb ~]#

通过域名解析工具可以正常解析,这里我们指定了解析的 DNS 服务器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@serverb ~]# host servera.blog.liruilong.com 172.25.250.11
Using domain server:
Name: 172.25.250.11
Address: 172.25.250.11#53
Aliases:

servera.blog.liruilong.com has address 172.25.250.10

如何没有指定,则提示解析失败

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@serverb ~]# dig servera.blog.liruilong.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el8 <<>> servera.blog.liruilong.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 14280
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: e53c16c7ad16ce3a13c1014064c684340c193df2aea1f352 (good)
;; QUESTION SECTION:
;servera.blog.liruilong.com.    IN      A

;; Query time: 1205 msec
;; SERVER: 172.25.250.254#53(172.25.250.254)
;; WHEN: Sun Jul 30 23:39:32 CST 2023
;; MSG SIZE  rcvd: 83

status: SERVFAIL表示DNS服务器返回了SERVFAIL的错误状态码,即无法处理该查询请求。

我们在 /etc/resolv.conf 添加对应的 解析 DNS 服务器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@serverb ~]# vim /etc/resolv.conf
[root@serverb ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search lab.example.com example.com
nameserver 172.25.250.254
nameserver 172.25.250.11
[root@serverb ~]#

在次解析,解析成功

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@serverb ~]# dig servera.blog.liruilong.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el8 <<>> servera.blog.liruilong.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1345
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 0b410e7fc0c1426dafcd22d864c684a68204bd8e1cf907f2 (good)
;; QUESTION SECTION:
;servera.blog.liruilong.com.    IN      A

;; ANSWER SECTION:
servera.blog.liruilong.com. 300 IN      A       172.25.250.10

;; AUTHORITY SECTION:
blog.liruilong.com.     300     IN      NS      serverb.blog.liruilong.com.

;; ADDITIONAL SECTION:
serverb.blog.liruilong.com. 300 IN      A       172.25.250.11

;; Query time: 1 msec
;; SERVER: 172.25.250.11#53(172.25.250.11)
;; WHEN: Sun Jul 30 23:41:26 CST 2023
;; MSG SIZE  rcvd: 137

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@serverb ~]# getent hosts servera.blog.liruilong.com
172.25.250.10   servera.blog.liruilong.com
[root@serverb ~]#

dig 默认解析的 A记录,并且默认使用 /etc/resolv.conf 配置的 DNS 进行查询,如果 getent 的结果与 dig 产生的结果不同,则可以清楚地表明,是 DNS 以外的其他原因导致了意外的名称解析结果,即 DNS 的解析结果 可能和 /etc/hosts 的结果不同。

网络连接问题

为了使DNS名称解析正常工作,客户端必须能够与解析名称服务器正常通行,当然解析名称服务器与其他权威名称服务器正常通信。

例如: dig无法到达 /etc/resolv.conf 中的任何DNS服务器,则会发生以下错误

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@serverb ~]# dig blog.liruilong.com A @8.8.8.8

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el8 <<>> blog.liruilong.com A @8.8.8.8
;; global options: +cmd
;; connection timed out; no servers could be reached
[root@serverb ~]# dig blog.liruilong.com A @114.114.114.114

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el8 <<>> blog.liruilong.com A @114.114.114.114
;; global options: +cmd
;; connection timed out; no servers could be reached

可能的原因: 名称服务器已关闭,客户端上的网络或防火墙出现问题或/etc/resolv.conf的配置错误。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@serverb ~]# ping -c3 114.114.114.114
PING 114.114.114.114 (114.114.114.114) 56(84) bytes of data.
From 172.25.252.254 icmp_seq=1 Destination Net Unreachable
From 172.25.252.254 icmp_seq=2 Destination Net Unreachable
From 172.25.252.254 icmp_seq=3 Destination Net Unreachable

--- 114.114.114.114 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 7ms

[root@serverb ~]#

如果涉及防火墙,则必须确保客户端可以与名称服器UDP和TCP上53端口通信。 如果名称服务器只允许端口53/UDP上的流量通过,不允许端口53/TCP上的流量通过,则当响应的大小超过512字节 (支持DNS扩展机制 (EDNS) 的服务器为4096字节) 时,解析器必须从UDP切换到TCP并重试查询,您会看到截断通知以及主机无法访问的错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@servera ~]# dig @dns.example.com A labhost1.example.com
;; Truncated, retrying in TCP mode.
;; Connection to 172.25.1.11#53(172.25.1.11) for labhost1.example.com failed:
host unreachable.

dig 命令可以指定tcp或vc选项,强制使用TCP查询记录,而不是默认行为: 先使用UDP,然后仅对于大响应才使用TCP

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@servera ]~# dig +tcp A example.com

DNS 响应代码说明

NOERROR 表示查询成功

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@serverb ~]# dig A servera.blog.liruilong.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el8 <<>> A servera.blog.liruilong.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 173
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: d12897e63585d13c02dc879064c68b93e0350fa4cb0b5e22 (good)
;; QUESTION SECTION:
;servera.blog.liruilong.com.    IN      A

;; ANSWER SECTION:
servera.blog.liruilong.com. 300 IN      A       172.25.250.10

;; AUTHORITY SECTION:
blog.liruilong.com.     300     IN      NS      serverb.blog.liruilong.com.

;; ADDITIONAL SECTION:
serverb.blog.liruilong.com. 300 IN      A       172.25.250.11

;; Query time: 1 msec
;; SERVER: 172.25.250.11#53(172.25.250.11)
;; WHEN: Mon Jul 31 00:10:59 CST 2023
;; MSG SIZE  rcvd: 137

[root@serverb ~]#

SERVFAIL:伺服失败,名称服务器在处理查询时遇到问题。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@serverb ~]# dig A liruilong.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el8 <<>> A liruilong.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 5501
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: c5abce0d58f38ad379ab40ba64c68b5468a9b60530e59887 (good)
;; QUESTION SECTION:
;liruilong.com.                 IN      A

;; Query time: 7 msec
;; SERVER: 172.25.250.254#53(172.25.250.254)
;; WHEN: Mon Jul 31 00:09:56 CST 2023
;; MSG SIZE  rcvd: 70

NXDOMAIN : 查询的名称不存在于区域中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
┌──[hp@hp-ProLiant-SL270s-Gen8-SE]-[~]
└─$dig liruilong.com A

; <<>> DiG 9.18.12-0ubuntu0.22.04.2-Ubuntu <<>> liruilong.com A
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 45394
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;liruilong.com.                 IN      A

;; AUTHORITY SECTION:
com.                    570     IN      SOA     a.gtld-servers.net. nstld.verisign-grs.com. 1690734225 1800 900 604800 86400

;; Query time: 184 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Sun Jul 30 12:24:18 EDT 2023
;; MSG SIZE  rcvd: 115

SERVFAIL和NXDOMAIN是DNS服务器返回的两种不同的响应状态码,它们分别表示以下情况:

  • SERVFAIL表示DNS服务器无法处理该查询请求,通常是由于服务器故障、网络问题或其他错误导致的。这种情况下,DNS服务器没有返回任何答案、授权或附加信息。
  • NXDOMAIN表示DNS服务器已经处理了该查询请求,但无法找到与查询请求匹配的域名记录。这种情况下,DNS服务器返回了一个包含授权信息的响应,但没有任何答案记录。

因此,SERVFAIL和NXDOMAIN的区别在于,前者表示DNS服务器无法处理查询请求,而后者表示DNS服务器已经处理了查询请求,但没有找到匹配的记录

REFUSED:由于策略限制,名称服务器拒绝了客户端的DNS请求。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@serverb ~]# dig A servera.blog.liruilong.com @serverc

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el8 <<>> A servera.blog.liruilong.com @serverc
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 25684
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 1914c2b482142e19fd901ec464c68ff64f464af36f2bcff4 (good)
;; QUESTION SECTION:
;servera.blog.liruilong.com.    IN      A

;; Query time: 3 msec
;; SERVER: 172.25.250.12#53(172.25.250.12)
;; WHEN: Mon Jul 31 00:29:42 CST 2023
;; MSG SIZE  rcvd: 83

[root@serverb ~]#
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@serverc ~]# cat /etc/named.conf | grep allow
        allow-query     { localhost;172.25.250.254; 192.168.0.0/24; };
[root@serverc ~]#

跟踪 DNS 查询

通过 dig +trace 命令可以跟踪 DNS 解析过程

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
┌──[hp@hp-ProLiant-SL270s-Gen8-SE]-[~]
└─$dig +trace liruilongs.github.io

; <<>> DiG 9.18.12-0ubuntu0.22.04.2-Ubuntu <<>> +trace liruilongs.github.io
;; global options: +cmd
.                       7105    IN      NS      e.root-servers.net.
.                       7105    IN      NS      f.root-servers.net.
.                       7105    IN      NS      a.root-servers.net.
.                       7105    IN      NS      m.root-servers.net.
.                       7105    IN      NS      g.root-servers.net.
.                       7105    IN      NS      h.root-servers.net.
.                       7105    IN      NS      i.root-servers.net.
.                       7105    IN      NS      c.root-servers.net.
.                       7105    IN      NS      d.root-servers.net.
.                       7105    IN      NS      j.root-servers.net.
.                       7105    IN      NS      b.root-servers.net.
.                       7105    IN      NS      l.root-servers.net.
.                       7105    IN      NS      k.root-servers.net.
;; Received 239 bytes from 127.0.0.53#53(127.0.0.53) in 0 ms

io.                     172800  IN      NS      c0.nic.io.
io.                     172800  IN      NS      a2.nic.io.
io.                     172800  IN      NS      a0.nic.io.
io.                     172800  IN      NS      b0.nic.io.
io.                     86400   IN      DS      57355 8 2 95A57C3BAB7849DBCDDF7C72ADA71A88146B141110318CA5BE672057 E865C3E2
io.                     86400   IN      RRSIG   DS 8 1 86400 20230812140000 20230730130000 11019 . PQxqrG5/DAsu9RBIZN4Ol4lzzGkMBzyDxsC0lI+l8HDz5qTocF2tx8+F CYOeqJ235GhJI6cqMs0qFSMd9yHKupIllXOvrIBTgcJ/a8hoyXxoWyQL iwFJ8lj3+Wc3VSdHGvkqWYMZ52Ny9orne3zqTOzpGV1xtyxAiw+a9h92 hufkRTmoki6jMdiIFlVhQIHzqtc4MY/HmuUhOjbn0/b3432XAeeJx+uw sRqaFgs6K//QdvllYATpgnXoZ2RdgJuIsmEF1HfDY2vg+O3y4DMW4htU EkQiBqHx6aVPCAaCK5nkp7UEzZfgfhkugxGl1ikxaXn0mBt8awkkCIaa H9l2rw==
;; Received 636 bytes from 202.12.27.33#53(m.root-servers.net) in 68 ms

;; UDP setup with 2a01:8840:9e::17#53(2a01:8840:9e::17) for liruilongs.github.io failed: network unreachable.
;; UDP setup with 2a01:8840:9e::17#53(2a01:8840:9e::17) for liruilongs.github.io failed: network unreachable.
;; UDP setup with 2a01:8840:9e::17#53(2a01:8840:9e::17) for liruilongs.github.io failed: network unreachable.
;; communications error to 65.22.160.17#53: timed out
github.io.              3600    IN      NS      dns1.p05.nsone.net.
github.io.              3600    IN      NS      dns2.p05.nsone.net.
github.io.              3600    IN      NS      dns3.p05.nsone.net.
github.io.              3600    IN      NS      ns-692.awsdns-22.net.
github.io.              3600    IN      NS      ns-1622.awsdns-10.co.uk.
0d790076pp5pfktg2hrthj5bj6ckckcb.io. 3600 IN NSEC3 1 1 10 332539EE7F95C32A 0D7N522D3BFMA1LA01BUIOBUK6MROGMU NS SOA RRSIG DNSKEY NSEC3PARAM
0d790076pp5pfktg2hrthj5bj6ckckcb.io. 3600 IN RRSIG NSEC3 8 2 3600 20230820161400 20230730151400 47703 io. eJVfgk+RJy6pJULS8AGI5vdwg5l5aheH3AXAAEedhWaDV2RZ5wkjG55M NnnWLDfRYPSCJjQwlDeYLqxLbwcIZVKFYAI2bGcMp5gwF+3N8GKobO0J fufmVtT2feylQnFVC414+dRVmfswmycKiVqYz+R5evDJVvlba47Nw2jk +uw=
0jehpe7obc68rhh4ntet0u9o44qmosmo.io. 3600 IN NSEC3 1 1 10 332539EE7F95C32A 0JES1F5OD9SG1E4CCRGBS865PMBUV4PC NS DS RRSIG
0jehpe7obc68rhh4ntet0u9o44qmosmo.io. 3600 IN RRSIG NSEC3 8 2 3600 20230815155455 20230725145455 47703 io. YGikk+waO8SYkaBCCNiFjRwXRmjJWGhfk7g1iTAPUz3a8WHtZ/MJSjMc uQPhpbfl7h2Bq0//Gcl657brOnAGL4/pa8Bo0gyWhDLQDPGQe+DNPm+t LFNAd4V/oJw747ch2bAJW4U+zSkCmY/WVlCwuht82Z37mMrRRilt7HZ9 UnQ=
;; Received 686 bytes from 65.22.162.17#53(c0.nic.io) in 120 ms

;; UDP setup with 2600:9000:5306:5600::1#53(2600:9000:5306:5600::1) for liruilongs.github.io failed: network unreachable.
;; UDP setup with 2620:4d:4000:6259:7:5:0:1#53(2620:4d:4000:6259:7:5:0:1) for liruilongs.github.io failed: network unreachable.
liruilongs.github.io.   3600    IN      A       185.199.108.153
liruilongs.github.io.   3600    IN      A       185.199.109.153
liruilongs.github.io.   3600    IN      A       185.199.110.153
liruilongs.github.io.   3600    IN      A       185.199.111.153
;; Received 113 bytes from 198.51.44.69#53(dns3.p05.nsone.net) in 48 ms

根据dig命令的输出结果,可以看出在查询名为liruilongs.github.io的主机名时,返回了一个包含以下信息的响应:

status: NOERROR 表示DNS服务器成功处理了该查询请求。ANSWER: 4 表示DNS服务器返回了4个答案。

Zone数据问题

有时,名称解析问题是由于权威名称服务器上区域中错误配置引起的。

  • 负响应(缓存的影响)
  • 得到不同的答案: DNS轮询,DNS负载均衡

DNS轮询是一种负载均衡的技术,可以将客户端的请求分配到多个服务器中,从而提高系统的可用性和性能。

在DNS服务器上创建多个A记录,每个记录对应一个服务器的IP地址。例如,假设有3个服务器的IP地址分别为192.168.1.1、192.168.1.2和192.168.1.3,则需要在DNS服务器上创建3个A记录,分别对应这些IP地址。

针对每个A记录,设置相同的域名和TTL值,以确保客户端每次查询时都会得到相同的结果。

在BIND DNS服务器中,可以使用round-robin关键字启用轮询功能

编辑BIND配置文件,并在example.com区域中添加以下行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
zone "example.com" {
    type master;
    file "example.com.zone";
    rrset-order { random; };
};

在该区域中添加rrset-order选项,并将其设置为random或cyclic。其中,random表示随机轮询,cyclic表示顺序轮询。

  • 反向查询失败: 缺少PTR记录,No PTR record found: 表示DNS服务器未找到与该IP地址对应的PTR记录
  • 获取记录不存在的响应
  • 名称中看到两次FQDN以及相关错误(.为 当前zong,如果不加会默认加上)
  • 识别循环的CNAME记录
  • 从权威服务器获得不同的答案

3博文部分内容参考

© 文中涉及参考链接内容版权归原作者所有,如有侵权请告知


https://www.isc.org/bind/

<RH358 授课课堂笔记>

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 山河已无恙 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Nginx配置使用certbot自动申请HTTPS证书
在当今互联网环境中,网站的安全性越来越受到重视。HTTPS 作为一种能够提供加密通信和验证网站真实性的协议,已经成为网站安全的基本标准。然而,许多平台提供的 HTTPS 证书往往有有效期限制,比如腾讯云等平台目前提供的证书只有3个月的有效期。这不仅增加了证书管理的复杂性,还可能因为证书过期而导致网站访问中断。
王先森sec
2024/06/28
1.9K0
Nginx配置使用certbot自动申请HTTPS证书
使用 Certbot 安装 Letsencrypt 证书
1、拥有一个域名,例如 mydomain.com 2、在域名服务器创建一条A记录,指向云主机的公网IP地址。例如 demo.mydomain.com 指向 192.168.0.1 的IP地址 3、要等到新创建的域名解析能在公网上被解析到
SkyRiN
2018/11/20
4.7K0
Let's Encrypt 安装配置教程,免费的 SSL 证书
要求配置 DNS TXT 记录,从而校验域名所有权,也就是判断证书申请者是否有域名的所有权。
用户6884826
2021/07/09
4.2K0
教你快速撸一个免费HTTPS证书
HTTPS已成为业界标准,这篇博客将教你申请Let’s Encrypt的免费HTTPS证书。
Fundebug
2018/07/06
1.8K2
教你快速撸一个免费HTTPS证书
教你快速撸一个免费HTTPS证书
HTTPS 已成为业界标准,这篇博客将教你申请Let’s Encrypt的免费 HTTPS 证书。
Fundebug
2020/01/02
9890
免费https证书安装(Nginx)
对于站点来说,使用https访问能增强数据传输的安全性,避免一些安全事故,同时拥有了https认证,在主流浏览器中都被被标记为可信任的安全的网站,也能加强搜索引擎的对https站点的收录。
肓己
2021/08/12
1.6K0
Docker获取Let`s Encrypt SSL 证书
为了方便维护、升级,同时也避免破坏本地的开发环境,我这里使用docker方式来运行certbot。整个过程分为两步:首次申请证书和证书更新。
孟斯特
2023/11/15
8210
快速配置Let's encrypt通配符证书
利用certbot工具配置Let’s encrypt通配符证书,所域名下所有的子域名都能方便的使用 https证书,而且完全免费。值得关注的是,Let’s encrypt通配符证书只是针对二级域名,并不能针对主域名,如*.hubinqiang.com和hubinqiang.com 被认为是两个域名,如果和我一样使用的是主域名,在申请的时候需要注意都要申请。
OwenZhang
2021/12/08
2.2K0
快速配置Let's encrypt通配符证书
使用 Certbot 配置 HTTPS,让你的网站不再裸奔
不错,今天的主角就是给力的 Certbot,免费好用,真是我等 diaosi 的一大福音。
周萝卜
2019/07/23
1.4K0
使用 Certbot 配置 HTTPS,让你的网站不再裸奔
获取Let's Encrypt免费TLS/SSL证书的那点事儿
Let's Encrypt是一个于2015年三季度推出的数字证书认证机构,旨在以自动化流程消除手动创建和安装证书的复杂流程,并推广使万维网服务器的加密连接无所不在,为安全网站提供免费的SSL/TLS证书。 -- 引自维基百科
用户1456517
2019/03/05
1.6K0
Let’s Encrypt免费ssl证书申请
Let’s Encrypt是一个免费并且开源的CA,且已经获得Mozilla、微软等主要浏览器厂商的根授信。它极大低降低DV证书的入门门槛,进而推进全网的HTTPS化。
爱游博客
2019/08/07
4.2K0
使用Let's Encrypt的SSL证书配置HTTPS手记
前段时间,看见很多大会都在分享全站HTTPS的经验。HTTPS固然好,前提是SSL证书,并且签发证书的机构要靠谱。沃通的CA证书就相继被Mozilla和Google封杀了。曾经对于普通用户,权威,安全,并且免费的证书无疑就像天上的星星,可望而不可及。现在,这些星星变成了馅饼掉了下来。没错,我们可以申请安全免费的ssl证书--- Let's Encrypt。 Let’s Encrypt是电子前哨基金会(EFF)发布的免费 SSL 证书服务,Google,Mozilla和Microsoft都极力支持。很早之前就
李海彬
2018/03/19
2.5K0
使用Let's Encrypt的SSL证书配置HTTPS手记
SSL证书自动化-acme实战(Let’s Encrypt)
由于 HTTP 是明文传输,在使用 NextCloud 等服务时不够安全,需要配置 SSL 证书。不想让在被别人浏览的时候,出现莫名的广告[运营商劫持]。
用户10002156
2023/12/13
2.3K0
SSL证书自动化-acme实战(Let’s Encrypt)
Let’s Encrypt 官方推荐 Certbot 工具快速部署 SSL 证书
Let’s Encrypt免费 SSL 证书已经受到了包括 FireFox、Chrome 在内的众多主流浏览器的兼容和支持,目前国内的应用主要是提现在各大电商网站和门户网站上,可以提高访问和交易安全性。很多外贸公司网站也使用是因为 google 已经明确表示有提供 SSL 证书将会是一个加分因素。那么对于我们广大站长来说,也许将来某一天你的网站就需要添加这么一个 SSL 证书。 给网站添加 SSL 证书的方式有很多,老魏以后会分别写教程。今天魏艾斯博客(www.vpsss.net)说一下Let’s Encr
魏艾斯博客www.vpsss.net
2018/06/01
2.2K0
certbot免费证书-1:centos7部署并申请免费证书certbot
我们需要在zenlayer,aws-lb上配置certbot证书,因为是免费的,便宜。
千里行走
2022/08/31
1.9K0
certbot免费证书-1:centos7部署并申请免费证书certbot
使用Let's Encrypt免费证书实现https
Let's Encrypt是一家免费、开放、自动化的证书颁发机构(CA),为公众的利益而运行(由非盈利组织互联网安全研究小组(ISRG)运营)。
极客运维圈
2020/06/01
1.8K0
使用Let's Encrypt免费证书实现https
Linux服务器上Tomcat配置SSL证书并自动续期
2.lets encrypt官网地址:https://letsencrypt.org
JaneYork
2023/10/11
6660
Linux服务器上Tomcat配置SSL证书并自动续期
啊,原来申请数字证书这么简单
数字证书在公开密码算法中扮演着重要的角色,可用于数字签名、密钥协商、身份认证等等。如果要部署 HTTPS 网站,首先就要申请数字证书。
云水木石
2021/04/22
8590
Linux 下 Nginx 安装部署 Let’s Encrypt 证书实现 HTTPS
网站转成https是大势所趋。但是在国内,推进的过程显然要比国外慢很多。现阶段如果将自己的网站改成https以后,会碰到这样的尴尬现象:如果在页面上引用了http://的链接或者图片,用户在浏览器上会看到类似该网站是非安全网站的警告,对于网站运营者来说可以说非常冤。由于很多链接是第三方的,没有办法去控制。
星哥玩云
2022/07/14
3.4K0
Linux  下 Nginx 安装部署 Let’s Encrypt 证书实现 HTTPS
如何使用Certbot独立模式检索我们在Ubuntu 18.04上加密SSL证书
Let's Encrypt是一种通过自动API提供免费SSL证书的服务。最受欢迎的Let's Encrypt客户端是EFF的Certbot。
丰一川
2018/10/25
1.6K0
相关推荐
Nginx配置使用certbot自动申请HTTPS证书
更多 >
LV.1
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档